Phân tích thiết kế hệ thống UML

Chia sẻ: đặng Danh Thông Thông | Ngày: | Loại File: PDF | Số trang:100

0
240
lượt xem
103
download

Phân tích thiết kế hệ thống UML

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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. ...

Chủ đề:
Lưu

Nội dung Text: Phân tích thiết kế hệ thống UML

  1. Phân tích thiết kế hệ thống UML SSAD - UML Gv: Nguyễn Ngọc Tú Email: nntu@hoasen.edu.vn
  2. 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
  3. Lịch sử của UML NNTu Công Nghệ Phần Mềm - W2007 3
  4. Đầ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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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 bộ tài khoản