Đồ án Ứng dụng công nghệ hướng đối tượng vào thiết kế phần mềm

Sau một thời gian tìm hiểu, nghiên cứu và thực hiện đề tài, đồ án đã đạt được một số kết quả nhất định: • Đã khảo sát các bước cơ bản trong quy trình phát triển phần mềm hướng đối tượng. Trên cơ sở đó, sử dụng một quy trình cụ thể để áp dụng vào phát triển hệ thống kiểm soát cửa vào ra. • Phân tích thiết kế hệ thống thông tin quản lý cửa vào ra. • Cài đặt một số một số module thử nghiệm mô phỏng hệ thống. Tuy nhiên, do thời gian hạn chế, lại đi theo hướng phát triển mới, cùng một lúc phải tìm hiểu kiến thức liên quan đến nhiều lĩnh vực như ngôn ngữ UML, công cụ Rational Rose và các khái niệm liên quan khác nên đồ án chắc chắn còn nhiều thiếu sót, rất mong nhận được sự chỉ bảo, góp ý của các thầy cô cũng như các bạn. Hướng phát triển UML là ngôn ngữ mô hình hoá rất rộng, bên cạnh phần lý thuyết đã được trình bày, UML còn có nhiều ứng dụng rất đa dạng như các ứng dụng mô hình hóa hệ thống thời gian thực, các ứng dụng trên web Trên cơ sở các phần đã nghiên cứu đề tài có một số hướng phát triển tiếp sau: • Tiếp tục nghiên cứu sâu về phương pháp phân tích thiết kế hướng đối tượng. • Khai thác tối đa sức mạnh của công cụ Rational Rose • Hoàn thiện và mở rộng hệ thống Kiểm soát cửa vào ra. Một lần nữa em xin chân thành cảm ơn Cô Nguyễn Thị Phương Trà và thầy Đặng Văn Đức cùng toàn thể quý thầy cô đã tận tình chỉ bảo và giảng dạy cho em trong suốt thời gian qua.

doc77 trang | Chia sẻ: oanh_nt | Lượt xem: 1387 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng công nghệ hướng đối tượng vào thiết kế phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tượng. Ngoài ra trong biểu đồ lớp, Stereotype là cơ chế để phân nhóm lớp. Lớp biên (boundary class), Lớp thực thể (Entity class), Lớp điều khiển (Control class). Biểu đồ chuyển trạng thái (state transition diagram) Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ khi nó được sinh ra đến khi bị phá huỷ. Biểu đồ cung cấp cách thức mô hình hoá các trạng thái khác nhau của đối tượng. Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp và quan hệ thì biểu đồ chuyển trạng thái được sử dụng để mô hình hoá các hành vi động của hệ thống, chỉ ra hành vi động của đối tượng. Thông thường không tạo lập biểu đồ chuyển trạng thái cho mọi lớp mà chỉ cho các lớp phức tạp. Biểu đồ chuyển trạng thái bao gồm các thông tin về các trạng thái khác nhau của đối tượng, thể hiện các đối tượng chuyển đổi từ trạng thái này sang trạng thái khác thế nào. Biểu đồ trạng thái có điểm khởi đầu (hình tròn đen) và vài điểm kết thúc (hình tròn đen có đường bao). Các hoạt động trong biểu đồ thì được đặt trong chữ nhật góc tròn. Biểu đồ hoạt động (Activity diagram) Biểu đồ hoạt động là một dạng đặc biệt của biểu đồ trạng thái, nó chỉ ra một luồng các hoạt động diễn ra từ hoạt động này đến hoạt động khác. Biểu đồ hoạt động hướng đến khung nhìn của hệ thống. Biểu đồ thành phần (Component diagram) Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình. Cho ta thấy các thành phần phần mềm trong hệ thống và quan hệ giữa chúng. Có hai loại thành phần đó là thành phần khả thực và thư viện. Biểu đồ thành phần là biểu đồ UML hiển thị các thành phần của hệ thống và phụ thuộc giữa chúng. Biểu đồ triển khai (Deployment diagram) Biểu đồ triển khai chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu. Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ở đâu. Kiến trúc hệ thống trong UML Kiến trúc hệ thống phần mềm được mô tả bằng các khung nhìn. Các khung nhìn ánh xạ vào tổ chức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh cụ thể của hệ thống. Khung nhìn thiết kế Khung nhìn tiến trình Khung nhìn hiện thực Khung nhìn triển khai Khung nhìn trường hợp sử dụng Kiến trúc hệ thống Khung nhìn trường hợp sử dụng (UC view) Khung nhìn UC mô tả các chức năng, hành vi và nhiệm vụ của hệ thống. Khung nhìn này thể hiện mọi yêu cầu của hệ thống, do vậy khung nhìn này luôn đứng trước mọi khung nhìn khác, được sử dụng để điều khiển, thúc đẩy và thẩm định các công việc của tất cả các giai đoạn trong quá trình phát triển phần mềm. Khung nhìn thiết kế (Design view) Khung nhìn thiết kế của một hệ thống biểu diễn tổ chức logic các lớp và các quan hệ của chúng với nhau. Khung nhìn này mô tả cấu trúc tĩnh của các lớp, các đối tượng và sự liên kết của chúng thể hiện mối liên kết động thông qua trao đổi các thông điệp và được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác. Khung nhìn thiết kế tập trung vào cấu trúc của hệ thống, từ đó nhận biết được các bộ phận cơ bản cấu thành hệ thống và thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống. Khung nhìn cài đặt (Implemetation view) Khung nhìn cài đặt hay còn gọi là khung nhìn thành phần, khung nhìn thực hiện bao gồm các thành phần và các file được sử dụng để kết hợp và đưa ra các hệ thống vật lý. Khung nhìn thành phần bao gồm thành phần, biểu đồ thành phần và gói trong đó một vài thành phần là thư viện còn một số khác là mã trình khả thực (.exe) và thư viện (.dll). Người quan tâm đến khung nhìn này là người có trách nhiệm quản lý mã trình, dịch chương trình và triển khai ứng dụng. Khung nhìn triển khai (Employment view) Khung nhìn này tập trung vào phân bổ vật lý của tài nguyên và phân bổ nhiệm vụ giữa các tài nguyên. Liên quan đến triển khai vật lý của hệ thống, khác với kiến trúc logic. Khung nhìn tiến trình (Process view) Biểu diễn phân tách các luồng thực hiện chương trình, đồng bộ giữa các luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác nhau. Khung nhìn triến trình tập trung vào các nhiệm vụ tương tranh với nhau như thế nào trong hệ thống đa nhiệm. Trong biểu đồ của Rose không có khung nhìn này. Giới thiệu tiến trình RUP (Rational Unified Process) RUP là gì? RUP là quy trình công nghệ phần mềm được phát triển bởi hãng Rational. RUP hỗ trợ các hoạt động giữa các nhóm, phân chia công việc cho từng thành viên trong nhóm, trong từng giai đoạn khác nhau của quá trình phát triển phần mềm. RUP sử dụng hệ thống ký hiệu trực quan của UML và cũng được phát triển song song với UML. Một tiến trình là tập hợp có thứ tự các bước nhằm đạt được một mục đích có nghĩa là chuyển giao sản phẩm phần mềm phù hợp với yêu cầu nghiệp vụ một cách hiệu quả. UML là một tiến trình độc lập, có thể sử dụng kết hợp với một số tiến trình kỹ nghệ phần mềm. RUP là một cách tiếp cận hướng đối tượng phù hợp với UML. Mục đích của RUP là cho phép tạo ra sản phẩm phần mềm tốt nhất phù hợp với yêu cầu của người sử dụng với nguồn tài chính và kế hoạch có thể dự tính trước. RUP thâu tóm một số áp dụng phát triển phần mềm tốt nhất hiện nay theo hình thức có thể làm thích hợp cho một phạm vi rộng các dự án và các tổ chức. Về phía quản lý, RUP cung cấp một cách tiếp cận có quy tắc về cách phân công công việc và gán trách nhiệm trong một tổ chức phát triển phần mềm. Đặc điểm của RUP RUP là một quy trình công nghệ phần mềm hoàn chỉnh, hỗ trợ tăng năng suất làm việc theo nhóm. RUP là một tiến trình lặp. Đối với các hệ thống đơn giản, việc xác định toàn bộ vấn đề, thiết kế toàn bộ giải pháp, xây dựng phần mềm và kiểm thử sản phẩm cuối cùng có thể đươc thực hiện một cách đầy đủ. Tuy nhiên, đối với các hệ thống phức tạp thì việc tiếp cận trực tiếp để phát triển hệ thống là rất khó thực hiện. Hệ thống được xây dựng dựa vào cách tiếp cận lặp thông qua các chu kỳ là rất linh hoạt. Ngoài ra nó cũng cho phép nhận và giải quyết rủi ro sớm hơn trước và là một tiến trình có thể tuỳ biến. RUP có khả năng tạo, duy trì và quản lý các loại mô hình. Các hoạt động của RUP tập trung vào việc tạo ra và bảo trì các mô hình hơn là các tài liệu trên giấy để cực tiểu hoá sự kết hợp việc tạo ra và bảo trì các tài liệu và đồng thời làm cực đại hoá nội dung các thông tin liên quan. Các mô hình, đặc biệt là các mô hình được đặc tả bằng UML, nó cung cấp sự biểu diễn giàu ngữ nghĩa cho các phần mềm đang phát triển. Việc phát triển phần mềm theo RUP là lấy kiến trúc hệ thống làm trung tâm. Quá trình tập trung vào sự phát triển trước và dựa trên một kiến trúc phần mềm. Các hoạt động trong RUP được điều khiển bởi trường hợp sử dụng. RUP đặt sự quan tâm đặc biệt tới việc xây dựng các hệ thống dựa trên sự hiểu biết về hệ thống được chuyển giao sẽ hoạt động như thế nào. Các kí hiệu của trường hợp sử dụng và các kịch bản được sử dụng để định ra luồng tiến trình từ việc nắm bắt yêu cầu đến việc kiểm thử và để cung cấp các đường đi có thể lần vết thông qua sự phát triển đến hệ thống được chuyển giao. RUP có hướng sử dụng ngôn ngữ UML, hỗ trợ các kỹ thuật hướng đối tượng. Mỗi mô hình đều hướng đối tượng. Các mô hình RUP dựa trên các khái niệm của các đối tượng, các lớp và mối quan hệ giữa chúng và chúng sử dụng UML như là những ký hiệu chung. RUP được hỗ trợ bởi nhiều công cụ phát triển phần mềm. Và là một quy trình có thể cấu hình được. Mặc dù không có một quá trình đơn nào là thích hợp cho tất cả các tổ chức phát triển phần mềm, nhưng RUP có thể và có thể được chia theo quy mô để phù hợp với các yêu cầu của dự án trong phạm vi từ các đội phát triển phần mềm nhỏ đến các tổ chức phát triển phần mềm lớn. RUP được xây dựng trên một kiến trúc tiến trình đơn giản và rõ ràng, kiến trúc này mang đến sự tương đồng thông qua các tiến trình và chúng có thể thay đổi để thích nghi với các tình huống khác nhau. RUP có chứa hướng dẫn về cách định hình các tiến trình cho phù hợp với nhu cầu của một tổ chức. Vòng đời phát triển phần mềm theo RUP Vòng đời phát triển phần mềm theo RUP được mô tả như sau: RUP được tổ chức theo 2 chiều hay 2 trục: trục hoành và trục tung. - Trục hoành: Tổ chức theo thời gian phát triển dự án, thể hiện khía cạnh động của quy trình. Chu kì, các pha, các quá trình lặp và các cột mốc. - Trục tung: Tổ chức theo nội dung công việc, thể hiện khía cạnh tĩnh của quy trình. Hình 12. Vòng đời phát triển phần mềm RUP xác định sáu luồng công việc chính: Mô hình hoá nghiệp vụ Mục đích của luồng công việc này là phát triển một mô hình nghiệp vụ. Ý tưởng là đem lại hiểu biết tốt hơn về toàn bộ quá trình nghiệp vụ sao cho ứng dụng phần mềm có thể đáp ứng những quá trình nghiệp vụ này một cách chính xác hơn. Mô hình hoá nghiệp vụ thích hợp nhất trong tình huống mà ở đó hệ thống cần quản lý một lượng lớn thông tin và một nhóm lớn những người liên quan sử dụng nó. Mô hình ca sử dụng nghiệp vụ và mô hình đối tượng nghiệp vụ thông thường được tạo ra như là một phần của luồng công việc mô hình hoá nghiệp vụ. Các yêu cầu Mục đích của luồng công việc này là phát triển sự hiểu biết đầy đủ về các yêu cầu. Ý định là đạt được sự nhất trí với khách hàng cũng như cung cấp các hướng dẫn cho những người phát triển. Mô hình ca sử dụng có thể được tạo ra như một phần của luồng công việc này. Một bản mẫu giao diện người dùng cũng có thể được tạo ra. Phân tích và thiết kế Các yêu cầu thu được trong luồng công việc được phân tích và được chuyển thành bản thiết kế. Một kiến trúc được phát triển để hướng dẵn nỗ lực phát triển còn lại. Mô hình phân tích và thiết kế cũng sẽ được tạo ra. Thực hiện Trong luồng công việc này, bản thiết kế được chuyển sang mã trình thực hiện. Một chiến lược phân hệ thống thành các hệ thống con được phát triển. Kết quả cuối cùng là một tập các thành phần tạo nên sản phẩm được thực hiện và sẽ được kiểm thử. Kiểm thử Là quá trình kiểm tra lại toàn bộ hệ thống xem các yêu cầu đã được đáp ứng chưa, các thành phần đã làm việc như mong đợi chưa, tìm ra các thiếu sót vẫn còn trong sản phẩm. Kết quả chính thức của luồng công việc này là mô hình kiểm thử và những lỗi được phát hiện trong quá trình kiểm thử. Triển khai Luồng công việc này tạo rẩn phẩm sẵn sàng hoạt động cho người sử dụng cuối cùng. Các công việc trong bước này bao gồm việc đóng gói phần mềm, cài đặt, đào tạo người sử dụng, phân phối sản phẩm. Ngoài sáu luồng chính trên, RUP còn hỗ trợ 3 luồng công việc: quản lý cấu hình và những thay đổi, quản lý dự án và môi trường. Chiều còn lại của RUP là thực hiện việc đưa ra cấu trúc cho các bước lặp trong dự án phần mềm. RUP gộp các bước lặp trong bốn pha. Mỗi một pha kết thúc bằng một mốc đánh dấu một vị trí quyết định mức quản lý. Mỗi pha, bước lặp trong một pha luôn có quan hệ đến nhiều luồng công việc. Tuỳ thuộc vào bước lặp xác định, một luồng công việc cụ thể có thể tập trung đối với một pha, trái lại các luồng công việc khác có thể thực hiện vai trò nhỏ hơn trong bước lặp này. Một bước lặp có thể kéo dài hơn trong luồng công việc các yêu cầu, trong khi bước lặp sau có thể kéo dài hơn trong luồng công việc kiểm thử và ngắn hơn trong luồng công việc các yêu cầu. Các pha trong RUP bao gồm: + Pha khởi đầu + Pha chi tiết + Pha xây dựng + Pha chuyển giao Mỗi pha bao gồm một số bước lặp. Mỗi bước lặp là một chu kỳ phát triển hoàn thiện, từ nắm bắt yêu cầu trong phân tích đến thực hiện và kiểm thử. Pha khởi đầu Trong pha này, chúng ta xây dựng các trường hợp nghiệp vụ và xác định phạm vi của dự án. Các trường hợp nghiệp vụ bao gồm điều kiện dành thắng lợi, đánh giá rủi ro, dự báo tài nguyên cần thiết và kế hoạch pha của các mốc chính. Kết thúc pha này, chúng ta xác định mục đích của dự án và đưa ra các bước cần thiết để tiếp tục phát triển dự án. Pha chi tiết Mục đích cảu pha phân tích là phân tích lĩnh vực vấn đề, hình thành nền móng kiến trúc vững chắc, phát triển kế hoạch dự án và loại bỏ những yếu tố rủi ro lớn nhất của dự án. Để đạt được mục đích này, các quyết định kiến trúc phải được xây dựng với sự hiểu biết về toàn bộ hệ thống. Muốn vậy, phải mô tả hầu hết các yêu cầu của hệ thống. Để kiểm tra kiến trúc, cần thực hiện một hệ thống minh hoạ kiến trúc đã chọn và thực hiện các trường hợp sử dụng chính. Kết thúc pha này, chúng ta phải xác định được mục đích chi tiết của hệ thống, phạm vi, sự lựa chọn kiến trúc, giải pháp cho những rủi ro chính, đồng thời đưa ra quyết định xem có tiếp tục xây dựng dự án nữa không. Pha xây dựng Trong pha này, chúng ta phát triển một sản phẩm hoàn thiện sẵn sàng chuyển giao cho người sử dụng. Các việc phải làm trong pha này là mô tả các yêu cầu còn lại và các tiêu chuẩn chấp nhận, bổ sung bản thiết kế, hoàn thiện sự thực hiện và kiểm thử phần mềm. Kết thúc pha này, chúng ta phải xác định xem liệu phần mềm và người sử dụng đã sẵn sàng hoạt động hay chưa. Pha chuyển giao Trong pha này, chúng ta tiến hành triển khai phần mềm tới người sử dụng. Một khi hệ thống được trao cho người sử dụng. Một khi hệ thống được trao cho người sử dụng, các vấn đề thường nảy sinh đòi hỏi phát triển thêm để điều chỉnh hệ thống, làm đúng những vấn đề chưa được phát hiện hoặc loại bỏ những đặc tính đã bị trì hoãn. Pha này bắt đầu bằng phiên bản loại hai của hệ thống, sau đó thì được thay thế bằng hệ thống sản phẩm. Kết thúc pha, chúng ta phải đánh giá xem mục đích của dự án đã thoả mãn chưa và liệu chúng ta có nên bắt đầu một chu kỳ phát triển khác. Giới thiệu phần mềm Rational Rose Rational Rose là phần mềm công cụ mô hình hoá trực quan mạnh hỗ trợ phân tích, thiết kế hệ thống phần mềm theo hướng đối tượng. Nó giúp ta mô hình hoá hệ thống trước khi viết mã trình, nó đảm bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án. Rose hỗ trợ việc mô hình hoá nghiệp vụ, giúp ta hiểu được nghiệp vụ quanh hệ thống chúng ta đang xây dựng. Rose hỗ trợ quá trình phân tích hệ thống bằng cách cho ta thiết kế các ca sử dụng và các biểu đồ ca sử dụng để mô tả chức năng của hệ thống. Rose cho phép thiết kế các biểu đồ tương tác để mô tả các đối tượng làm việc cùng với nhau như thế nào để thực hiện các chức năng hệ thống yêu cầu. Các biểu đồ lớp có thể được tạo ra để mô tả các lớp trong hệ thống và mối quan hệ giữa chúng. Các biểu đồ thành phần có thể được phát triển để minh hoạ cách các lớp ánh xạ thành các thành phần thực hiện như thế nào. Cuối cùng, biểu đồ triển khai có thể được tạo ra để chỉ ra thiết kế mạng cho hệ thống. Mô hình Rose là bức tranh hệ thống, nó bao gồm toàn bộ biểu đồ UML, tác nhân, trường hợp sử dụng, đối tượng, lớp, thành phần và các nút triển khai trong hệ thống. Nó mô tả chi tiết hệ thống bao gồm cái gì và chúng làm việc ra sao để người phát triển hệ thống có thể sử dụng mô hình như kế hoạch chi tiết cho việc xây dựng hệ thống. Rose hỗ trợ giải quyết vấn đề muôn thuở là đội ngũ dự án giao tiếp với khách hàng và làm tài liệu yêu cầu. Theo lập trình truyền thống sau khi đã xác lập yêu cầu hệ thống, người phát triển sẽ lấy một vài yêu cầu, quyết định thiết kế và viết mã trình. Cách làm này dẫn tới nhiều khó khăn nếu muốn hiểu và toàn bộ hệ thống, họ khó thấy được quyết định thiết kế đã được làm trước đó. Nếu không có tài liệu thiết kế thì khó đảm bảo rằng hệ thống được xây dựng đúng là hệ thống mà người sử dụng nghĩ tới. Tuy rằng các yêu cầu được làm tài liệu đầy đủ, nhưng thiết kế chỉ tồn tại trong đầu của người phát triển nào đó, người khác sẽ không có ý tưởng gì về cấu trúc hệ thống. Nếu người phát triển chuyển đi nơi khác thì dự án sẽ gặp nhiều khó khăn. Phong cách khác phát triển hệ thống là sau khi xác định yêu cầu, các thiết kế phải được làm tài liệu chi tiết. Mọi người tham gia phát triển cùng trao đổi quyết định thiết kế trước khi viết mã trình. Do vậy dự án không còn phải lo lắng khi ai đó rời bỏ dự án. Ngoài người phát triển hệ thống quan tâm đến mô hình còn có thành viên khác của dự án đều có thể thu nhận các thông tin cần thiết từ mô hình. Khách hàng và quản lý dự án sử dụng các biểu đồ UC để có cái nhìn bao quát về hệ thống và thống nhất với nhau về phạm vi dự án. Quản lý dự án sử dụng biểu đồ UC và tài liệu để chia nhỏ dự án thành nhiều tiểu dự án có thể quản lý được. Thông qua tài liệu UC, các phân tích viên và khách hang thấy được các chức năng hệ thống sẽ cung cấp. Thông qua tài liệu UC, người làm tài liệu kỹ thuật có thể bắt đầu viết hướng dẫn sử dụng và kế hoạch huấn luyện sử dụng. Các phân tích viên và người phát triển, thông qua biểu đồ trình tự và cộng tác, thấy được logic mà hệ thống tuân thủ, các đối tượng trong hệ thống và các thông điệp giữa các đối tượng. Đội ngũ kiểm tra chất lượng thu thập thông tin thông qua tài liệu UC và các biểu đồ tương tác để viết mô tả kiểm tra hệ thống. Người phát triển sử dụng biểu đồ lớp, biểu đồ biến đổi trạng thái để có cái nhìn chi tiết về các phần hệ thống và chúng có quan hệ với nhau như thế nào. Đội ngũ triển khai sử dụng các biểu đồ thành phần và biểu đồ triển khai để thấy được các tệp khả thực (.exe), (.dll) và các thành phần khác cần được tạo lập, các thành phần này được triển khai trên mạng như thế nào. Toàn bộ đội ngũ dự án sử dụng mô hình để đảm bảo rằng các yêu cầu có thể được chuyển sang mã trình và ngược lại, mã trình có thể được chuyển trở lại yêu cầu hệ thống. Rational Rose còn hỗ trợ phát sinh mã khung chương trình trong nhiều ngôn ngữ lập trình như C++, Visual Basic, Java, XML… Bên cạnh đó còn hỗ trợ các nhà phân tích, thiết kế trong các lĩnh vực sau: Tổ chức mô hình hệ thống thành một hoặc nhiều tệp, được gọi là đơn vị điều khiển và cũng cho phép phát triển song song các đơn thể điều khiển của mô hình. Cho phép sao chép hay dịch chuyển các tệp mô hình, các đơn vị điều khiển giữa các không gian làm việc khác nhau theo cơ chế ánh xạ đường dẫn ảo. Cho phép quản lý mô hình và tích hợp với những hệ thống điều khiển chuẩn, cung cấp bộ tích hợp mô hình để so sánh và kết hợp mô hình, các đơn vị điều khiển với nhau. CHƯƠNG 3. PHÁT TRIỂN HỆ THỐNG KIỂM SOÁT CỬA VÀO RA 3.1. Giới thiệu bài toán 3.1.1. Mô tả bài toán Hệ thống quản lý vào ra của một toà nhà được mô tả như sau: Một toà nhà 4 tầng với tổng diện tích khoảng 5000 m2. Toà nhà được chia làm 5 khu vực như sau: hai khu vực để nghiên cứu, một để thí nghiệm, một là khu vực dành cho người quản lý, khu trung tâm gồm các phòng học và hai hội trường lớn. Toà nhà này có thể chứa khoảng 500 người vào ra mỗi ngày trong đó phần lớn là sinh viên, giáo viên, nhà nghiên cứu, quản lý, nhân viên hành chính, làm việc chuyên môn và đông đảo khách đến làm việc, tham quan. Sau khi có rất nhiều đồ đạc bị mất, ban quản lý toà nhà đã quyết định hạn chế việc đi lại trong toà nhà bằng cách dùng cửa tự động bằng hệ thống máy tính. Việc đóng mở cửa được kiểm soát tự động bằng máy đọc thẻ đặt gần cửa. Thẻ này chỉ được cấp cho những người cần đi qua các khu vực để làm việc. Quyền đi lại được phân phối theo nhóm người và nhóm cửa. Mỗi người và mỗi cửa phải luôn thuộc về một nhóm nào đó, và là một thành viên của nhóm đó, thậm chí chỉ có một người thuộc nhóm đó. Một nhóm cửa có thể bao gồm nhiều cửa phân bố khắp toàn nhà nhưng việc quản lý vào ra thì chỉ có nhóm cửa là quan trọng còn đường đi và những dịch chuyển xung quanh là không được kiểm soát. Một cửa không thể là thành viên của hơn một nhóm. Tuy nhiên một người thì có thể là thành viên của vài nhóm khác nhau. Vì thế quyền vào cửa của họ là sự kết hợp quyền trong nhóm mà họ thuộc về. Quyền truy nhập được thiết lập dựa trên mỗi nhóm người và các nhóm cửa dưới sự ràng buộc về thời gian. Quyền này được thiết lập trong chu kỳ một năm với lịch biểu được lập cho từng tuần. Sẽ có một số ít quyền vượt quá thời gian quy định, lịch biểu được lập theo tuần điển hình và quyền trong tuần đó là không thay đổi. Người quản lý có thể tạo lập nhiều tuần điển hình mà họ muốn và tiếp theo sẽ tự động thay đổi các lịch sử dụng chúng. Mặt khác việc thay đổi lịch biểu bao gồm các ngày nghỉ lễ, tết không ảnh hưởng tới tuần điển hình. B¶ng sau tr×nh bµy mét tuÇn ®iÓn h×nh. Nh÷ng vïng mµu x¸m t­¬ng øng víi c¸c kho¶ng thêi gian kh«ng cho phÐp ®i vµo. Thø hai Thø ba Thø t­ Thø n¨m Thø s¸u Thø b¶y Chñ nhËt 00 01 01 02 ... ... 06 07 07 08 08 09 ... ... 21 22 22 23 23 24 HÖ thèng kiÓm so¸t vµo ra ph¶i vËn hµnh cµng ®éc lËp cµng tèt, mÆc dï ng­êi ®iÒu hµnh ph¶i chÞu tr¸ch nhiÖm vÒ viÖc cÊu h×nh lóc ban ®Çu vµ cËp nhËt c¸c mÈu th«ng tin ®a d¹ng cho phÐp ®Þnh râ nhãm ng­êi vµ cöa. §éi b¶o vÖ cã mét mµn h×nh kiÓm so¸t, vµ ®­îc th«ng b¸o vÒ bÊt kú nh÷ng cè g¾ng më cöa kh«ng thµnh c«ng. B¸o ®éng ®­îc truyÒn ®i víi sù tr× ho·n ng¾n: th«ng tin ®­îc cËp nhËt trªn mµn h×nh kiÓm so¸t tõng phót mét. Giao diÖn ng­êi dïng ph¶i trî gióp hä ®Þnh râ c¸c yªu cÇu mét c¸ch chÝnh x¸c. Nh÷ng yªu cÇu hîp lÖ vµ c¸c gi¸ trÞ ®­a vµo ®­îc ®äc tõ danh s¸ch mét c¸ch cã hÖ thèng vµ gióp x¸c ®Þnh miÒn gi¸ trÞ hîp lÖ 3.1.2 Xác định chức năng nghiệp vụ 3.1.2.1. Cấu hình Chức năng này được thực hiện bởi người (quản lý) khi họ đăng nhập vào hệ thống . Đăng nhập hệ thống: Quản lý đăng nhập vào hệ thống, nhập user và password, hệ thống kiểm tra và nhận dạng, nếu thành công hệ thống sẽ tự động kết nối. Cập nhật, sửa đổi thông tin cửa vào ra: Sau khi đăng nhập vào hệ thống thành công. Quản lý yêu cầu hệ thống đưa ra danh sách cửa trong toà nhà, hệ thống hiển thị. Quản lý chọn cửa, hệ thống hiển thị thông tin cửa bao gồm: trạng thái (hoạt động hay không), thời gian cửa mở, chỉ một người được phép qua cửa trong khoảng thời gian cửa mở. Quản lý sửa thông tin, hệ thống ghi nhận thông tin. Cập nhật, sửa đổi thông tin nhóm cửa: Quản lý yêu cầu hiển thị danh sách nhóm cửa. Sau đó lựa chọn một nhóm cửa. Hệ thống hiển thị thông tin bao gồm: Tên nhóm, danh sách cửa trong nhóm, danh sách nhóm người được chấp nhận truy nhập. Quản lý sửa đổi thông tin. Hệ thống ghi nhận thông tin. Cập nhật người dùng: Quản lý yêu cầu danh sách người dùng. hệ thống hiển thị tất cả những người đã đăng kí vào hệ thống. Quản lý chon người, Hệ thống hiển thị thông tin bao gồm: Họ, tên, số điện thoại, số thẻ, danh sách nhóm mà người đó là thành viên. Quản lý cập nhật thông tin. Và hệ thống ghi nhận thông tin. Cập nhật thông tin nhóm người: Hệ thống hiển thị tất cả nhóm theo yêu cầu. quản lý chọn nhóm, hệ thống hiển thị thông tin sau: Tên nhóm, danh sách thành viên nhóm, danh sách nhóm được truy nhập. quản lý cập nhật và hệ thống ghi nhận thông tin. Tìm kiếm người dựa vào thẻ: Quản lý nhập số thẻ cần tìm, hệ thống hiển thị thông tin về người đó bao gồm: họ, tên, số điện thoại, số thẻ, danh sách nhóm của người đó. Tìm kiếm cửa mà một người được phép vào/ra: quản lý chọn người mà hệ thống hiển thị, hệ thống hiển thị danh sách cửa mà người đó được phép, sau đó chọn một cửa, hệ thống hiển thị thông tin cửa: Trạng thái cửa, khoảng thời gian mở cửa … Tìm kiếm nhóm người: Quản lý yêu cầu hệ thống đưa ra danh sách người sau đó chọn ra một người, hệ thống hiển thị danh sách nhóm có chứa người đó. Tìm kiếm người thuộc về một nhóm: Quản lý chọn ra một nhóm hệ thống hiển thị ra màn hình danh sách những người trong nhóm đó. Cập nhật, sửa đổi thông tin nhóm người được phép truy nhập vào một nhóm cửa: Quản lý yêu cầu một danh sách nhóm người, hệ thống hiển thị tất cả các nhóm, quản lý chọn ra một nhóm và nhận được thông tin: Tên nhóm, danh sách thành viên nhóm và danh sách nhóm cửa được phép truy nhập. Quản lý chọn một nhóm cửa từ danh sách, hệ thống hiển thị thông tin: lịch mở cửa theo tuần, thời gian cho phép. Sửa đổi thông tin và hệ thống ghi nhận. Sửa đổi thông tin tuần điển hình: yêu cầu danh sách các tuần điển hình, chọn ra một tuần với các thông tin hiển thị: Tên tuần, mô tả tuần, các ngày trong tuần được chia ra thành khoảng thời gian, tình trạng truy nhập. Sửa đổi và ghi nhận. Hiển thị quyền truy nhập cho từng người và từng cửa: yêu cầu danh sách tất cả các cửa và tất cả mọi người, hệ thống hiển thị theo yêu cầu và chọn cửa và chọn người, hệ thống hiển thị thông tin: Lịch mở cửa trong tuần, thời gian cho phép. 3.1.2.2. Theo dõi và giám sát Chức năng này bao gồm các bước chủ yếu của quá trình theo dõi và kiểm tra và được thực hiện bởi những người bảo vệ của toà nhà. Đăng nhập hệ thống: Bảo vệ đăng nhập vào hệ thống. hệ thống xác minh và kết nối. Báo cáo công việc: Bảo vệ chỉ rõ ngày bắt đầu và kết thúc để đề nghị sắp xếp. Bảo vệ yêu cầu: hệ thống hiển thị sự kiện theo lịch biểu, bảo vệ lựa chọn một cách hiển thị. Lọc bỏ sự kiện: Bảo vệ xác định thời gian bắt đầu và kết thúc để lọc bỏ. Hệ thống loại bỏ sự kiện được xác định. Báo cáo báo động: Bảo vệ xác định thời gian trì trệ trong vòng 60 phút, cho đến khi hệ thống hoạt động bình thường và có báo động mới. Mở cửa: bảo vệ yêu cầu danh sách cửa, hệ thống hiển thị và bảo vệ chọn cửa. hệ thống hiển thị thông tin: Trạng thái cửa, số người trong phòng, sự việc xảy ra. Bảo vệ phá cửa để mở, hệ thống ghi nhận sự việc đó. Báo cháy: Khi hệ thống phát hiện ở nơi nào đó có sự cố hoả hoạn thì hệ thống tự động mở tất cả các cửa. 3.1.2.3. Truy nhập vào ra Chức năng này được thực hiện bởi người sử dụng thẻ. Một người muốn vào cửa, họ dùng thẻ truy nhập vào hệ thống, hệ thống xác định có được phép hay không, nếu thành công thì mở cửa và người đó được phép qua. Bảng chức năng nghiệp vụ: Chức năng Phân loại R1: Cấu hình R1.1 Nhận dạng R1.1.1 Kiểm tra và nhân dạng R1.1.2 Kết nối hệ thống R1.2 Cập nhật thông tin cửa vào ra R1.2.1 Chọn cửa R1.2.2 Cập nhật thông tin R1.3 Cập nhật thông tin nhóm cửa R1.4 Cập nhật thông tin người R1.5 Cập nhật thông tin nhóm người R1.6 Tìm kiếm người dựa vào thẻ R1.7 Tìm kiếm cửa một người được phép qua R1.8 Tìm kiếm nhóm người R1.9 Tìm kiếm người thuộc về một nhóm R1.10 Cập nhật thông tin nhóm người được phép vào một nhóm cửa R1.11 Cập nhật thông tin tuần điển hình R1.12 Cho hiển thị quyền truy nhập vào hệ thống cho người và cửa. R2: Theo dõi và giám sát cửa vào ra R2.1 Nhận dạng R2.2 Báo cáo công việc R2.3 Loại bỏ sự việc R2.4 Báo cáo báo động R2.5 Mở cửa R2.6 Báo cháy R3: Truy nhập hệ thống R3.1 Hình 13. Bảng tổng kết các chức năng hệ thống 3.2. Mô hình trường hợp sử dụng 3.2.1. Xác định tác nhân Các tác nhân chính tham gia vào hệ thống bao gồm: Người sử dụng thẻ: Là người được cấp thẻ để có thể đi qua các cửa của toà nhà. Bảo vệ: là người giám sát theo dõi hoạt động của những người qua cửa Quản lý hệ thống: Là người giám sát hoạt động của hệ thống, điều hành hệ thống, có thể cập nhật mọi thông tin của hệ thống về người và cửa vào ra. 3.2.2. Xác định trường hợp sử dụng Hoạt động của hệ thống được mô tả bởi biểu đồ các trường hợp sử dụng sau: Hình 14. Biểu đồ trường hợp sử dụng hệ thống 3.2.3. Mô tả chi tiết trường hợp sử dụng 3.2.3.1. Trường hợp sử dụng “Cấu hình” Trường hợp sử dụng này được người sử dụng khi đăng nhập vào hệ thống để nhận dạng người, cửa và cập nhật thông tin, tìm kiếm thông tin mà họ cần quan tâm. Được mô tả như biểu đồ sau: Hình 15. Biểu đồ trường hợp sử dụng “Cấu hình” 1. Trường hợp sử dụng “Đăng nhập hệ thống” Tên : Đăng nhập hệ thống Tác nhân: Người quản lý Mục đích: Kiểm tra nhận dạng người đăng nhập vào hệ thống. Mô tả khái quát: Người quản lý đăng nhập vào hệ thống để hệ thống nhận dạng và kết nối cho phép người thực hiện nhiệm vụ. Chức năng tham chiếu: R1.1.1. R1.1.2 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý đăng nhập vào hệ thống 1. Hệ thống nhận dạng và kết nối. Người quản lý Ngoại lệ: Nếu đăng nhập không thành công thì hệ thống yêu cầu đăng nhập lại. 2. Trường hợp sử dụng “Cập nhật thông tin cửa vào ra” Tên: Cập nhật thông tin cửa vào ra Tác nhân: Người quản lý Mục đích: Người có thể thêm, sửa, xoá thông tin về cửa vào ra. Mô tả khái quát: Người vào hệ thống và hệ thống nhận dạng, nếu thành công thì hệ thống kết nối và cho phép người thực hiện quyến của mình. Chức năng tham chiếu: R1.2.1,R1.2.2 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liênquan 1. Người quản lý yêu cầu danh sách cửa 2. Hệ thống hiển thị danh sách cửa Danh mục các cửa 3. Người quản lý chọn một cửa 4. Hệ thống đưa ra thông tin chi tiết của cửa đó Thông tin cửa 5. Người quản lý sửa đổi thông tin. 6. Hệ thống ghi nhận thông tin đã được sửa đổi. 3. Trường hợp sử dụng “Cập nhật thông tin Nhóm cửa” Tên: Cập nhật thông tin nhóm cửa Tác nhân: Người quản lý Mục đích: Sửa đổi thông tin của nhóm cửa nào đó. Mô tả khái quát: Người quản lý kết nối vào hệ thống, yêu cầu hệ thống hiển thị danh sách các nhóm cửa, sau đó chọn ra một nhóm cửa và sửa đổi thông tin. Chức năng tham chiếu: R1.3 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu hệ thống hiển đưa ra danh sách nhóm cửa 2. Hệ thống hiển thị danh sách nhóm cửa Danh sách nhóm cửa 3. Người quản lý chọn một nhóm. 4. Hệ thống hiển thị thông tin nhóm Thông tin nhóm cửa 5. Người quản lý sửa đổi thông tin. 6. Ghi nhận thông tin vừa sửa. 4. Trường hợp sử dụng “Cập nhật thông tin từng người” Tên: Cập nhật thông tin từng người Tác nhân: Người quản lý Mục đích: Người quản lý có thể thay đổi thông tin của từng người Mô tả khái quát: Người quản lý vào hệ thống, yêu cầu hệ thống đưa ra một danh sách người vào ra. Hệ thống hiển thị danh sách, chọn ra một người và sửa đổi thông tin. Chức năng tham chiếu:R1.4 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách tất cả mọi người 2. Hệ thống hiển thị danh sách Danh sách người 3. Người quản lý chọn một người 4. Hệ thống hiển thị thông tin của người đó Thông tin từng người. 5. Người quản lý sửa đổi thông tin người đó 6. Hệ thống ghi nhận 5. Trường hợp sử dụng “Cập nhật thông tin nhóm người” Tên: Cập nhật thông tin nhóm người Tác nhân: Người quản lý Mục đích: Người có thể thay đổi thông tin nhóm người Mô tả khái quát: Người yêu cầu danh sách nhóm người, hệ thống hiển thị thông tin chi tiết và người sửa đổi thông tin. Chức năng tham chiếu: R1.5 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu hệ thống đưa ra danh sách nhóm người 2. Hệ thống hiển thị danh sách nhóm người Danh sách nhóm người 3. Người quản lý chọn một nhóm 4. Hệ thống hiển thị thông tin nhóm người đó Thông tin nhóm 5. Người quản lý sửa đổi thông tin 6. Hệ thống ghi nhận thông tin 6. Trường hợp sử dụng “Tìm kiếm người dựa trên thẻ” Tên: Tìm kiếm người dựa trên thẻ Tác nhân: Người quản lý Mục đích: Người quản lý có thể biết thông tin của một người dựa vào thẻ của họ Mô tả khái quát: Người quản lý nhập số thẻ, hệ thống hiển thị thông tin củangười sở hữu thẻ đó. Chức năng tham chiếu: R1.6 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý nhập số thẻ vào hệ thống 2. Hệ thống hiển thị ra màn hình thông tin của người đó Thông tin người sử dụng thẻ 7. Trường hợp sử dụng “Tìm kiếm cửa mà một người được quyền truy nhập” Tên: Tìm kiếm cửa Tác nhân: Người quản lý Mục đích: Người quản lý tìm xem những cửa nào mà mỗi người được phép đi qua Mô tả khái quát: Người quản lý yêu cầu hệ thống hiển thị danh sách người, sau đó chọn ra một người, hệ thống sẽ hiển thị những cửa mà họ được qua với đầy đủ thông tin chi tiết. Chức năng tham chiếu: R1.7 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách người 2. Hệ thống hiển thị danh sách Danh sách người 3. Người quản lý chọn một người 4. Hệ thống hiển thị danh sách cửa Danh sách cửa 5. Người quản lý chọn một cửa 6. Hệ thống hiển thị thông tin chi tiết của cửa đó 8. Trường hợp sử dụng “Tìm kiếm nhóm người” Tên: Tìm kiếm nhóm người Tác nhân: Người quản lý Mục đích: Người quản lý có thể tìm kiếm nhóm người mà họ muốn Mô tả khái quát: Người quản lý yêu cầu danh sách người, hệ thống hiển thị tất cả mọi người, sau đó người chọn một người, hệ thống hiển thị danh sách nhóm có người đó. Chức năng tham chiếu: R1.8 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách người 2. Hệ thống hiển thị danh sách người Danh sách người 3. Người quản lý chọn một người 4. Hệ thống hiển thị danh sách nhóm của họ Danh sách nhóm 9. Trường hợp sử dụng “Tìm kiếm người thuộc một nhóm” Tên: Tìm kiếm người thuộc một nhóm Tác nhân: Người quản lý Mục đích: Người quản lý biết được những người trong nhóm. Mô tả khái quát: Người quản lý yêu cầu danh sách nhóm người, hệ thống hiển thị tất cả các nhóm, người chọn một nhóm va hệ thống hiển thị danh sách thành viên của nhóm đó. Chức năng tham chiếu: R1.9 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách nhóm người 2. Hệ thống hiển thị danh sách nhóm người Danh sách nhóm người 3. Người quản lý chọn một nhóm 4. Hệ thống hiển thị danh sách những thành viên trong nhóm đó Danh sách thành viên 10. Trường hợp sử dụng “Sửa đổi thông tin nhóm người truy nhập vào nhóm cửa” Tên: Sửa đổi thông tin nhóm người truy nhập vào nhóm cửa. Tác nhân: Người quản lý Mục đích: Người quản lý sửa đổi thông tin nhóm người nào được vào nhóm cửa nào. Mô tả khái quát: Người quản lý yêu cầu hệ thống đưa ra danh sách nhóm người, hệ thống hiển thị theo yêu cầu, người chọn một nhóm, hệ thống hiển thị thông tin chi tiết nhóm đó và sau đó lại chọn một nhóm cửa từ danh sách và sửa đổi. Chức năng tham chiếu: R1.10 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách nhóm người 2. Hệ thống hiển thị danh sách nhóm người Danh sách nhóm người 3. Người quản lý chọn một nhóm người 4. Hệ thống hiển thị thông tin nhóm đó Thông tin nhóm người 5. Người quản lý chọn một nhóm cửa 6. Hệ thống hiển thị thông tin nhóm cửa Thông tin nhóm cửa 7. Người quản lý sửa đổi thông tin 8. Hệ thống ghi nhận thông tin 11. Trường hợp sử dụng “Cập nhật thông tin tuần điển hình” Tên: Cập nhật thông tin tuần điển hình Tác nhân: Người quản lý Mục đích: Người quản lý có thể sửa đổi tuần điển hình mà họ muốn Mô tả kháiquát: Người quản lý yêu cầu danh sách tuần điển hình, hệ thống hiển thị tất cả các tuần, người chọn một tuần, hệ thống hiển thị thông tin tuần đó, người sửa đổi thông tin. Chức năng tham chiếu: R1.11 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người quản lý yêu cầu danh sách tuần điển hình 2. Hệ thống hiển thị danh sách tuần điển hình Danh sách tuần điển hình 3. Người quản lý chọn một tuần 4. Hệ thống hiển thị thông tin tuần đó Thông tin tuần điển hình 5. Người quản lý sửa đổi thông tin 6. Hệ thống ghi nhận thông tin 12. Trường hợp sử dụng “Hiển thị quyền truy nhập của người và cửa” Tên: Hiển thị quyền truy nhập của người và cửa Tác nhân: Người quản lý Mục đích Hiển thị thông tin về quyền theo yêu cầu Mô tả khái quát: Người quản lý yêu cầu hệ thống hiển thị danh sách cửa và người, hệ thống hiển thị theo yêu cầu. Người chọn một cửa và một người, hệ thống hiển thị thông tin Chức năng tham chiếu: R1.12 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1.Người quản lý yêu cầu hệ thống đưa ra danh sách người và cửa 2. Hệ thống hiển thị danh sách cửa Danh sách cửa 3. Người quản lý chọn cửa 4. Hệ thống hiển thị danh sách người Danh sách người 5. Người quản lý chọn người 6. Hệ thống hiển thị thông tin quyền truy nhập 3.2.3.2. Trường hợp sử dụng “Theo dõi và giám sát” Trường hợp sử dụng này được thực hiện bởi Bảo vệ. Được mô tả biểu đồ sau: Hình 16. Biểu đồ trường hợp sử dụng “Theo dõi và giám sát” 1. Trường hợp sử dụng “Đăng nhập hệ thống” Tên: Đăng nhập hệ thống Tác nhân: Bảo vệ Mục đích: Xác định xem có được phép truy cập vào hệ thống không Mô tả khái quát: Bảo vệ truy nhập vào hệ thống, hệ thống xác minh thông tin và kết nối Chức năng tham chiếu: R2.1 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1.Bảo vệ truy nhập vào hệ thống 2. Hệ thống xác minh danh tính và kết nối Ngoại lệ: Nếu người đó không được quyền thì máy tính không cho phép truy nhập 2. Trường hợp sử dụng “Báo cáo công việc” Tên: Báo cáo công việc Tác nhân: Bảo vệ Mục đích: Báo cáo sự việc diễn ra trong khoảng thời gian nào đó. Mô tả khái quát: Bảo vệ xác định rõ thời gian bắt đầu và kết thúc để có đề nghị sắp xếp. Bảo vệ yêu cầu: hệ thống hiển thị sự việc theo thứ tự thời gian, Bảo vệ lựa chọn sự kiện được hiển thị. Chức năng tham chiếu: R2.2 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Bảo vệ yêu cầu hiển thị sự kiện theo trình tự thời gian 2. Hệ thống hiển thị sự kiện 3. Trường hợp sử dụng “Loại bỏ sự kiện” Tên: Loại bỏ sự kiện Tác nhân: Bảo vệ Mục đích: Mô tả khái quát: Bảo vệ xác định rõ thời gian bắt đầu và kết thúc của thời đoạn loại bỏ. Hệ thống loại bỏ sự kiện phù hợp yêu cầu. Chức năng tham chiếu: R2.3 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Bảo vệ yêu cầu thời gian loại bỏ 2. Hệ thống loại bỏ sự kiện 4. Trường hợp sử dụng “Báo cáo báo động” Tên: Báo cáo báo động Tác nhân: Bảo vệ Mục đích: Báo động các trường hợp xảy ra sự cố Chức năng tham chiếu: R2.4 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Bảo vệ yêu cầu báo động 2. Danh sách báo động 5. Trường hợp sử dụng “Mở cửa ” Tên: Mở cửa Tác nhân: Bảo vệ Mục đích: Mở bằng tay các cửa có sự cố Chức năng tham chiếu: R2.5 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Bảo vệ yêu cầu danh sách các cửa 2. Hiển thị danh sách cửa Danh sách cửa 3. Bảo vệ chọn một cửa 4. Hiển thị thông tin cửa Thông tin cửa 5. Mở cửa 6. Ghi nhận sự kiện 6. Trường hợp sử dụng “Báo cháy” Tên: Báo cháy Tác nhân: Bảo vệ Mục đích: Theo dõi các trường hợp có khả năng gây cháy hoặc tương tự Chức năng tham chiếu: R2.6 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Có báo động cháy 2. Hệ thống mở tất cả các cửa trong toà nhà 3.2.3.3. Trường hợp sử dụng “Truy nhập hệ thống” Trường hợp sử dụng này được người sử dụng thẻ, có nhu cầu vào ra cửa sử dụng. Họ sử dụng thẻ để truy nhập vào hệ thống. Nếu truy nhập thành công, thẻ hợp lệ thì cửa tự động mở và họ được phép qua cửa. Trường hợp sử dụng được mô tả như biểu đồ sau: Hình 17. Biểu đồ trường hợp sử dụng “Truy nhập” Tên: Truy nhập Tác nhân: Người sử dụng thẻ Mục đích: Vào ra qua các cửa của toà nhà Mô tả khái quát: Người muốn vào cửa dùng thẻ của mình vào hệ thống, khi đó hệ thống nhận dạng và cửa tự động mở nếu truy nhập thành công. Chức năng tham chiếu: R3 Diễn biến sự kiện: Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan 1. Người dùng cho thẻ qua hệ thống 1. Nhận dạng và xác định quyền truy nhập và tự động mở cửa Người sử dụng thẻ 3.3. Mô hình phân tích 3.3.1. Trường hợp sử dụng “Cấu hình” Như đã trình bày ở phần 3.2. Trường hợp sử dụng này dùng để người quản lý hệ thống sử dụng khi thực hiện nhiệm vụ của mình. Những phần sau đây sẽ trình bày chi tiết từng chức năng cụ thể: 3.3.1.1. Trường hợp sử dụng “Đăng nhập hệ thống” Trình tự các hoạt động trong ca sử dụng này được mô tả như biểu đồ sau: Hình 18. Biểu đồ trình tự trường hợp sử dụng “Đăng nhập hệ thống” 3.3.1.2. Trường hợp sử dụng “Cập nhật thông tin cửa” Hình 19. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật thông tin cửa” 3.3.1.3. Trường hợp sử dụng “Cập nhật nhóm cửa” Hình 20. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật nhóm cửa” 3.3.1.4. Trường hợp sử dụng “Cập nhật thông tin người” Hình 21. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật thông tin người” 3.3.1.5. Trường hợp sử dụng “Cập nhật nhóm người” Hình 22. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật nhóm người” 3.3.1.6. Trường hợp sử dụng “Tìm kiếm người” Hình 23. Biểu đồ tuần tự trường hợp sử dụng “Tìm kiếm người dựa vào thẻ” 3.3.1.7. Trường hợp sử dụng “Tìm kiếm cửa một người được truy nhập” Hình 24. Biểu đồ tuần tự trường hợp sử dụng “Tìm kiếm cửa một người được vào” 3.3.1.8. Trường hợp sử dụng “Tìm kiếm Nhóm người” Hình 25. Biểu đồ tuần tự trường hợp sử dụng “Tìm kiếm người thuộc nhóm” 3.3.1.9. Trường hợp sử dụng “Tìm kiếm người thuộc nhóm” Hình 26. Biểu đồ tuần tự trường hợp sử dụng “Tìm kiếm người thuộc nhóm” 3.3.1.10. Trường hợp sử dụng “Cập nhật nhóm người được truy nhập nhóm cửa” Hình 27. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật nhóm người được truy nhập nhóm cửa” 3.3.1.11. Trường hợp sử dụng “Cập nhật tuần điển hình” Hình 28. Biểu đồ tuần tự trường hợp sử dụng “Cập nhật tuần điển hình” 3.3.1.12. Trường hợp sử dụng “Hiển thị quyền truy nhập” Hình 29. Biểu đồ tuần tự trường hợp sử dụng “Hiển thị quyền truy nhập” 3.3.2. Trường hợp sử dụng “Theo dõi và giám sát” Trường hợp sử dụng này được thực hiện bởi Bảo vệ của toà nhà. Bảo vệ có một màn hình để theo dõi toàn bộ toà nhà. Các công việc và hoạt động trong trường hợp sử dụng này được mô tả chi tiết qua các chức năng sau: 3.3.2.1. Trường hợp sử dụng “Đăng nhập hệ thống” Hình 30. Biểu đồ tuần tự trường hợp sử dụng “Đăng nhập hệ thống” 3.3.2.2. Trường hợp sử dụng “Báo cáo công việc” Hình 31. Biểu đồ tuần tự trường hợp sử dụng “Báo cáo sự kiện” 3.3.2.3. Trường hợp sử dụng “Lọc bỏ sự kiện” Hình 32. Biểu đồ tuần tự trường hợp sử dụng “Lọc bỏ sự kiện” 3.3.2.4. Trường hợp sử dụng “Báo cáo báo động” Hình 33. Biểu đồ tuần tự trường hợp sử dụng “Báo cáo báo động” 3.3.2.5. Trường hợp sử dụng “Mở cửa” Hình 34. Biểu đồ tuần tự trường hợp sử dụng “Mở cửa bằng tay” 3.3.2.6. Trường hợp sử dụng “Báo cháy” Hình 35. Biểu đồ tuần tự trường hợp sử dụng “Báo cháy” 3.3.3. Trường hợp sử dụng “Truy nhập vào ra” Trường hợp sử dụng này được thực hiện bởi người sử dụng. Khi họ có nhu cầu sử dụng hệ thống để qua các cửa của toà nhà. Hình 36. Biểu đồ tuần tự trường hợp sử dụng “Truy nhập vào ra” Mô hình thiết kế Trong mô hình thiết kế, tiêu điểm được dịch chuyển từ các khái niệm miền ứng dụng sang đối tượng phần mềm. Các tác vụ của hệ thống trong mô hình phân tích phải được gán cho các đối tượng và lớp cụ thể. Các tác vụ phức tạp phải được phân rã thành đơn giản hơn. Nhiệm vụ quan trọng của mô hình này là xây dựng các biểu đồ cộng tác hay tuần tự đối tượng cho các tác vụ của hệ thống trong mô hình phân tích. 3.4.1. Trường hợp sử dụng “Đăng nhập hệ thống” Hình 37. Biểu đồ trình tự trường hợp sử dụng Đăng nhập 3.4.2. Trường hợp sử dụng “Cấu hình” 3.4.2.1. Cập nhật thông tin người Hình 38. Biểu đồ trình tự trường hợp sử dụng “Cập nhật thông tin người” 3.4.2.2. Cập nhật nhóm người Hình 39. Biểu đồ trình tự trường hợp sử dụng “Cập nhật nhóm người” 3.4.2.3. Cập nhật thông tin cửa Hình 40. Biểu đồ cộng tác trường hợp sử dụng “Cập nhật thông tin cửa” Hình 41. Biểu đồ trình tự 3.4.2.4. Cập nhật nhóm cửa Hình 42. Biểu đồ trình tự trường hợp sử dụng “Cập nhật nhóm cửa” 3.4.2.5. Tìm kiếm người dựa vào thẻ Hình 43. Biểu đồ trình tự trường hợp sử dụng “Tìm kiếm người dựa vào thẻ” 3.4.2.6. Tìm kiếm cửa một người được truy nhập Hình 44. Biểu đồ trình tự trường hợp sử dụng “Tìm kiếm cửa” 3.4.2.7. Tìm kiếm Nhóm người Hình 45. Biểu đồ trình tự trường hợp sử dụng “Tìm kiếm nhóm người” 3.4.2.8. Tìm kiếm người thuộc nhóm Hình 46. Biểu đồ trình tự trường hợp sử dụng “Tìm kiếm người thuộc nhóm” 3.4.2.9. Cập nhật nhóm người được truy nhập nhóm cửa Hình 47. Biểu đồ trình tự trường hợp sử dụng “Cập nhật nhóm người truy nhập nhóm cửa” 3.4.2.10. Cập nhật tuần điển hình Hình 48. Biểu đồ trình tự trường hợp sử dụng “Cập nhật tuần điển hình” 3.4.2.11. Hiển thị quyền truy nhập Hình 49. Biểu đồ trình tự trường hợp sử dụng “Hiển thị quyền truy nhập” 3.4.3. Trường hợp sử dụng “Theo dõi và giám sát” 3.4.3.1. Báo cáo sự kiện Hình 50. Biểu đồ trình tự trường hợp sử dụng “Báo cáo sự kiện” 3.4.3.2. Loại bỏ sự kiện Hình 51. Biểu đồ trình tự trường hợp sử dụng “Lọc bỏ sự kiện” 3.4.3.3. Báo cáo báo động Hình 52. Biểu đồ trình tự trường hợp sử dụng “Báo cáo báo động” 3.4.3.4. Mở cửa bằng tay Hình 53. Biểu đồ trình tự trường hợp sử dụng “Mở cửa bằng tay” 3.4.3.5. Báo cháy Hình 54. Biểu đồ trình tự trường hợp sử dụng “Báo cháy” 3.4.4. Truy nhập vào ra Hình 55. Biểu đồ trình tự trường hợp sử dụng “Truy nhập vào ra” 3.4.5 Biểu đồ lớp Các lớp có được sau khi phân tích , thiết kế bằng phần mềm công cụ Rational Rose. Sử dụng UML để phân lớp thành hai loại là lớp thực thể và lơpd giao diện. Lớp thực thể: Business Object Lớp giao diện: GUI. 3.4.6. Mô hình hoá dữ liệu Hình sau là biểu đồ quan hệ: Từ các lớp thực thể thu được trong các bước phân tích trên, mô hình hóa dữ liệu và chuẩn hóa dữ liệu ta có các bảng sau: 1. Bảng người sử dụng - Person STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 PersonID Mã người dùng Nvarchar 10 Khóa chính 2 Name Họ tên người dùng Nvarchar 50 3 Address Địa chỉ Nvarchar 50 4 DateOfBirth Năm sinh Int 4 5 Sex Giới tính Bit 1 6 Tel Điện thoại Nchar 19 7 Email Địa chỉ Email NText 16 8 Images Ảnh Image 16 9 BadgeID Số thẻ Int 4 Not null Bảng nhóm người – GroupOfPeople STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 GPeopleID Mã nhóm người nvarchar 10 Khóa chính 2 GPeopleName Tên nhóm người nvarchar 50 Bảng cửa – Door STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 DoorID Mã cửa int 4 Khóa chính 2 Room_number Số phòng int 4 3 Status Trạng thái cửa Char 10 4 GDoorID Mã nhóm cửa Nvarchar 10 Not null Bảng nhóm cửa – GroupOfDoors STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 GDoorID Mã nhóm cửa nvarchar 10 Khóa chính 2 GDoorName Tên nhóm cửa nvarchar 50 Bảng quyền vào ra – AccessRight STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 AccessIndex Mã quyền int 4 Khóa chính 2 GPeopleID Mã nhóm người nvarchar 10 Not null 3 GDoorID Mã nhóm cửa nvarchar 10 Not null 4 Timerstart Thời gian bắt đầu Real 4 5 Timerend Thời gian kết thúc real 4 6 Days Thứ nvarchar 20 Bảng người & nhóm người – Person_Gpeople STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 PIndex Mã int 4 Khóa chính 2 PersonID Mã người nvarchar 10 Not null 3 GPeopleID Mã nhóm người nvarchar 10 Not null 4 Name Tên người nvarchar 50 5 GPeopleName Tên nhóm người nvarchar 50 Bảng sự kiện - Event STT Tên trường Ý nghĩa Kiểu dữ liệu Độ rộng Ràng buộc 1 EventID Mã sự kiện Int 4 Khóa chính 2 BadgeID Số thẻ Int 4 Not null 3 DoorID Mã cửa Int 4 Not null 4 Dates Ngày datetime 8 5 Timer Thời gian vào real 4 6 Discription Mô tả nvarchar 50 3.4.7. Đóng gói ứng dụng Sơ đồ gói ứng dụng cung cấp một cái nhìn tổng quan về toàn bộ hệ thống và sự phụ thuộc giữa các thành phần trong hệ thống. Hình : Sơ đồ gói ứng dụng Trong sơ đồ trên, các lớp và thể hiện các lớp được gộp vào các gói như sau: Gói UI: Bao gồm các lớp và các đối tượng ràng buộc, có kiểu > Gói Domain: Bao gồm các lớp (thực thể) và đối tượng nghiệp vụ , có kiểu mở rộng >. Gói Persistence: Gói này chứa các bảng dữ liệu trong mô hình hoá dữ liệu. Gói Physical Reader: Chứa các lớp cho phép điều khiển máy đọc thẻ và đóng gói toàn bộ sự phức tạp của việc truyền thông. Gói Virtual Machine: Tách ứng dụng ra khỏi những chi tiết phần cứng. 3.4.8. Biểu đồ triển khai hệ thống: Biểu đồ triển khai hệ thống CHƯƠNG 4. MÔ TẢ HỆ THỐNG MÔ PHỎNG Ngôn ngữ và công cụ sử dụng Ngôn ngữ Java được sử dụng để xây dựng hệ thống Hệ quản trị cơ sở dữ liệu: SQL Server (7.0, 2000) Giới thiệu một số giao diện chính của hệ thống mô phỏng Giao diện người dùng Giao diện người dùng trước khi vào cửa Giao diện người dùng được phép vào cửa Giao diện Người quản lý Giao diện kiểm soát vào ra Giao diện kiểm soát vào ra Giao diện Thêm cửa Giao diện thêm cửa Giao diện Sửa thông tin cửa Giao diện sửa thông tin cửa Giao diện xóa thông tin cửa Xóa thông tin cửa Giao diện Thêm nhóm cửa Giao diện sửa nhóm cửa Giao diện Xóa nhóm cửa Giao diện Xem danh sách nhóm cửa Giao diện Thêm người dùng Giao diện sửa thông tin người dùng Giao diện Xóa thông tin người Giao diện thêm nhóm người Giao diện Sửa nhóm người Giao diện Xóa nhóm người Giao diện Xem nhóm người Giao diện Hiển thị danh sách người đăng ký Giao diện Hiển thị quyền vào ra Giao diện Hiển thị những lần vào ra thành công Tìm kiếm người thuộc về một nhóm Giao diện tìm kiếm nhóm chứa người Giao diện Tìm kiếm cửa một người được phép qua Giao diện Cập nhật quyền Giao diện Sửa quyền Giao diện Xóa quyền KẾT LUẬN Sau một thời gian tìm hiểu, nghiên cứu và thực hiện đề tài, đồ án đã đạt được một số kết quả nhất định: Đã khảo sát các bước cơ bản trong quy trình phát triển phần mềm hướng đối tượng. Trên cơ sở đó, sử dụng một quy trình cụ thể để áp dụng vào phát triển hệ thống kiểm soát cửa vào ra. Phân tích thiết kế hệ thống thông tin quản lý cửa vào ra. Cài đặt một số một số module thử nghiệm mô phỏng hệ thống. Tuy nhiên, do thời gian hạn chế, lại đi theo hướng phát triển mới, cùng một lúc phải tìm hiểu kiến thức liên quan đến nhiều lĩnh vực như ngôn ngữ UML, công cụ Rational Rose và các khái niệm liên quan khác nên đồ án chắc chắn còn nhiều thiếu sót, rất mong nhận được sự chỉ bảo, góp ý của các thầy cô cũng như các bạn. Hướng phát triển UML là ngôn ngữ mô hình hoá rất rộng, bên cạnh phần lý thuyết đã được trình bày, UML còn có nhiều ứng dụng rất đa dạng như các ứng dụng mô hình hóa hệ thống thời gian thực, các ứng dụng trên web… Trên cơ sở các phần đã nghiên cứu đề tài có một số hướng phát triển tiếp sau: Tiếp tục nghiên cứu sâu về phương pháp phân tích thiết kế hướng đối tượng. Khai thác tối đa sức mạnh của công cụ Rational Rose Hoàn thiện và mở rộng hệ thống Kiểm soát cửa vào ra. Một lần nữa em xin chân thành cảm ơn Cô Nguyễn Thị Phương Trà và thầy Đặng Văn Đức cùng toàn thể quý thầy cô đã tận tình chỉ bảo và giảng dạy cho em trong suốt thời gian qua. TÀI LIỆU THAM KHẢO [1] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML, NXBGD 2002 [2] Zhiming Liu, Object – Oriented Software Development Using UML, March 2001. [3] [4] [5] MỤC LỤC

Các file đính kèm theo tài liệu này:

  • docDAN214.doc