940 likes | 1.33k Views
Đại Học Sư Phạm Tp. Hồ Chí Minh. NỘI DUNG KẾT QUẢ TỪNG GIAI ĐOẠN TRONG QUY TRÌNH PHÁT TRIỂN PHẦN MỀM. Tài liệu. Pressman, Software Engineering, chapter 2 Ivan Sommerville, Software Engineering, chapter 2. Mục tiêu.
E N D
Đại Học Sư Phạm Tp. Hồ Chí Minh NỘI DUNG KẾT QUẢ TỪNG GIAI ĐOẠN TRONG QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
Tài liệu • Pressman, Software Engineering, chapter 2 • Ivan Sommerville, Software Engineering, chapter 2
Mục tiêu • Mô tả nội dung, kết quả từng giai đoạn trong QTPM thông dụng và trường hợp sử dụng • Giới thiệu CASE (Computer-aided software engineering) hỗ trợ cho các hoạt động trong QTPM • Tổ chức nhân sự trong dự án phần mềm
Quy trình ptpm • Xây dựng phần mềm cần phải thực hiện theo trình tự nào? • Cần bao nhiêu người tham gia? vai trò của từng thành viên? tổ chức quản lý các thành viên? • Giao tiếp giữa các thành viên trong hệ thống?
Development Business Analyst Quy trình ptpm Bộ phận tiếp nhận yêu cầu của khách hàng Bộ phận phát triển phần mềm
Qui trình ptpm • Một tập các hoạt động để phát triển một hệ thống phần mềm • Đặc tả; • Phân tích; • Thiết kế; • Cài đặt; • Kiểm tra. • Một mô hình Quy trình CNPM là một cách trình bày trừu tượng của một qui trình. Nó biểu diễn một mô tả của một qui trình từ một góc nhìn cụ thể nào đó.
Giai đoạn khảo sát Khảo sát Nội dung: • Xác định quy trình xử lý nghiệp vụ • Thu thập biểu mẫu thống kê Phân tích Thiết kế Cài đặt Kết quả: • Tài liệu đặc tả kiến trúc hệ thống: • Yêu cầu chức năng • Yêu cầu phi chức năng • Kiến trúc hệ thống Kiểm tra Triển khai Bảo trì
Giai đoạn khảo sát (tt) Xét Hệ thống quản lý giáo vụ tại trường đại học • Qui trình xử lý nghiệp vụ • Xử lý nhập học • Xử lý nhập điểm • Xử lý sinh viên tốt nghiệp • Quản lý giảng viên • Báo biểu thống kê • Hồ sơ sinh viên • Hồ sơ giảng viên • Bảng điểm sinh viên • Bảng điểm theo lớp • Danh sách lớp • ….
Giai đoạn khảo sát (tt) Kết quả • Yêu cầu chức năng: • Lưu trữ những thông tin gì ? • Tra cứu theo tiêu chuẩn nào ? • Xử lý tính toán theo công thức nào ? • Kết xuất, thống kê ? • Yêu cầu phi chức năng: • Cài đặt trên môi trường nào ? Windows ? Web ? • Sử dụng hệ quản trị cơ sở dữ liệu nào ? • Access/SQL Server/Oracle/DB2… • Sử dụng công nghệ gì ? • Java/.NET/Delphi/PHP/…
Giai đoạn khảo sát (tt) Xét hệ thống quản lý giáo vụ trường đại học: • Kiến trúc hệ thống: • Windows Application • Database Server
Giai đoạn khảo sát (tt) Xét hệ thống quản lý giáo vụ trường đại học: • Kiến trúc hệ thống: • Web Server • Database Server • Client
Giai đoạn phân tích Khảo sát • Phân tích khả thi • Xây dựng mô hình dữ liệu mức quan niệm • Xây dựng mô hình xử lý Nội dung: Phân tích Thiết kế Kết quả: Cài đặt Kiểm tra • Hồ sơ phân tích: • Mô hình ERD (CDM) • Mô hình DFD • Phương án triển khai hệ thống Triển khai Bảo trì
Giai đoạn phân tích (tt) Xét hệ thống quản lý giáo vụ tại trường đại học: • Mô hình thực thể kết hợp (ERD) CDM – Conceptual Data Model ERD – Entity Relationship Diagram
Giai đoạn phân tích (tt) Xét hệ thống quản lý giáo vụ tại trường đại học: • Mô hình xử lý DFD
Giai đoạn phân tích (tt) Xét hệ thống quản lý giáo vụ trường đại học: • Phương án triển khai - PA1
Giai đoạn phân tích (tt) Xét hệ thống quản lý giáo vụ trường đại học: • Phương án triển khai – PA2
Giai đoạn phân tích (tt) Xét hệ thống quản lý giáo vụ trường đại học: • Phương án triển khai – PA3
Giai đoạn thiết kế Khảo sát Nội dung: • Thiết kế dữ liệu • Thiết kế xử lý • Thiết kế giao diện Phân tích Thiết kế Kết quả: Cài đặt • Hồ sơ thiết kế: • Mô hình PDM • Kiến trúc Module • Hệ thống chức năng • Hệ thống giao diện Kiểm tra Triển khai Bảo trì
Giai đoạn thiết kế (tt) Xét hệ thống quản lý giáo vụ tại trường đại học: • Mô hình vật lý (PDM) PDM – Physical Data Model
Giai đoạn thiết kế (tt) Kiến trúc phân hệ - Module
Giai đoạn thiết kế (tt) Hệ thống chức năng Module Quản lý Sinh viên
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ sinh viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ sinh viên:
Giai đoạn thiết kế (tt) Module quản lý sinh viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ sinh viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ sinh viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ Giảng viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ Giảng viên:
Giai đoạn thiết kế (tt) Hệ thống giao diện phân hệ Giảng viên:
Giai đoạn cài đặt Khảo sát Nội dung: • Tạo CSDL • Tạo giao diện • Cài đặt các xử lý Phân tích Thiết kế Cài đặt Kết quả: • Source code: • Giao diện • DLL • ActiveX Control • Sample Database • Chương trình: EXE, Web App Kiểm tra Triển khai Bảo trì
Giai đoạn kiểm tra Khảo sát • Kiểm lỗi • Kiểm lỗi phân hệ • Kiểm lỗi hệ thống Phân tích Thiết kế Nội dung: Cài đặt • Roadmap • Test plan • Test case • Bug • Test report Kết quả: Kiểm tra Triển khai Bảo trì
Giai đoạn triển khai Khảo sát • Đóng gói sản phẩm • Cài đặt thử nghiệm với dữ liệu thật của khách hàng • Hướng dẫn sử dụng Phân tích Thiết kế Cài đặt Nội dung: Kiểm tra • Chương trình cài đặt • Tài liệu hướng dẫn cài đặt • Tài liệu hướng dẫn cấu hình hệ thống Triển khai Kết quả: Bảo trì
Sưu liệu/Tài liệu liên quan • Tài liệu kỹ thuật • Tài liệu khảo sát • Tài liệu phân tích • Tài liệu thiết kế • Tài liệu hướng dẫn lập trình • Tài liệu hướng dẫn đóng gói chương trình • Tài liệu hướng dẫn người dùng • Broche • Installation guide • User Manual • Release Notes • Upgrade or Hot fixing guide (Version History)
Bài tập tình huống Kết quả khảo sát hiện trạng hệ thống quản lý nhân sự tiền lương tại một doanh nghiệp thu thập được các thông tin sau: • Mỗi nhân viên có một mã nhân viên duy nhất, và có họ tên, ngày tháng năm sinh và được lãnh lương theo hệ bậc lương của mình. Đồng thời một nhân viên thì chỉ thuộc biên chế của một và chỉ một phòng ban. Ví dụ: Nhân viên tên A có mã số NV1 thuộc biên chế phòng Tổng Hợp (với mã phòng TH) sinh năm 1986 lãnh lương chuyên viên chính. • Thông tin cần quản lý về phòng ban bao gồm: tên phòng ban, mã phòng ban và số lương nhân viên và người trưởng phòng.Ví dụ: phòng Tổng Hợp có mã TH, số lượng nhân viên là 5 có trưởng phòng là Nhân Viên A. • Mức lương gồm tên, số tiền và mô tả yêu câu công việc. Ví dụ: Mức lương chuyên viên chính là 2,5 triệu VNĐ, cần tối thiểu 5 năm kinh nghiệm.
Bài tập tình huống Kếtquảkhảosáthiệntrạnghệthốngquảnlýnhânsựtiềnlươngtạimộtdoanhnghiệpthuthậpđượccácthông tin sau: • Mỗinhânviêncómộtmãnhânviênduynhất, vàcóhọtên, ngàythángnămsinhvàđượclãnhlươngtheohệbậclươngcủamình. Thông tin cầnquảnlývềphòng ban baogồm: tênphòng ban, mãphòng ban vàsốlươngnhânviênvàngườitrưởngMứclươnggồmtên, sốtiềnvàmôtảyêucâucôngviệc. • Ngoàicácchứcnăngthêm, xóa, sửanhânviên, phòng ban, mứclươngvàlưuvàohệthống. Hằngthángcầncóbáocáobảnglươngtổnghợpcủatoàncôngtyvàbảnglương chi tiếtchotừngngười. • Cácchứcnăngcầncóphảnhồitrongvòng 30 giâyvàdùngtốiđalà 3 lần click chuộtlàcóthểsửdụng. Ứngdụngcầnđượctriểnkhaitrên web vàchạytốtvới IE và Firefox? • Xácđịnhcácyêucầunàolàchứcnăng, phi chứcnăng?Vẽhệthốngphâncấpnhómchứcnăng? • Vẽsơđồ Use case, ERD và sitemap?
Giai đoạn bảo trì Khảo sát • Hỗ trợ sữa lỗi • Theo dõi thay đổi yêu cầu • Nâng cấp Phân tích Thiết kế Cài đặt Nội dung: Kiểm tra • Tài liệu hướng dẫn giải quyết sự cố • Tài liệu hướng dẫn nâng cấp • Hostfix / Service Pack Triển khai Kết quả: Bảo trì
Mô hình thác nước mở rộng Khảo sát Phân tích Thiết kế Cài đặt Kiểm tra Triển khai Bảo trì
Mô hình dựa trên component • Dựa trên việc tái sử dụng có tính hệ thống trong đó hệ thống được tích hợp từ các thành phần đã có. • Các bước • Phân tích thành phần; • Chỉnh sửa yêu cầu; • Thiết kế hệ thống với ý tưởng tái sử dụng; • Phát triển và tích hợp. • Kiểm tra • Cách tiếp cận này đang ngày càng được sử dụng nhiều khi các chuẩn thành phần dần thống nhất.
Phát triển xoắn ốc • Qui trình được biểu diễn ở dạng xoắn ốc thay vì một dãy các hoạt động với quay lui. • Mỗi lần lặp trong xoắn ốc biểu diễn một pha trong qui trình. • Không có các pha cố định như đặc tả hay thiết kế - số lần lặp trong xoắn ốc được chọn phụ thuộc vào nhu cầu. • Các rủi ro được đánh giá và giải tỏa một cách rõ ràng xuyên suốt qui trình.
Quy trình xoắn ốc Lập kế hoạch Tiếp xúc Khách hàng Đánh giá của khách hàng Phân tích rủi ro Phân tích, thiết kế Xây dựng và triển khai
Hoạt động trong qui trình • Đặc tả phần mềm • Thiết kế và cài đặt phần mềm • Kiểm tra phần mềm • Tiến hóa phần mềm
Đặc tả phần mềm • Quá trình lập ra những dịch vụ nào là cần thiết và ràng buộc trong quá trình vận hành và phát triển hệ thống. • Qui trình kỹ thuật thu thập yêu cầu • Nghiên cứu thực tế; • Phân tích và suy luận ra yêu cầu; • Đặc tả yêu cầu; • Kiểm tra yêu cầu.
Thiết kế và cài đặt phần mềm • Quá trình chuyển đặc tả hệ thống thành hệ thống thực hiện được. • Thiết kế phần mềm • Thiết kế một cấu trúc phần mềm nhằm hiện thực hóa đặc tả; • Cài đặt • Chuyển cấu trúc này thành một chương trình thực thi được; • Hoạt động thiết kế và cài đặt thường quan hệ mật thiết với nhau và có thể đan xen nhau.
Hoạt động của quá trình thiết kế • Thiết kế kiến trúc • Đặc tả trừu tượng • Thiết kế giao diện • Thiết kế thành phần • Thiết kế cấu trúc dữ liệu • Thiết kế giải thuật
Phương pháp cấu trúc • Cách tiếp cận hệ thống để phát triển một thiết kế phần mềm. • Bản thiết kế thường được sưu liệu lại thành một tập các mô hình đồ họa. • Một số mô hình có thể có • Mô hình đối tượng (Object); • Mô hình trình tự (Sequence); • Mô hình chuyển trạng thái (Statechart); • Mô hình cấu trúc; • Mô hình luồng dữ liệu (DFD).
Lập trình và gỡ lỗi • Chuyển một bản thiết kế thành một chương trình và loại bỏ các lỗi khỏi chương trình đó. • Lập trình là một hoạt động cá nhân – không có một qui trình lập trình thông dụng. • Lập trình viên tiến hành một vài kiểm tra chương trình để phát hiện các lỗi trong chương trình và loại bỏ các lỗi đó trong quá trình gỡ lỗi.
Kiểm tra phần mềm • Sự xác minh và kiểm tra nhằm chỉ ra rằng một hệ thống phù hợp với đặc tả của nó và đáp ứng yêu cầu của khách hàng. • Bao gồm qui trình xem xét và kiểm tra, và kiểm thử hệ thống. • Kiểm thử hệ thống bao gồm thực thi hệ thống với các “test case” vốn được dẫn xuất từ bản đặc tả của dữ liệu thật được xử lý bởi hệ thống.