Bài giảng phân tích thiết kệ hệ thống (Chương 1)Bài giảng phân tích thiết kệ hệ thống (Chương 1)Bài giảng phân tích thiết kệ hệ thống (Chương 1)Bài giảng phân tích thiết kệ hệ thống (Chương 1)Bài giảng phân tích thiết kệ hệ thống (Chương 1)Bài giảng phân tích thiết kệ hệ thống (Chương 1)
Trang 1Nguyễn Thị Ngọc ThanhKhoa CNTT-ĐH GTVT tp.HCM
Trang 2 Làm theo nhóm: tối đa 3 sinh viên
Nội dung: phân tích và thiết kế hệ thống sử dụng Rational Rose
Đề tài: sinh viên tự chọn
Trang 3 Chương 1: Tổng quan về phân tích thiết kế hệthống thông tin
Chương 2: Giới thiệu về phân tích và thiết kếhướng đối tượng với UML
Trang 4 Systems Analysis and Design with UML
Version 2.0- An object oriented approach; Alan Dennis, Barbara Haley Wixom, David
Tegarden
…
Nguyễn Thị Ngọc Thanh - Khoa CNTT 4
Trang 6 Hệ thống (System) là tập hợp các thành phần có
liên quan lẫn nhau, cùng hợp tác để thực hiệnmột nhiệm vụ nào đó
Hệ thống thông tin (Information System - IS)– là
một tập các thành phần có liên quan, thực hiệnchức năng tập hợp, xử lý, lưu trữ và cung cấpthông tin đầu ra
Nguyễn Thị Ngọc Thanh - Khoa CNTT 6
Trang 7 Hệ thống xử lý giao dịch (Transaction Processing System - TPS)
Lưu trữ thông tin về các giao dịch của doanh nghiệp.
Hệ thống thông tin quản lý (Management Information System
-MIS)
Lấy các thông tin được lưu từ hệ thống TPS để xử lý và đưa ra các báo cáo mà người quản lý cần cho việc lập kế hoạch và điều hành doanh nghiệp.
Hệ thống thông tin thi hành (Executive Information System - EIS):
Cung cấp thông tin được sử dụng trong môi trường cạnh tranh và lập các kế hoạch chiến lược.
Hệ hỗ trợ quyết định (Decision Support Systems - DSS)
Hệ hỗ trợ giao tiếp (Communication and Office Support Systems)
Trang 8Nguyễn Thị Ngọc Thanh - Khoa CNTT 8
Phân loại hệ thống thông tin
Trang 10Nguyễn Thị Ngọc Thanh - Khoa CNTT 10
Trang 11 Các loại tiến trình:
Tiến trình thác nước (mô hình thác nước).
Tiến trình lặp và tăng dần (mô hình lặp và tăng dần).
Trang 12Nguyễn Thị Ngọc Thanh - Khoa CNTT 12
Trang 13 Phân tích yêu cầu(Requirements Analysis)
Mô tả được vấn đề và yêu cầu của khách hàng (vấn đề của hệ thống là gì? Và hệ hống cần phải làm gì?).
Tập trung vào việc điều tra vấn đề thay cho việc tìm giải pháp.
Ví dụ….
Trang 15 Phân biệt giữa phân tích và thiết kế
Phân tích hệ thống
Tập trung vào những vấn đề nghiệp vụ
Trả lời câu hỏi hệ thống phải thực hiện những việc gì dựa trên thuật ngữ dữ liệu, quy trình và giao diện.
Độc lập với những công nghệ và kỹ thuật được sử dụng để giải quyết vấn đề.
Trang 16 Cài đặt (Code &Unit Testing)
Tập trung vào mã hóa chương trình.
Nguyễn Thị Ngọc Thanh - Khoa CNTT 16
Trang 17 Thử nghiệm (kiểm thử)
Kiểm tra xem chương trình đã đúng và đáp ứng đúng như yêu cầu của khách hàng chưa.
Trang 18 Quy trình thác nước có nhiều rủi ro
Nguyễn Thị Ngọc Thanh - Khoa CNTT 18
Trang 19 Lặp nghĩa là làm đi làm lại một việc gì đó.
Tiến trình lặp và tăng dần:
Thực hiện lần lượt các bước phân tích, thiết kế, cài đặt , kiểm tra và triển khai phần mềm theo từng bước nhỏ nhiều lần.
Trang 20Nguyễn Thị Ngọc Thanh - Khoa CNTT 20
Trang 22 Các đặc tính của quy trình lặp:
Các rủi ro chính được giải quyết trước khi có các phát triển lớn.
Các vòng lặp đầu tiên cho phép nhận feedback.
Việc kiểm chứng và tích hợp diễn ra liên tục.
Các cột mốc cục bộ sẽ định ra các tiêu điểm ngắn hạn.
Sự tiến triển được đo bằng bản cài đặt.
Các cài đặt bộ phận có thể triển khai riêng.
Nguyễn Thị Ngọc Thanh - Khoa CNTT 22
Trang 23 Rủi ro về thương mại: có thể thu thập đủ thôngtin cạnh tranh về sản phẩm trên thị trường?
Rủi ro về tài chính: Nhà đầu tư phát triển phầnmềm có đủ kinh phí để hoàn thành dự án?
Rủi ro về kỹ thuật: Nền tảng công nghiệp vữngchắc và đã được thử thách?
Rủi ro về phát triển: Đội ngũ phát triển có đủkinh nghiệm? Họ có làm chủ hoàn toàn côngnghệ đang được sử dụng?
Trang 24 Phát triển phần mềm được quan sát từ 2 góc độ:
Kỹ thuật: kỹ nghệ, kiểm tra chất lượng, và phương pháp mô hình hóa.
Hỗ trợ: khía cạnh tài chính, chiến lược, thị trường và con người.
Nguyễn Thị Ngọc Thanh - Khoa CNTT 24
Trang 25 Tập trung vào triển khai và tổ chức các hoạtđộng kỹ thuật dẫn tới sản sinh các thế hệ phầnmềm khác nhau.
Chu kỳ phát triển được xem như trình tự lặp,qua các chu kỳ lặp phần mềm tiến triển dần
Từ lặp này đến lặp khác các chức năng mớiđược bổ sung và chất lượng được nâng cao
Trang 26 Phát triển phần mềm thực hiện trong 4 pha:
Pha khảo sát hay khởi đầu (inception)
Chi tiết (elaboration)
Xây dựng (construction)
Chuyển giao (transition).
Nguyễn Thị Ngọc Thanh - Khoa CNTT 26
Trang 27Inception Elaboration Construction Transition
Phases Core Workflows
An iteration in the elaboration phase
Trang 28 Khảo sát thị trường, đặc tả sản phẩm cuốicùng, xác định phạm vi dự án.
Pha này trả lời các câu hỏi:
Hệ thống phần mềm giúp giải quyết vấn đề gì?
Bao lâu thì có phần mềm?
Kinh phí phần mềm bao nhiêu?
Tính khả thi của dự án thế nào?
Chuyên gia khảo sát thị trường và phân tíchcạnh tranh thực hiện pha này
Nguyễn Thị Ngọc Thanh - Khoa CNTT 28
Trang 29 Đưa ra bức tranh tổng quát của sản phẩm để dễ dàng nhận ra và tách các thành phần cho pha chi tiết.
Theo E.Morel thì bức tranh này được mô tả như sau:
B ức tranh sản phẩm = Cái gì + Cho ai + Giá bao nhiêu
Trang 30Tóm lại:
Thu thập các yêu cầu của khách hàng
Kết quả của pha này là Báo cáo Kết quả nghiêncứu tính khả thi
Báo cáo được chấp nhận thì bắt đầu Pha phântích
Nguyễn Thị Ngọc Thanh - Khoa CNTT 30
Trang 31 Phân tích yêu cầu và mô hình hóa lĩnh vực.
Phân tích yêu cầu được thực hiện trên cơ sở khảo sát các trường hơp sử dụng (use case).
Các trường hợp sử dụng được mô tả theo khái niệm của khách hàng.
Phân tích viên chuyển đổi các khái niệm trường hợp sử dụng sang hình thức gần máy tính hơn.
Trang 32Ví dụ: Trường hợp bán hàng (ô tô)
Nguyễn Thị Ngọc Thanh - Khoa CNTT 32
<<tham gia vào>>
<<tham gia vào>>
<<tham gia vào>>
Cài đặt
Trang 33 Nhiệm vụ:
Lựa chọn kiến trúc
Làm giảm mức độ rủi ro của dự án
Xác định được kế hoạch đầy đủ cho cácnhiệm vụ phát triển hệ thống phần mềm
Tham gia vào pha này: kiến trúc sư hệ thống,chuyên gia lĩnh vực, người sử dụng, đại diệncủa nhóm kiểm tra chất lượng và kiểm thử,người viết tài liệu, chuyên gia về các công cụ
Trang 34 Sản phẩm của pha phân tích:
Mô tả hành vi hệ thống dưới hình thức trườnghơp sử dụng
Kiến trúc, tài liệu mô tả kiến trúc, mô tả rủiro
Kế hoạch đầy đủ cho phát triển dự án
Kế hoạch chi tiết cho các vòng lặp
Có thể có bản thảo hướng dẫn sử dụng hệthống
Nguyễn Thị Ngọc Thanh - Khoa CNTT 34
Trang 35 Đề cập tiến trình phát triển và kiểm tra phầnmềm.
Pha xây dựng tương ứng với triển khai các vònglặp
Sản phẩm: hoàn thiện và được chuyển giao
Trang 36 Bắt đầu từ khi phần mềm hoàn thiện đượcchuyển đến cộng động người sử dụng.
Pha chuyển giao bao gồm:
Trang 37 Phương pháp hướng chức năng
Phương pháp hướng đối tượng
Trang 38 Tiếp cận truyền thống của ngành CNPM.
Theo phương pháp này:
Xây dựng phần mềm là dãy tương tác chia nhỏ và
hợp nhất.
Chia nhỏ để hiểu rõ vấn đề, nhận diện chức năng của
hệ thống.
Hợp nhất để xây dựng hệ thống.
Người phát triển phần mềm tập trung vào các nhiệm
vụ điều khiển và tách thuật toán lớn thành các thuật toán nhỏ.
Khối chính hình thành phần mềm là các hàm hay thủ tục.
Nguyễn Thị Ngọc Thanh - Khoa CNTT 38
Trang 39Chức năng con 2.1
Chức năng con 2.2
Trang 40Nhận xét:
Sẽ tốt nếu ko thay đổi theo thời gian.
Trong thực tế, phát triển phần mềm ko bao giờ kết
thúc hoàn toàn, luôn cần phải thay đổi và nâng cấp.
Nguyễn Thị Ngọc Thanh - Khoa CNTT 40
Trang 41 Hướng đối tượng là lối tư duy vấn đề theo lối
ánh xạ các thành phần trong bài toán vào các
đối tượng ngoài đời thực
Chia hệ thống thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với
nhau
Hợp nhất các thành phần tạo thành hệ thống
Trang 42Nguyễn Thị Ngọc Thanh - Khoa CNTT 42
thang máy
Công tắc Đèn
Mở
Bật đèn
Lên tầng 2
Trang 43 Chức năng của hệ thống được biểu diễn thông qua cộng tác của các đối tượng.
Việc thay đổi, tiến hóa chức năng của hệ thống không ảnh hưởng đến cấu trúc tĩnh của phần
mềm
Hệ thống phức tạp được xây dựng từ các thực thể đơn giản
Trang 44 Hệ thống sẽ làm việc như thế nào?
Triển khai (Implementation)
Triển khai hệ thống
Nguyễn Thị Ngọc Thanh - Khoa CNTT 44
Trang 45 Xác định giá trị kinh doanh của hệ thống
Phân tích tính khả thi
Xây dựng kế hoạch công việc
Xác định nguồn nhân lực cho dự án
Điều khiển và quản lý dự án
Trang 46 Phân tích hệ thống
Thu thập các nguồn thông tin
Mô hình hóa quá trình
Mô hình hóa dữ liệu
Nguyễn Thị Ngọc Thanh - Khoa CNTT 46
Trang 47 Xác định chiến lược thiết kế
Thiết kế cấu trúc
Thiết kế giao diện
Thiết kế cơ sở dữ liệu
Thiết kế chương trình
Trang 48 Xây dựng hệ thống
Cài đăt hệ thống
Nguyễn Thị Ngọc Thanh - Khoa CNTT 48