QUY TRINH PHÁT TRIỂN HỆ THỐNG Trương Vĩnh Hảo PTTKHT bang UML - BM HTTT Nội dung Chu kỳ phát triển hệ thống (System development life cycle – SDLC) Các phương pháp luận để phát triển hệ thống Tiến trình RUP Mô hình hoá là gì? Ba đặc điểm của lập trình hướng đối tượng PTTKHT bang UML - BM HTTT Chu kỳ phát triển hệ thống (System development life cycle – SDLC) Bất kể dùng theo phương pháp gì thì chu kỳ phát triển hệ thống nói chung gồm công đoạn (discipline) bản sau: 1.Requirements 2.Analysis 3.Design 4.Implementation 5.Test PTTKHT bang UML - BM HTTT Phương pháp luận phát triển hệ thống Phương pháp luận (methodology) là phương pháp được công nhận chính thức để thực thi SDLC Ba hướng phương pháp luận chính: ◦ Structured Design ◦ Rapid Application Development (RAD) ◦ Object–Oriented Analysis & Design (OOAD) PTTKHT bang UML - BM HTTT Structured Design Thực hiện theo thứ tự các giai đoạn của SDLC, chuyển một cách logic từ bước trước sang bước kế tiếp ◦ 1980: phương pháp waterfall, sử dụng tập lược đồ chính: Lược đồ xử lý (process model diagrams) Lược đồ dữ liệu (data model diagrams) ◦ Sau 1980: nhiều phương pháp luận khác cải tiến waterfall PTTKHT bang UML - BM HTTT Phương pháp Waterfall Requirements Analysis Design Implementation Test PTTKHT bang UML - BM HTTT Ưu và khuyết điểm của waterfall Thuận lợi: phải xác định xong yêu cầu trước bắt đầu lập trình giảm thiểu các thay đổi về yêu cầu xúc tiến dự án Hai bất lợi chính: ◦ Thiết kế phải được hoàn tất trước lập trình và mất rất nhiều thời gian đến lúc chính thức bàn giao hệ thống cho người dùng ◦ Có thể yêu cầu phải thay đổi nhiều sau phân phối môi trường nghiệp vụ đã thay đổi luc phân tích PTTKHT bang UML - BM HTTT Rapid Application Development (RAD) Xuất hiện sau1990, nhằm khắc phục các khuyết điểm của phương pháp luận waterfall bằng cách điều chỉnh các giai đoạn của SDLC Kết hợp việc thay đổi các giai đoạn của SDLC với các kỹ thuật và công cụ máy tính đặc biệt nhằm tăng tốc và nâng cao chất lượng hệ thống PTTKHT bang UML - BM HTTT Rapid Application Development (RAD) Chia làm loại: ◦ Phased Development ◦ Prototyping ◦ Throw-Away Prototype PTTKHT bang UML - BM HTTT Phased Development Chia toàn bộ hệ thống thành chuỗi các phiên bản(series of versions) được phát triển một cách tuần tự Mỗi phiên bản chứa đầy đủ các discipline của SDLC ◦ phiên bản chứa các yêu cầu bản ◦ Khi phiên bản được thực thi, phiên bản sẽ bắt đầu: dựa vào yêu cầu cùa phiên bản trước + ý tưởng và vấn đề mới nảy sinh từ người dùng từ phiên bản ◦ Quy trình này cứ tiếp tục cho đến hệ thống hoàn chỉnh hay không còn sử dụng n ữa PTTKHT bang nUML - BM HTTT 10 Bốn giai đoạn của tiến trình RUP ◦ Inception (khởi đầu) ◦ Elaboration (triển khai) ◦ Construction (xây dựng) ◦ Transition (chuyển giao) Mỗi giai đoạn được chia làm nhiều vòng lặp Mỗi giai đoạn hoàn thành phần hệ thống và chứa công đoạn (discipline hay workflow) của SDLC PTTKHT bang UML - BM HTTT 27 Bốn giai đoạn của tiến trình RUP PTTKHT bang UML - BM HTTT 28 Bốn giai đoạn của tiến trình RUP PTTKHT bang UML - BM HTTT 29 Bốn giai đoạn của tiến trình RUP PTTKHT bang UML - BM HTTT 30 Model - Mô hình là gì? Mô hình là một dạng thể hiện đơn giản hoá của thế giới thực (Efraim Turban ) Tại cần tạo mô hình? ◦ Mô hình giúp chúng ta hình dung được hệ thống thế nào ◦ Mô hình cho phép xác định được cấu trúc và hành vi của hệ thống ◦ Mô hình giúp chúng ta xây dựng hệ thống theo các mẫu ◦ Mô hình lưu trữ lại các quyết định lúc xây dựng hệ thống PTTKHT bang UML - BM HTTT 31 Modeling - Mô hình hoá là gì? • Là công việc biểu diễn giới thực bằng mơ hình • Mơ hình hố trừu tượng hóa, mơ tả chất vấn đề cấu trúc phức tạp bằng cách loại bỏ chi tiết khơng quan trọng, khiến cho tốn trở nên dễ hiểu dễ nắm bắt PTTKHT bang UML - BM HTTT 32 Các loại mô hình hóa Theo hướng xử lý(process –oriented) Theo hướng đối tượng (objectoriented) PTTKHT bang UML - BM HTTT 33 RUP và UML UML là ngôn ngữ mô hình hướng đối tượng được dùng để mô tả hệ thống thông tin và được dùng công cụ đắc lực các giai đoạn của RUP UML giúp tạo và đọc hiểu được một mô hình nó không cho biết mô hình nào nên tạo và nào tạo Đó là nhiệm vụ của quy trình phát triển phần mềm – ( RUP Rational Unified Process) PTTKHT bang UML - BM HTTT 34 Các mô hình UML Sequence Diagrams Collaboration Diagrams Statechart Diagrams Use-Case Diagrams Class Diagrams Models (multiple views Precise syntax & Semantics) Activity Diagrams Object Diagrams Component Diagrams Deployment Diagrams PTTKHT bang UML - BM HTTT 35 Các mô hình UML Business Modeling: Workflow Details Requirements: Workflow Details PTTKHT bang UML - BM HTTT 36 Thuận lợi của mô hình OO Khả xây dựng các thành phần (component) một lần và sử dụng chúng nhiều lần sau đó Ba nguyên tắc bản của hướng OO: ◦ Encapsulation ◦ Inheritance ◦ Polymorphism PTTKHT bang UML - BM HTTT 37 Encapsulation – Information hiding OO dùng class để đóng gói data (attribute) và method (behavior) lại mỗi class Nhờ đó các đối tượng có khả che giấu các thực thi của mình với các đối tượng khác Các đối tượng giao tiếp với thông qua interface Ví dụ: giao diện của đối tượng car là bánh lái, cần số, bàn thắng, bảng điều khiển, đối tượng tài xế có thể giao tiếp (lái xe) thông qua giao diện này mà không cần biết cấu làm việc bên của xe PTTKHT bang UML - BM HTTT 38 Inheritance Reusability Tính kế thừa là khả sử dụng lại đó các class được tạo bằng cách hấp thu toàn bộ các data và behaviors của lớp có sẵn và nhúng thêm vào số tính mới Ví dụ: PTTKHT bang UML - BM HTTT 39 Polymorphism Polymorphism ( tính đa hình) có nghĩa là có nhiều dạng (forms) để thực hiện cùng chức Cùng hành vi có thể xử lý khác ở các lớp khác có cùng lớp cha Ví dụ: để xây dựng chương trình vẽ hình Người dùng có thể muốn vẽ lúc đượng thẳng, lúc hình tròn, lúc hình chữ nhật Chương trình sẽ chứa nhiều class ứng với mỗi loại hình khác , mỗi lớp đều có hàm draw của chính nó Nhờ vào tính đa hình, class shape (lớp cha), ta chỉ cân gọi hàm draw, thì chương trình sẽ tuỳ vào loại hình nào ( lớp con) chạy để gọi hàm draw tương ứng của lớp đó PTTKHT bang UML - BM HTTT 40 Cám ơn em lắng nghe ... life cycle – SDLC) Bất kể dùng theo phương pháp gì thì chu kỳ phát triển hệ thống nói chung gồm công đoạn (discipline) bản sau: 1.Requirements 2. Analysis 3.Design 4.Implementation... SDLC PTTKHT bang UML - BM HTTT 27 Bốn giai đoạn của tiến trình RUP PTTKHT bang UML - BM HTTT 28 Bốn giai đoạn của tiến trình RUP PTTKHT bang UML - BM HTTT 29 Bốn giai đoạn của tiến... cho tốn trở nên dễ hiểu dễ nắm bắt PTTKHT bang UML - BM HTTT 32 Các loại mô hình hóa Theo hướng xử lý(process –oriented) Theo hướng đối tượng (objectoriented) PTTKHT bang UML - BM HTTT