Bài giảng Phân tích và Thiết kế hệ thống - Chương 1: Tổng quan về phân tích thiết kế hệ thống - Từ Thị Xuân Hiền
Câu nào sau đây là đúng? Nếu sai thì giải thích.
Học viên là một lớp?.
Nguyễn văn A là một lớp?.
Tạo một công việc là một object.
Xóa tập tin là một hành vi?
Tên là một thuộc tính?
Giả sử cần xây dựng một hệ thống đăng ký học phần, xác định :
3 lớp cho mô hình
Xác định ít nhất 3 thuộc tính cho mỗi lớp
57 trang |
Chia sẻ: huongthu9 | Lượt xem: 488 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích và Thiết kế hệ thống - Chương 1: Tổng quan về phân tích thiết kế hệ thống - Từ Thị Xuân Hiền, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÀI GIẢNG PHÂN TÍCH THIẾT KẾ HỆ THỐNGGV: Từ Thị Xuân HiềnChương 1Tổng quan về phân tích thiết kế hệ thốngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân HiềnBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền3Các khái niệm cơ bảnHệ thống (system) là một tập các thành phần tương tác với nhau, kết hợp với nhau để thực hiện các mục tiêu tạo thành hệ thốngKhái niệm hệ thống Hệ thống thông tin - Information system Hệ thống hệ thống nhiều thành phần liên quan đến việc truyền đạt thông tin: phần cứng, phần mềm, và các hệ mạng truyền thông được xây dựng và sử dụng để thu thập, tạo, tái tạo, phân phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm phục vụ các mục tiêu của một tổ chứcBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền5Hệ thống thông tin - Information system Vai trò của hệ thống thông tinGiáo dục điện tử (elearning)Thương mại điện tử (e-commerce)Chính phủ điện tử (e-government)Các hệ thống thông tin địa lý (GIS)...Và nhiều lĩnh vực khác...Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền6Phân loại hệ thống thông tinHệ xử lý dữ liệu (DPS-Data Processing System)Xử lý các giao dịch, ghi lại những dữ liệu cho từng chức năng đặc thù.Dữ liệu đưa vào được thường xuyên cập nhật. Dữ liệu đầu ra định kỳ bao gồm các tài liệu hoạt động và báo cáoHệ thông tin quản lý (MIS- Management Information System)Sử dụng trong các tổ chức kinh tế xã hội, hệ thống gồm nhiều thành phần, mỗi thành phần là một hệ thống con hoàn chỉnhBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền7Phân loại hệ thống thông tinHệ hỗ trợ quyết định (DSS- Decision Support System)Giúp cho tổ chức những thông tin cần thiết để ra quyết định hợp lý và đủ độ tin cậyHệ chuyên gia (ES-Expert System)Giúp các nhà quản lý giải quyết và thực hiện vấn đề ở mức cao hơn. Hệ thống này liên quan đến lĩnh vực trí tuệ nhân tạo, làm cho máy tính có khả năng lập luận, học tập, tự hoàn thiện như con người. Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền8Vai trò của phân tích thiết kế hệ thốngThông qua việc phân tích, người phân tích sẽ xác định được yêu cầu của hệ thống và đưa ra giải pháp giải quyết vấn đề.Có một cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống thông tin đang xây dựng.Tránh sai lầm trong thiết kế và cài đặt. Tăng vòng đời (life cycle) của hệ thống Dễ sửa chữa, bổ sung và phát triển hệ thốngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền9Vai trò của phân tích thiết kế hệ thốngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền10Vòng đời phát triển hệ thống(The systems development life cycle-SDLC)SDLC là phương pháp tiếp cận từng giai đoạn để phân tích thiết kế hệ thốngTiến trình phát triển phần mềm bao gồm 2 khía cạnh:Kỹ thuật: Vòng đời phát triển phần mềm, phương pháp, và công cụ.Quản lý: Quản lý dự án phần mềmBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền11Vòng đời phát triển hệ thống(The systems development life cycle-SDLC)Vòng đời phát triển hệ thống thông thường gồm 4 giai đoạn, trong mỗi giai đoạn có nhiều bước:Lập kế hoạch (Planning)Phân tích (Analysis)Thiết kế (Design)Hiện thực (Implementation)Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền12Lập kế hoạch (Planning)Xác định lý do hệ thống cần được xây dựng và xây dựng như thế nào? Gồm hai bướcXác định các yêu cầu để xây dựng một hệ thống hỗ trợ các nhu cầu tạo ra giá trị kinh doanh, tiến hành phân tích tính khả thi dựa trên các khía cạnh:Kỹ thuật: có thể thực hiện không?Kinh tế: có giá trị kinh tế không?Tổ chức: có được sử dụng không?Khi dự án được chấp nhận, người quản lý dự án lập kế hoạch dự ánBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền13Phân tích (Analysis)Phân tích và trả lời các câu hỏi:Ai sử dụng hệ thống (who)Hệ thống sẽ làm gì (what)Hệ thống được sử dụng ở đâu (where)Tìm hiểu hệ thống và cải tiến hệ thống hiện tại thành hệ thống mới, gồm 3 bước:Xây dựng chiến lược phân tích và thiết kế hệ thốngThu thập yêu cầu bằng nhiều hình thức: phỏng vấn, bảng câu hỏi, Kết hợp các phân tích hệ thống, xây dựng một đề xuất hệ thống mô tả các yêu cầu của doanh nghiệp mà hệ thống mới phải đáp ứng.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền14Thiết kế (Design)Xác định cách hoạt động của hệ thống, giai đoạn thiết kế gồm 4 bước:Phát triển kế hoạch thiết kế.Thiết kế kiến trúc của hệ thốngXây dựng cơ sở dữ liệuThực hiện thiết kế chương trìnhBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền15Đây là giai đoạn được chú ý nhất và tốn kém nhất, gồm 3 bước:Xây dựng hệ thống (construction) và kiểm thử để đảm bảo hệ thống hoạt động như đã thiết kế. Cài đặt, và kế hoạch hướng dẫn sử dụng.Lập kế hoạch hỗ trợ hệ thống, đánh giá kế hoạch thực hiện, xác định những thay đổi cần thiết cho hệ thống.Hiện thực (Implementation)Mô hình thác nướcMô hình RUPMô hình AgileCác mô hình phát triển hệ thống Mô hình thác nướcCác giai đoạn nối tiếp nhau một cách liên lục.Có vòng lặp cho phép trở về giai đoạn trước đó để hiệu chỉnh khi phát hiện lỗi hoặc có thay đổi.Mỗi giai đoạn chỉ hoàn tất khi tài liệu của giai đoạn đó hoàn thành và sản phẩm của giai đoạn đó được chấp nhận bởi nhóm SQABài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền18Mô hình RUP- Rational Unified Process Một cách tiếp cận có kỹ luật để gán và quản lý các nhiệm vụ phát triển phần mềm, vận dụng thực tiển tốt nhất trong phát triển phần mềm hiện đại.Mô hình chia quá trình phát triển hệ thống thành 4 giai đoạn riêng biệt. Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền19Giai đoạn khởi động (Inception): ý tưởng và mục tiêu của dự án được công bố.Lập quy hoạch chi tiết (Elaboration): Kiến trúc và nguồn tài nguyên được xác địnhThực thi (Construction): phát triển và hoàn thành hệ thốngChuyển giao (Transition): hệ thống được phát hành cho người dùng cuối và cập nhật dựa trên các phản hồi.Mô hình RUP- Rational Unified Process Mô hình RUP- Rational Unified Process Đặc điểm của RUPLà một tiến trình lặp đi lặp lại, phù hợp với những hệ thống có yêu cầu thay đổi.Sử dụng mô hình UMLPhát triển theo kiến trúc trung tâm (architecture-centric) giảm thiểu làm lại, tăng khả năng tái sử dụng.Nhấn mạnh việc xây dựng hệ thống dựa trên sự hiểu biết thấu đáo chức năng của hệ thốngRUP hỗ trợ kỹ thuật hướng đối tượng.RUP luôn quan tâm đến kiểm soát chất lượng và quản lý rủi ro Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền21Giai đoạn (Phases) là khoảng cách giữa 2 mốc quan trọng của tiến trình, mỗi giai đoạn phải xác định mục tiêu cần đáp ứng, sản phẩm hoàn thành, và các quyết định để chuyển sang giai đoạn tiếp theo.RUP gồm 4 giai đoạn: Inception.Elaboration. Construction. Transition.Các giai đoạn trong RUPCác giai đoạn trong RUPKhởi động (Inception)Tìm hiểu nghiệp vụXác định phạm vi của dự án.Đánh giá rủi ro, ước tính nguồn nhân lực.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền24Các giai đoạn trong RUPPhác thảo (Elaboration)Phân tích nghiệp vụ.Xây dựng kiến trúc phù hợp.Phát triển kế hoạch dự án, loại bỏ các yếu tố có nguy cơ rủi ro cao.Kiểm tra mục tiêu chi tiết và phạm vi của hệ thống, đưa ra quyết định có tiếp tục giai đoạn tiếp theo hay không.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền25Các giai đoạn trong RUPXây dựng (Construction)Lặp đi lặp lại từng bước phát triển sản phẩm hoàn chỉnh, sẵn sàng chuyển giao cho người dùngHoàn thành việc kiểm thử phần mềm.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền26Chuyển giao (Transition)Triển khai hệ thống đến người dùngGhi nhận những vấn đề phát sinh và các hạn chế để hoàn thiện bản cuối cùngCác giai đoạn trong RUPCác công việc trong RUPMô hình hóa nghiệp vụ (Business modeling)Mô tả cấu trúc và quy tắc nghiệp vụXác định yêu cầu (Requirements)Mô tả quy tắc nghiệp vụ bằng use case – base methodPhân tích và thiết kế (Analysis&design)Mô tả kiến trúc hệ thống thông qua các sơ đồ Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền28Các công việc trong RUPHiện thực (Implementation)Phát triển phần mềm, unit test, và tích hợpKiểm thử (Test):Mô tả các tình huống, kịch bản kiểm thử, theo dõi các sai sótTriển khai (Deployment):Đưa phần mềm vào sử dụng, bao gồm cấu hình hệ thống.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền29Các công việc trong RUPQuản lý cấu hình (Configuration management ):Điều khiển sự thay đổi, duy trì sự hợp nhất của các thành phần của dự ánQuản lý dự án(Project Management):Mô tả các chiến lược khác nhau khi làm việc với một tiến trình lặp đi lặp lại.Môi trường (Environment)Cơ sở hạ tầng cần thiết để phát triển hệ thốngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền30Mô hình AgileĐặc trưng của cách tiếp cận theo mô hình Agile là tính tương tác và gia tăng. Có 5 giai đoạnThăm dò (exploration)Lập kế hoạch (planning)Vòng lặp: thử nghiệm, thay đổi để đạt được một hệ thống ổn định và phát triển (iterations to the first release)Sản xuất (productionizing)Bảo trì (maintenance)Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền31Mô hình AgilePhân tích thiết kế hướng đối tượngHệ thống được xem là một tập các đối tượng, mỗi đối tượng bao gồm dữ liệu và hành vi.Các đối tượng trong hệ thống có quan hệ và tương tác lẫn nhauPhát triển mô hình chính xác với vấn đề đang phân tíchÁnh xạ các thực thể trong thế giới thực với đối tượng trong thiết kế.Giữ nguyên mẫu về cấu trúc, quan hệ và hành vi của đối tượng.Phù hợp cho những hệ thống lớn, cập nhật thường xuyênBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền33Phân tích thiết kế hướng đối tượngƯu điểmMô hình khái niệm về các lĩnh vực rõ ràngGiảm chi phí thực hiệnGiảm sự phức tạp của hệ thốngTăng hiệu quả và chất lượng của hệ thốngGiảm rủi roGiảm chi phí bảo trìHệ thống mềm dẽoBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền34Phân tích thiết kế hướng đối tượngVí dụ: phân tích hệ thống cửa hàng bán xe hơi. Các đối tượng có thể xác định gồm:Khách hàng Người bán hàng Phiếu đặt hàngPhiếu (hoá đơn) thanh toán Xe hơiBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền35Phân tích thiết kế hướng đối tượngVí dụ: phân tích hệ thống cửa hàng bán xe hơi. Tương tác và quan hệ giữa các đối tượng gồm :Người bán hàng giới thiệu xe cho khách hàngKhách hàng chọn xeKhách hàng viết phiếu đặt xe Khách hàng trả tiền xe Người bán hàng giao xe cho khách hàngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền36Phân tích thiết kế hệ thốnghướng đối tượng với UMLMô hình hóa hướng đối tượngMô hình hóa hướng đối tượng là một cách mô hình hoá các hệ thống theo ngôn ngữ tự nhiên. Các hệ thống, mà chính nó là một đối tượng, phân hủy thành các thành phần, mỗi thành phần có thể thực hiện một công việc hoàn chỉnh. Các thành phần có thể cộng tác để cung cấp các chức năng cần thiết của hệ thốngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền38Lợi ích của mô hình hóa hướng đối tượngCung cấp một framework có thể mô hình hóa các khái niệm một cách trực quan.Giảm chi phí thực hiện và bảo trìGiảm độ phức tạpTiếp cận dựa trên thành phần (Component) tăng khả năng tái sử dụngTăng hiệu suất và chất lượng của hệ thốngGiảm rủi roBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền39Phân tích thiết kế hướng đối tượngÁp dụng các mô hình hướng đối tượng để phân tích các hệ thống hoặc các yêu cầu hệ thống. Thiết kế hướng đối tượng: thực hiện các yêu cầu được xác định trong phân tích hướng đối tượng.Phân tích thiết kế hướng đối tượng gồm 2 hoạt động:Phân tích hướng đối tượng - Object Oriented AnalysisThiết kế hướng đối tượng - Object Oriented DesignBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền40Phân tích (Analysis): nhấn mạnh việc nghiên cứu các yêu cầu và vấn đề của bài toán. Phân tích hướng đối tượng (Object-oriented analysis): nhấn mạnh việc tìm kiếm và mô tả các khái niệm đối tượng trong phạm vi bài toán. Tập trung vào việc phát triển một mô hình hướng đối tượng của hệ thống. Phân tích hướng đối tượngThiết kế (Design): nhấn mạnh việc tìm giải pháp để thực hiện các yêu cầu trong giai đoạn phân tích.Thiết kế hướng đối tượng: xác định các đối tượng phần mềm và cách tương tác của chúng với nhau để thực hiện các yêu cầu của hệ thống.Cung cấp một mô hình hướng đối tượng của hệ thống phần mềm để hiện thực các yêu cầu đã được xác định. Thiết kế hướng đối tượngPhân tích thiết kế hướng đối tượng với UMLUML (Unified Modeling Language): ngôn ngữ dùng để mô hình hóa quá trình phát triển hệ thống phần mềm hướng đối tượngCác sơ đồ trong UML được chia thành 2 nhóm:Sơ đồ cấu trúc (Structure Diagrams): class, object, package, deployment, component.Sơ đồ hành vi (Behavioral Diagrams): use case diagrams, activity, sequence, communication, interaction.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền43Các khái niệm cơ bản trong hướng đối tượngAbstraction:Tập trung vào các khía cạnh quan trọng nhất, bỏ qua các chi tiết ít quan trọng. Abstraction giúp việc quản lý các hệ thống phức tạp bằng cách tập trung vào các khía cạnh chính của hệ thống mà người dùng quan tâm. Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền44Các khái niệm cơ bản trong hướng đối tượngEncapsulation Cơ chế được sử dụng để ẩn các cấu trúc và các chi tiết hiện thực bên trong của các hệ thống.Tất cả những giao tiếp với các đối tượng đều thông qua interface.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền45Các khái niệm cơ bản trong hướng đối tượngModularity Chia hệ thống phức tạp thành những hệ thống nhỏ hơn, tự nó chứa những phần có thể hoạt động một cách độc lậpBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền46Billing SystemCourse Registration SystemCourse Catalog SystemStudent Management SystemCác khái niệm cơ bản trong hướng đối tượngHierarchyThứ tự của sự trừu tượng có cấu trúc dạng câyCác loại hierachy: Aggregation hierarchy, Class hierarchy, Containment hierarchy, Inheritance hierarchy, Partition hierarchy, Specialization hierarchyBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền47Các khái niệm cơ bản trong hướng đối tượngĐối tượng – ObjectSự thể hiện của một thực thể xác định trong thế giới thựcVí dụ: Tivi, sinh viên, công việc Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền48Các khái niệm cơ bản trong hướng đối tượngĐối tượng – ObjectMỗi đối tượng bao gồm 2 thành phần thông tin và hành vi. Thông tin - Information:Xác định một đối tượng duy nhấtMô tả cấu trúc của đối tượngTrạng thái của đối tượng Hành vi - Behaviour:Đối tượng có thể làm gì?Có thể làm gì với đối tượng?Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền49Các khái niệm cơ bản trong hướng đối tượngLớp – ClassLớp là một nhóm các đối tượng có cùng thuộc tính, hành vi và các mối quan hệ. Đối tượng là một thể hiện của một lớp.Một lớp xác định các thuộc tính và hành vi của tất cả các đối tượng trong lớp đó.Mỗi lớp có một tên riêng biệtMột lớp là sự trừu tượng của chính nóKý hiệu Lớp trong UMLBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền50Các khái niệm cơ bản trong hướng đối tượngLớp – ClassVí dụ: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền51Các khái niệm cơ bản trong hướng đối tượngPhương thức (Methods): hiện thực hành vi của đối tượng, một phương thức ứng với một hành vi của đối tượng.Thông báo (Messages): thông tin gửi cho đối tượng kích hoạt phương thức. Một thông báo là một hàm hoặc một thủ tục gọi từ một đối tượng đến một đối tượng khácBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền52Các khái niệm cơ bản trong hướng đối tượngThuộc tính (attribute)Mô tả đặc điểm của đối tượng.Một thuộc tính phải có một kiểu xác định. Chỉ có đối tượng có thể thay đổi giá trị của thuộc tínhTập giá trị của thuộc tính xác định trạng thái của đối tượngBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền53Các khái niệm cơ bản trong hướng đối tượngQuan hệ giữ lớp và đối tượngLớp mô tả một tập các đối tượng cùng thuộc tính, hành vi, mối quan hệ và ngữ cảnh.Một đối tượng được định nghĩa bởi một lớp. Một lớp xác định một mẫu cấu trúc và hành vi của tất cả đối tượng.Lớp là một định nghĩa trừu tượng của các đối tượng.Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền54Các khái niệm cơ bản trong hướng đối tượngKhái niệm Relation và LinkRelations: Quan hệ giữa các lớp Links: quan hệ giữa các đối tượng Ký hiệu trong UMLBài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền55Các khái niệm cơ bản trong hướng đối tượngClass diagramsMô tả các lớp trong hệ thống và các loại mối quan hệ giữa chúng, bao gồm:Association Generalization (Inheritance)Aggregation or composition Dependency Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền56Câu nào sau đây là đúng? Nếu sai thì giải thích.Học viên là một lớp?.Nguyễn văn A là một lớp?.Tạo một công việc là một object.Xóa tập tin là một hành vi?Tên là một thuộc tính?Giả sử cần xây dựng một hệ thống đăng ký học phần, xác định :3 lớp cho mô hìnhXác định ít nhất 3 thuộc tính cho mỗi lớpCâu hỏi
Các file đính kèm theo tài liệu này:
- bai_giang_phan_tich_va_thiet_ke_he_thong_chuong_1_tong_quan.pptx