Phân tích thiết kế hệ thống UML
lượt xem 107
download
Chúng tôi trình bày một phương pháp sử dụng Unified Modeling Language (UML) để phân tích thiết kế hệ thống (PTTKHT) quản lý tuyển sinh tại Đại học Đà Nẵng. Quá trình PTTKHT gồm các bước từ khâu khảo sát thực tế, xây dựng mô hình dòng dữ liệu, xác định các tác nhân, các đối tượng, các lớp để xây dựng các biểu đồ như biểu đồ trình tự, biểu đồ lớp, biểu đồ đối tượng, biểu đồ các trường hợp sử dụng. ...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Phân tích thiết kế hệ thống UML
- Phân tích thiết kế hệ thống UML SSAD - UML Gv: Nguyễn Ngọc Tú Email: nntu@hoasen.edu.vn
- UML là gì? Unified Modeling Language (UML) là ngôn ngữ giúp đặc tả trực quan hóa xây dựng làm sưu liệu các artifact của một hệ thống phần mềm NNTu Công Nghệ Phần Mềm - W2007 2
- Lịch sử của UML NNTu Công Nghệ Phần Mềm - W2007 3
- Đầu vào của UML Booch Rumbaugh Jacobson Fusion Meyer Operation descriptions, Before and after Message numbering conditions Embley Harel Singleton classes, State charts High-level view Gamma, et.al Wirfs-Brock Frameworks, patterns, Responsibilities notes Shlaer - Mellor Odell Object Lifecycles Classification NNTu Công Nghệ Phần Mềm - W2007 4
- UML cung cấp các lược đồ chuẩn State State State State Diagrams Class Diagrams Class Diagrams Use-Case Use-Case Diagrams Diagrams Use-Case Use-Case Diagrams Diagrams State State Use-Case Use-Case Diagrams Use-Case Diagrams State State Diagrams Use-Case Use-Case Diagrams Object Diagrams Object Use-Case Diagrams Activity Diagrams Diagrams Diagrams Diagrams Diagrams Activity Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Scenario Scenario State State Scenario Scenario Diagrams State State Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams Diagrams Diagrams Models Diagrams Diagrams Diagrams Diagrams Scenario Scenario Component Component Scenario Scenario Diagrams Component Diagrams Component Component Diagrams Collaboration Diagrams Collaboration Diagrams Deployment Deployment Component Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams NNTu Công Nghệ Phần Mềm - W2007 5
- Ví dụ : Use-Case Hệ thống Đăng Ký học phần ở một Trường ĐH Register for Courses Student Select Courses to Teach Course Catalog Professor Maintain Professor Information Maintain Student Information Registrar Close Registration Billing System NNTu Công Nghệ Phần Mềm - W2007 6
- Ví dụ lược đồ Class Hệ thống Đăng Ký học phần ở một Trường ĐH MaintainScheduleForm MainForm 1 0..1 // select maintain schedule() + // open() + // select 4 primary and 2 alternate offerings() 1 1 1 0..* CourseCatalogSystem RegistrationController // get course offerings() // add courses to schedule() // get course offerings () 0..1 1 Schedule // create with offerings() NNTu Công Nghệ Phần Mềm - W2007 7
- Ví dụ: lược đồ tuần tự Dùng biểu đồ trình tự hệ thống: HĐKM Thầy giáo đăng nhập mật khẩu y/c chọn học kỳ Kiểm tra mật khẩu chọn một học kỳ y/c chọn việc IF ‘thêm’ được chọn C-1:Thêm một lớp giảng IF ‘bỏ’ được chọn C-2:Bỏ một lớp giảng IF ‘xem’ được chọn C-3:Xem một lịch biểu IF ‘in’ được chọn C-4:In một lịch biểu IF ‘ra’ được chọn Kết thúc NNTu Công Nghệ Phần Mềm - W2007 8
- Các Artifact then chốt Use-Case Class Diagram State Diagram Diagram FileMgr DocumentList Document add file add( ) name : int fetchDoc( ) delete( ) docid : int sortByName( ) numField : int add file [ numberOffile==MAX ] / Writing get( ) flag OFF open( ) read() fill the close( ) code.. FileList read( ) sortFileList( ) Openning Use-Case 1 add( ) fList create( ) fillDocument( ) delete( ) 1 close file Actor A Actor B close file Closing Reading rep Use-Case 2 File Repository (from Persistence) read( ) GrpFile Customer name name : char * = 0 Domain readDoc( ) read( ) addr Deployment readFile( ) open( ) create( ) receive() fillFile( ) Use-Case 3 withdraw() Expert fetch() send() UI MFC Class Diagram DocumentApp ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼-¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö DocumentList RogueWave Persistence Repository Window95 Windows95 9: sortByName ( ) Windows95 global ¹®¼-°ü¸® FileManager Ŭ¶óÀ̾ðÆ®.EXE ¹®¼-°ü¸® ¾ÖÇø´ mainWnd : MainWnd Windows NT Package 1: Doc view request ( ) L Document Solaris 2: fetchDoc( ) ¹®¼-°ü¸® ¿£Áø.EXE 4: create ( ) gFile : GrpFile Alpha 8: fillFile ( ) UNIX ÀÀ¿ë¼-¹ö.EXE Diagram Windows User Interface NT user : »ç¿ëÀÚ GraphicFile IBM fileMgr : FileMgr Mainframe 3: create ( ) File FileList 6: fillDocument ( ) Definition µ¥ÀÌŸº£À̽º¼-¹ö 7: readFile ( ) 5: readDoc ( ) document : Document repository : Repository Forward Engineering(Code Generation) Collaboration Diagram Component and mainWnd fileMgr : document : gFile repository Diagram Reverse Engineering user FileMgr Document Source Code edit, compile, debug, link ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( ) »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( ) ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. 7: readFile ( ) 8: fillFile ( ) È-¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ º¸¿©ÁØ´Ù. Sequence Diagram Executable System NNTu Công Nghệ Phần Mềm - W2007 9
- Qui trình là gì? Một qui trình xác định Ai làm Gì, Khi nào và Như thế nào để đạt được mục đích cuối cùng. Trong Công nghệ phần mềm đích là xây dựng một sản phẩm phần mềm hoặc nâng cấp một sản phẩm có sẵn Các yêu cầu Software Engineering Hệ thống mới/thay đổi Process mới/thay đổi NNTu Công Nghệ Phần Mềm - W2007 10
- Một qui trình hiệu quả ... Cung cấp các chỉ dẫn để phát triển một cách hiệu quả một phần mềm có chất lượng Giảm thiểu rủi ro tăng khả năng tiền định Nắm giữ và thể hiện các kinh nghiệm tốt Học từ các kinh nghiệm khác Mentor on your desktop Mở rộng các tài liệu huấn luyện (Extension of training material) Promotes common vision and culture Cung cấp hướng dẫn về cách dùng các công cụ ứng dụng Chuyển tải thông tin trực tuyến, chỉ dẫn chi tiết NNTu Công Nghệ Phần Mềm - W2007 11
- RUP chuyển tải các kinh nghiệm RUP mô tả cách ứng dụng hiệu quả 6 kinh nghiệm quí dành cho quá trình phát triển phần mềm Phát triển theo vòng lặp Sử dụng Quản trị Mô hình hóa Kiểm định kiến trúc trực quan các yêu cầu chất lượng Component Kiểm soát các thay đổi trong hệ thống NNTu Công Nghệ Phần Mềm - W2007 12
- RUP định hướng bởi các Use-Case Một actor là một người hoặc một cái gì đó Customer Check Balance bên ngoài hệ thống tương tác với hệ thống Một Use-Case là một chuỗi các hành động Withdraw Money mà hệ thống thực hiện mang lại một kết Các Use-Case của một Cash Machine quả quan sát được đối với một actor. NNTu Công Nghệ Phần Mềm - W2007 13
- Use-Case chứa luồng các sự kiện Luồng các sự kiện (Flow of events) của Use-Case rút tiền (Withdraw Money): 1. Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào. Hệ thống đọc và thẩm tra thông tin của thẻ. 2. Hệ thông nhắc nhập số PIN. Hệ thống kiểm tra số PIN. 3. Hệ thống hỏi tác vụ nào khách hàng muốn thực hiện. Khách hàng chọn “Rút tiền.” 4. Hệ thống hỏi số lượng. Khách hàng nhập số lượng. 5. Hệ thống yêu cầu nhập kiểu tài khoản. Khách hàng chọn checking hoặc savings. 6. Hệ thống liên lạc với ATM network . . . NNTu Công Nghệ Phần Mềm - W2007 14
- Lợi ích của Use-Case Use-Case ngắn gọn, đơn giản và, dễ hiểu đối với End users, developers, … hiểu các yêu cầu chức năng của hệ thống Use-Case định hướng nhiều hoạt động trong qui trình: Tạo và thẩm định mô hình thiết kế (design model) Định nghĩa các test case và các thủ tục của test model Qui hoạch các vòng lặp Tạo sưu liệu cho người dùng Triển khai hệ thống Use-Case giúp đồng bộ hóa nội dung các mô hình (model) khác nhau NNTu Công Nghệ Phần Mềm - W2007 15
- RUP là qui trình Architecture-Centric Kiến trúc là trọng tâm của các vòng lặp đầu tiên Xây dựng, thẩm tra, và xđ giới hạn của kiến trúc tạo thành mục tiêu chính của giai đoạn triển khai (elaboration) Prototype của kiến trúc xác nhận tính hợp lệ của kiến trúc và đóng vai trò baseline cho phần còn lại của qui trình phát triển Sưu liệu về kiến trúc phần mềm là artifact chính mô tả kiến trúc được chọn Các artifact khác kế thứa từ kiến trúc: Design guidelines bao gồm cách sử dụng pattern và idiom Cấu trúc sản phẩm Cấu trúc của đội ngũ phát triển phần mềm NNTu Công Nghệ Phần Mềm - W2007 16
- Biểu diễn kiến trúc : Mô hình 4+1 View Logical Implementation View View Analysts/ End-user Programmers Designers Structure Functionality Software management Use-Case View Process Deployment View View System Integrators System Engineering Performance System topology Scalability Delivery, installation Throughput communication NNTu Công Nghệ Phần Mềm - W2007 17
- Lợi ích qui trình Architecture-Centric Giúp đạt và giữ vững sự kiểm soát tốt dự án, quản lý độ phức tạp của nó, và duy trì sự tích hợp của hệ thống Cung cấp khả năng tái sử dụng hiệu quả ở nhiều mức độ khác nhau Cung cấp nền tảng cho quản lý dự án Giúp dễ dàng phát triển theo hướng component-based Một component đảm trách một chức năng rõ ràng trong khuôn khổ một kiến trúc được định nghĩa tốt Một component thích ứng và cung cấp mọt hiện thực hóa vật lý của một tập các giao diện (interface) Các component tồn tại tương ứng với một kiến trúc cụ thể NNTu Công Nghệ Phần Mềm - W2007 18
- Các Phase trong chu kỳ sống Inception Elaboration Construction Transition time RUP có 4 phase: Inception - Định nghĩa phạm vi của dự án Elaboration - Lập kế hoạch dự án, mô tả các đặc tính, định ranh giới kiến trúc Construction – Xây dựng sản phẩm Transition - Chuyển giao sản phẩm cho người dùng NNTu Công Nghệ Phần Mềm - W2007 19
- Các mốc chính đặt tại ranh giới các Phase Inception Elaboration Construction Transition time Lifecycle Lifecycle Initial Operational Product Objective Architecture Capability Release Milestone Milestone Milestone NNTu Công Nghệ Phần Mềm - W2007 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
ỨNG DỤNG UML PHÂN TÍCH THIẾT KẾ HỆ THỐNG PHẦN MỀM QUẢN LÝ TUYỂN SINH TẠI ĐẠI HỌC ĐÀ NẴNG
0 p | 649 | 211
-
Phân tích thiết kế hệ thống hướng đối tượng dùng UML - Module 11: Thiết kế Use-Case
38 p | 156 | 47
-
Phân tích thiết kế hệ thống hướng đối tượng bằng UML - Tổng quan về xác định yêu cầu người dùng
37 p | 156 | 29
-
Phân tích thiết kế hệ thống hướng đối tượng dùng UML - Module 13: Thiết kế CLASS
131 p | 112 | 29
-
Phân tích thiết kế hệ thống hướng đối tượng dùng UML - Module 12: Thiết kế Subsystem
32 p | 160 | 20
-
Phân tích thiết kế hệ thống hướng đối tượng bằng UML - Giới thiệu về hướng đối tượng
64 p | 148 | 17
-
Giáo trình Phân tích thiết kế hệ thống hướng đối tượng với UML: Phần 1 - Dương Kiều Hoa, Tôn Thất Hòa An
106 p | 49 | 10
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 4 - TS. Trần Mạnh Tuấn
39 p | 64 | 8
-
Giáo trình Phân tích thiết kế hệ thống hướng đối tượng với UML: Phần 2 - Dương Kiều Hoa, Tôn Thất Hòa An
110 p | 34 | 7
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 2 - TS. Trần Mạnh Tuấn
22 p | 31 | 7
-
Giáo trình Phân tích thiết kế hệ thống thông tin (Nghề: Lập trình máy tính-CĐ) - CĐ Cơ Giới Ninh Bình
128 p | 37 | 7
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 6 - ThS. Thạc Bình Cường
44 p | 57 | 6
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 3 - TS. Trần Mạnh Tuấn
34 p | 30 | 5
-
Giáo trình Phân tích thiết kế hệ thống (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2022)
134 p | 13 | 5
-
Giáo trình Phân tích thiết kế hệ thống (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2023)
134 p | 7 | 5
-
Bài giảng Phân tích và thiết kế hệ thống thông tin - ĐH Thương Mại
0 p | 102 | 4
-
Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 2+3: Các khái niệm cơ bản trong hướng đối tượng
17 p | 41 | 3
-
Bài tập Phân tích thiết kế hệ thống: Mô hình hóa UML
17 p | 36 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn