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 và thiết kế hệ thống
HỆ THỐNG LÀ GÌ?
WHAT IS SYSTEM
• Một nhóm các thành phần phụ thuộc lẫn nhau hoặc
tương tác lẫn nhau tạo nên một thể hợp nhất
• Vd: hệ thống thanh toán, hệ thống truyền thông, hệ
thống giao thông, hệ thống mạng
• Trong một hệ thống, mỗi một thành phần có thể có
những chức năng khác nhau nhưng khi kết hợp lại
chúng có những chức năng đặc biệt.
Hệ thống thông tin là một tập hợp và kết hợp của các 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 tổ
chức.
• Vd:
– Tập hợp các báo cáo kế toán của một tổ chức là HTTT về
hoạt động tài chính của đơn vị đó.
– Học bạ và bằng tốt nghiệp là HTTT về kết quả học tập và
rèn luyện của học sinh, sinh viên trong quá trình đào tạo tại
trường.
Tóm tắt nội dung 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 và thiết kế hệ thống
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN Chương I Trần Thi Kim Chi 1 NỘI DUNG 1.1. Các khái niệm cơ bản 1.2. Phân tích và thiết kế hệ thống thông tin là gì? 1.3. Chu kỳ phát triển hệ thống thông tin (systems development Life cycle - SDLC). 1.4. Phân loại hệ thống thông tin 1.5. Vai trò của nhà phân tích hệ thống (system analyst) 1.6. Các phương pháp phát triển hệ thống Trần Thi Kim Chi 2 3Trần Thi Kim Chi 4Các khái niệm và các định nghĩa cơ bản – Data: sự biểu diễn của các đối tượng và sự kiện (văn bản, hình ảnh, âm thanh,) được ghi nhận, có ý nghĩa không rõ ràng và được lưu trữ trên các phương tiện của máy tính. Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, Dữ liệu không có cấu trúc: hình ảnh, âm thanh, đoạn phim, – Information: dữ liệu đã được xử lý để làm tăng sự hiểu biết của người sử dụng. Phân biệt giữa data và information?? Database System Data (dữ liệu) và information (thông tin) Trần Thi Kim Chi Database System 5 Thông tin: dữ liệu trong ngữ cảnh STT Mã sinh viên Họ và tên sinh viên Lớp Tuổi 1 10273 Nguyễn Văn Hoà CDTH7 20 2 00298 Nguyễn Minh Tâm CDTH7 19 151 50542 Hồ Xuân Phương TCTH33 18 152 50075 Lê Việt Dũng CNTH34 20 Dữ liệu 1 10273 Nguyễn Văn Hoà CDTH7 20 2 00298 Nguyễn Minh Tâm CDTH7 19 151 50542 Hồ Xuân Phương TCTH33 18 152 50075 Lê Việt Dũng CNTH34 20 Các khái niệm và các định nghĩa cơ bản Trần Thi Kim Chi 5 6Database System Các khái niệm và các định nghĩa cơ bản DỮ LIỆU (DATA) THÔNG TIN (INFORMATION) XỬ LÝ Trần Thi Kim Chi HỆ THỐNG LÀ GÌ? WHAT IS SYSTEM • Một nhóm các thành phần phụ thuộc lẫn nhau hoặc tương tác lẫn nhau tạo nên một thể hợp nhất • Vd: hệ thống thanh toán, hệ thống truyền thông, hệ thống giao thông, hệ thống mạng • Trong một hệ thống, mỗi một thành phần có thể có những chức năng khác nhau nhưng khi kết hợp lại chúng có những chức năng đặc biệt. Trần Thi Kim Chi 7 HỆ THỐNG THÔNG TIN INFORMATION SYSTEM • Hệ thống thông tin là một tập hợp và kết hợp của các 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 tổ chức. • Vd: – Tập hợp các báo cáo kế toán của một tổ chức là HTTT về hoạt động tài chính của đơn vị đó. – Học bạ và bằng tốt nghiệp là HTTT về kết quả học tập và rèn luyện của học sinh, sinh viên trong quá trình đào tạo tại trường... Trần Thi Kim Chi 8 CÁC THÀNH PHẦN CỦA HỆ THỐNG THÔNG TIN • Phạm vi (boundary, scope): – giới hạn của hệ thống với môi trường. • Môi trường • Dữ liệu nhập (input): – dữ liệu từ môi trường vào hệ thống • Kết xuất (output): – dữ liệu từ hệ thống ra môi trường • Các thành phần (component): – các đối tượng tạo thành hệ thống • Các mối liên kết tương quan (interrelationship): – các mối liên kết giữa các thành phần của hệ thống • Ràng buộc (constraints) • Các giao diện (interface): – cơ chế tương tác với một thành phần Trần Thi Kim Chi 9 PHÂN LOẠI HỆ THỐNG THÔNG TIN INFORMATION SYSTEM • Hệ thống xử lý giao dịch (Transaction processing system – TPS): – là một HTTT có chức năng thu thập và xử lý dữ liệu về các giao dịch nghiệp vụ. • Hệ thống thông tin quản lý (Management information system - MIS) – là HTTT cung cấp thông tin cho việc báo cáo hướng quản lý dựa trên việc xử lý giao dịch và các hoạt động của tổ chức. • Hệ thống hỗ trợ quyết định (Decision support system – DSS) – là HTTT vừa có thể trợ giúp xác định các thời cơ ra quyết định, vừa có thể cung cấp thông tin để trợ giúp việc ra quyết định. Trần Thi Kim Chi 10 PHÂN LOẠI HỆ THỐNG THÔNG TIN INFORMATION SYSTEM • Hệ thống thông tin điều hành (Excutive information system – EIS) – là HTTT hỗ trợ nhu cầu lập kế hoạch và đánh giá của các nhà quản lý điều hành. • Hệ thống chuyên gia (Expert System) – là HTTT thu thập tri thức chuyên môn của các chuyên gia rồi mô phỏng tri thức đó nhằm đem lại lợi ích cho người sử dụng bình thường. • Hệ thống truyền thông và cộng tác (Communication and collaboration system) – là HTTT làm tăng hiệu quả giao tiếp giữa các nhân viên, đối tác, khách hàng và nhà cung cấp để củng cố khả năng cộng tác giữa họ. • Hệ thống tự động văn phòng (Office automation system) – là HTTT hỗ trợ các hoạt động nghiệp vụ văn phòng nhằm cải thiện luồng công việc giữa các nhân viên. Trần Thi Kim Chi 11 CÁC LOẠI ỨNG DỤNG CỦA HỆ THỐNG THÔNG TIN • Hệ thống thông tin quản lý: Bao gồm các hệ thống thông tin hỗ trợ các hoạt động nghiệp vụ và quản lý của các doanh nghiệp, các tổ chức. Ví dụ: hệ thống quản lý nhân sự, hệ thống kế toán, hệ thống tính cước và chăm sóc khách hàng, hệ thống quản lý thư viện, hệ thống đào tạo trực tuyến ... • Các hệ thống Website: là các hệ thống có nhiệm vụ cung cấp thông tin cho người dùng trên môi trường mạng Internet. • Hệ thống thương mại điện tử: Là các hệ thống website đặc biệt phục vụ việc trao đổi mua bán hàng hoá, dich vụ trên môi trường Internet. Hệ thống TMDT bao gồm cả các nền tảng hỗ trợ các giao thức mua bán, các hình thức thanh toán, chuyển giao hàng hoá. • Hệ thống điều khiển: là các hệ thống phần mềm gắn với các thiết bị phần cứng hoặc các hệ thống khác nhằm mục đích điều khiển và giám sát hoạt động của thiết bị hay hệ thống đó.Trần Thi Kim Chi 12 CÁC CHUYÊN NGÀNH CỦA HỆ THỐNG THÔNG TIN – Phân tích viên hệ thống (systems analyst) – Tích hợp hệ thống (system integrator) – Quản trị cơ sở dữ liệu – Phân tích hệ thống thông tin. – Quản trị hệ thống thông tin trong tổ chức. – Lập trình quản lý cơ sở dữ liệu. – Quản lý cơ sở dữ liệu, hỗ trợ ra quyết định cho lãnh đạo, quản lý. Trần Thi Kim Chi 13 PHÂN TÍCH THIẾT KẾ HỆ THỐNG LÀ GÌ? • Phân tích thiết kế hệ thống thông tin là quá trình tìm hiểu và mô phỏng lại hiện tượng, quy trình nghiệp vụ trong thế giới thực từ đó xây dựng hệ thống để giải quyết bài toán đặt ra trên máy tính Trần Thi Kim Chi 14 PHÂN TÍCH THIẾT KẾ HỆ THỐNG LÀ GÌ? • Chất lượng phân tích thiết kế là nhân tố quyết định chất lượng phần mềm, không phân tích hoặc phân tích không tốt sẽ dẫn đến phần mềm chất lượng thấp: Không quản lý được những thay đổi về yêu cầu Khó kiểm thử Khó bảo trì Không có tính tiến hóa Không tái sử dụng được Trần Thi Kim Chi 15 TẠI SAO PHẢI PHÂN TÍCH THIẾT KẾ HỆ THỐNG • Theo điều tra của IBM, thì những sai sót trong phân tích và thiết kế làm chi phí bảo trì trung bình của các hệ thống thông tin chiếm tới gần 60% tổng chi phí. Một lỗi bỏ sót trong giai đoạn phân tích đến khi lập trình và cài đặt mới phát hiện ra thì chi phí sửa chữa tăng 40 lần, và nếu để đến giai đoạn bảo trì mới phát hiện ra thì chi phí sửa chữa tăng 90 lần. Thêm vào đó, nếu thiếu các tài liệu phân tích thiết kế có thể dẫn đến hệ thống không thể bảo trì. • Một kỹ sư CNTT sau một năm có thể trở thành lập trình viên giỏi, thì họ cần phải mất nhiều năm mới trở thành một nhà phân tích và thiết kế viên và sau nhiều năm nữa mới trở thành một nhà phân tích thiết kế viên giỏi. Trần Thi Kim Chi 16 TẠI SAO PHẢI PHÂN TÍCH THIẾT KẾ HỆ THỐNG • Sự cần thiết của phân tích thiết kế hệ thống – Tìm hiểu nhu cầu của con người để phân tích dữ liệu đầu vào, xử lý, lưu trữ dữ liệu và xuất thông tin trong một ngữ cảnh của một tổ chức cụ thể. – Thô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 đề. Trần Thi Kim Chi 17 VAI TRÒ CỦA NHÀ PHÂN TÍCH HỆ THỐNG (SYSTEM ANALYST) Người phân tích hệ thống là: • Người tư vấn (consultant) bên ngoài cho các nghiệp vụ – Được thuê để xác định các vấn đề của HTTT – Cung cấp viễn cảnh mới • Chuyên gia (expert) bên trong một nghiệp vụ – Là nguồn kiến thức ở trong công ty – Là người giải quyết vấn đề • Tác nhân thay đổi (change agent) – Tạo điều kiện thay đổi cùng HTTT – Xây dựng kế hoạch thay đổi và thường xuyên giao tiếp với những người có liên quan – Người có các kỹ năng giao tiếp (communication skill) với người sử dụng, người quản lý, người lập trình và nhà chuyên môn Trần Thi Kim Chi 18 VAI TRÒ CỦA NHÀ PHÂN TÍCH HỆ THỐNG (SYSTEM ANALYST) Các kỹ năng cần có • Phân tích (analytical) • Kỹ thuật (technical) • Quản lý (managerial) • Quan hệ cá nhân (interpersonal) • Vai trò của phân tích hệ thống – Như một người cố vấn: chỉ ra các vấn đề bên trong doanh nghiệp, những thuận lợi và bất lợi – Hỗ trợ về mặt chuyên môn: chỉ ra mối liên quan giữa chuyên môn trong doanh nghiệp và phần mềm máy tính mà họ sử dụng. – Một nhân tố tạo ra sự thay đổi: có thể thực hiện bất kỳ hoạt động nào trong vòng đời phát triển hệ thống Trần Thi Kim Chi 19 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Gồm các giai đoạn sau: • Nghiên cứu sơ bộ (Preliminary Investigation hay còn gọi là Feasibility Study) • Phân tích yêu cầu (Analysis) • Thiết kế hệ thống (Design of the System) • Xây dựng phần mềm (Software Construction) • Thử nghiệm hệ thống (System Testing) • Thực hiện triển khai (System Implementation) • Bảo trì và nâng cấp ) (Maintain and upgrad)e Trần Thi Kim Chi 20 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Nghiên cứu sơ bộ (Preliminary Investigation hay còn gọi là Feasibility Study): • Các hoạt động: thu thập các ý tưởng, nhận biết rủi ro, nhận biết các giao diện bên ngoài, nhận biết các các chức năng chính mà hệ thống cần cung cấp, và có thể tạo một vài nguyên mẫu dùng để “minh chứng các khái niệm của hệ thống”. • Nhóm phát triển hệ thống cần xem xét các yêu cầu của doanh nghiệp (cần dùng hệ thống), những nguồn tài nguyên có thể sử dụng, công nghệ cũng như cộng đồng người dùng cùng các ý tưởng của họ đối với hệ thống mới. Kết quả của giai đoạn này là: Báo cáo kết quả nghiên cứu tính khả thi Trần Thi Kim Chi 21 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Phân tích yêu cầu (Analysis): • Mục tiêu: hình thành tài liệu đặc tả yêu cầu (Requirements Specifications) gồm nội dung sau: – Xác định hệ thống cần phải làm gì. – Nghiên cứu thấu đáo tất cả các chức năng cần cung cấp và những yếu tố liên quan. – Xây dựng một mô hình nêu bật bản chất vấn đề từ một hướng nhìn có thực. – Trao định nghĩa vấn đề cho chuyên gia lĩnh vực để nhận sự đánh giá, góp ý. • Tài liệu này được xem: – Cam kết giữa khách hàng và tổ chức phát triển hệ thống về cái mà hệ thống có thể làm (và cái mà hệ thống không thể làm) – Cơ sở để đội ngũ phát triển phát triển hệ thống – Mô hình tương đối đầy đủ về những gì hệ thống đòi hỏiTrần Thi Kim Chi 22 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Phân tích yêu cầu (Analysis): • Giai đoạn này 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) • Tiến trình phân tích yêu cầu bao gồm các hoạt động lặp – Hiểu lĩnh vực vấn đề – Thu thập yêu cầu – Phân lớp – Đánh giá – Nghiên cứu khả thi Trần Thi Kim Chi 23 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Phân tích yêu cầu (Analysis): • Khi nào kết thúc phân tích yêu cầu?: không có quy định • Trả lời các câu hỏi sau trước khi qua giai đoạn tiếp theo: – Khách hàng, người sử dụng cuối cùng và nguời phát triển đã hiểu trọn vẹn hệ thống? – Mô hình của hệ thống đòi hỏi xây dựng đã đuợc hình thành đầy đủ? • có đầy đủ các chức năng (dịch vụ) • có đầy đủ đầu vào- đầu ra • cần loại dữ liệu nào Trần Thi Kim Chi 24 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Thiết kế hệ thống (Design of the System): • Hai tiến trình thiết kế hệ thống: – Thiết kế kiến trúc (logic) • Phân hoạch các yêu cầu thành các thành phần • Tài liệu thiết kế kiến trúc mô tả mỗi thành phần cần làm gì và chúng tương tác với nhau như thế nào để hình thành các chức năng hệ thống – Thiết kế chi tiết (vật lý) • Thiết kế từng thành phần • Tài liệu thiết kế chi tiết mô tả mỗi thành phần và cả hệ thống phải làm Trần Thi Kim Chi 25 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Thiết kế hệ thống (Design of the System): • Các hoạt động thường được thực hiện trong giai đoạn thiết kế: – Nhận biết form nhập liệu tùy theo các thành phần dữ liệu cần nhập. – Nhận biết reports và những output mà hệ thống mới phải sản sinh. – Thiết kế forms – Nhận biết các thành phần dữ liệu và bảng để tạo database. – Ước tính các thủ tục giải thích quá trình xử lý từ input đến output. Kết quả của giai đoạn thiết kế là Đặc tả thiết kế (Designer Specifications) mô tả: – Chức năng của mỗi thành phần – Giao diện của mỗi thành phầnTrần Thi Kim Chi 26 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Lập trình và kiểm thử: – Xây dựng hệ thống (construction): hệ thống được xây dựng 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. Trần Thi Kim Chi 27 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Tích hợp và kiểm thử: • Tổ hợp các module chương trình thành hệ thống • Kiểm thử hệ thống chương trình để đảm bảo đáp ứng đầy đủ yêu cầu • Khi người phát triển thỏa mãn với sản phẩm: khách hàng kiểm thử hệ thống • Pha này kết thúc khi khách hàng chấp nhận sản phẩm Trần Thi Kim Chi 28 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Bảo trì hệ thống: • Pha này bắt đầu khi hệ thống được cài đặt sử dụng thực tế, sau khi đã cấp phát sản phẩm cho khách hàng • Bảo trì bao gồm mọi thay đổi sản phẩm để khách hàng đồng ý rằng họ đã thỏa mãn với sản phẩm. • Bảo trì bao gồm: – sửa phần mềm • loại bỏ các lỗi mà không phát hiện trong các pha truớc dó – nâng cấp phần mềm • Hiệu năng: Bổ sung chức năng, tăng tốc độ thực hiện chương trình • Thích nghi: Các thay đổi cho phù hợp với môi truờng phần mềm • Thời gian trung bình: – sửa lỗi 17,5%, hiệu năng 60%, thích nghi 18%.Trần Thi Kim Chi 29 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Các mô hình phát triển hệ thống thông tin • Mô hình thác nước • Mô hình RUP • Mô hình Agile • . Trần Thi Kim Chi 30 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Mô hình waterfall Trần Thi Kim Chi 31 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Mô hình iterative 1. Initial Planning 2. Planning 3. Requirements 4. Analysis & Design 5. Implementation 7. Deployment 6. Test 8. Evaluation Management Environment (on-going) Each iteration results in an executable release Trần Thi Kim Chi 32 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Mô hình RUP- Rational Unified Process • Một cách tiếp cận có kỹ thuậ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. Trần Thi Kim Chi 33 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Mô hình RUP- Rational Unified Process • Giai đ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 định • Thực thi (Construction): phát triển và hoàn thành hệ thống • Chuyể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. Trần Thi Kim Chi 34 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Mô hình Agile: iterative and collaborative • Đặ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ạn: o Thăm dò (exploration) o Lập kế hoạch (planning) o 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) o Sản xuất (productionizing) Bảo trì (maintenance) Trần Thi Kim Chi 35 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Trần Thi Kim Chi 36 CHU KỲ PHÁT TRIỂN HỆ THỐNG THÔNG TIN (SYSTEMS DEVELOPMENT LIFE CYCLE - SDLC) Phương pháp Agile: Trần Thi Kim Chi 37 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 1. Structured Analysis – Phân tích theo hướng cấu trúc 2. Object-Oriented Analysis – Phân tích theo hướng đối tượng 3. Agile/Adaptive methods Trần Thi Kim Chi 38 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 1. Structured Analysis – Phân tích theo hướng cấu trúc 2. Object-Oriented Analysis – Phân tích theo hướng đối tượng 3. Agile/Adaptive methods Trần Thi Kim Chi 39 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 1. Structured Analysis: • Phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xác định. • Phần mềm được thiết kế dựa trên một trong hai hướng: hướng dữ liệu và hướng hành động. – Hướng dữ liệu dựa trên việc phân rã phần mềm theo các chức năng cần đáp ứng với dữ liệu cho các chức năng đó giúp cho những người phát triển hệ thống dễ dàng xây dựng ngân hàng dữ liệu. – Hướng hành động lại tập trung phân tích hệ phần mềm dựa trên các hoạt động thực thi các chức năng của phần mềm đó. Trần Thi Kim Chi 40 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG Trần Thi Kim Chi 41 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 1. Structured Analysis: Ưu điểm: • Tư duy phân tích thiết kế rõ ràng, • Chương trình sáng sủa dễ hiểu. • Xác định các yêu cầu HT thời gian dài trước khi bắt đầu lập trình. • Tối thiểu hóa sự thay đổi yêu cầu khi dự án bắt đầu. Nhược điểm: • Không hỗ trợ việc sử dụng lại. • Không phù hợp cho phát triển các phần mềm lớn. • Thiết kế phải hoàn thành trên giấy trước khi bắt đầu lập trình. • Mất nhiều thời gian giữa việc hoàn thành các đề nghị hệ thống trong giai đoạn phân tích và bàn giao HT. • HT có thể cũng phải điều chỉnh lại vì môi trường kinh doanh đã thay đổi trong giai đoạn Phân Tích Trần Thi Kim Chi 42 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 2. Object-Oriented Analysis – Phân tích theo hướng đối tượng • Tư duy theo cách á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. • Một hệ thống được chia tương ứng thành các thành phần nhỏ gọi là các đối tượng, mỗi đối tượng bao gồm đầy đủ cả dữ liệu và hành động liên quan đến đối tượng đó. • Các đối tượng trong một hệ thống tương đối độc lập với nhau và phần mềm sẽ được xây dựng bằng cách kết hợp các đối tượng đó lại với nhau thông qua các mối quan hệ và tương tác giữa chúng. Trần Thi Kim Chi 43 CÁC PHƯƠNG PHÁP PHÁT TRIỂN HỆ THỐNG 2. Object-Oriented Analysis – Phân tích theo hướng đối tượng • Ưu điểm – Mô hình khái niệm về các lĩnh vực rõ ràng – Giảm chi phí thực hiện – Giảm sự phức tạp của hệ thống – Tăng hiệu quả và chất lượng của hệ thống – Giảm rủi ro – Giảm chi phí bảo trì – Hệ thống mềm dẻo – Hỗ trợ sử dụng lại mã nguồn – Phù hợp với các hệ thống lớn Trần Thi Kim Chi 44 CÂU HỎI VÀ BÀI TẬP Câu 1. Tại sao khi xây dựng một HTTT cần phải có phân tích và thiết kế hệ thống? Câu 2. Nêu các giai đoạn trong một chu trình phát triển một hệ thống thông tin? Giai đoạn nào là quan trọng? Có thể thiếu một trong các giai đoạn đó được không? Câu 3. Kể tên một số ví dụ cho các loại hệ thống thông tin: hệ thống thông tin quản lý, hệ thống website thương mại điện tử, hệ thống điều khiển ... Câu 5. So sánh hai phương pháp phân tích thiết kế hướng cấu trúc và hướng đối tượng? Ưu và nhược điểm? Trần Thi Kim Chi 45 BÀI TẬP NHÓM Lập nhóm: mỗi nhóm 3 thành viên Chọn đề tài theo danh mục sau: 1. Hoạt động nhập và xuất sản phẩm của một công ty sản xuất bánh kẹo Kinh Đô 2. Hoạt động nhập và xuất quạt máy của công ty sản xuất quạt máy Saiyo 3. Hoạt động cho thuê xe ô tô của công ty xe khách Mai Linh 4. Hoạt động quản lý phòng của khách sạn Caraven 5. Hoạt động của công ty phát hành sách FaHaSa Trần Thi Kim Chi 46 BÀI TẬP NHÓM 6. Hoạt động kinh doanh của một công ty chuyên kinh doanh thiết bị gia đình 7. Hoạt động của cửa hàng băng đĩa Bến Thành 8. Hoạt động quản lý chuyến bay của một hãng hàng không (VietNam airline/AirMeKong/JetStar) 9. Quản lý phân phát báo và tạp chí hằng ngày của một tờ báo (Phụ Nữ/Thanh Niên/Tuổi Trẻ.) 10. Hệ thống quản lý nhân viên, y bác sỹ của một bệnh viện. Trần Thi Kim Chi 47 BÀI TẬP NHÓM 1. Lập nhóm + tên đề tài nộp về cho giảng viên cuối buổi học. 2. Thử hình dung với đề tài đã chọn, bạn sẽ làm gì ở giai đoạn đầu tiên của chu trình phát triển phần mềm (nghiên cứu sơ bộ)? Ghi lại Tìm hiểu hệ thống đã chọn sau buổi học, ghi nhận những vấn đề đã cảm nhận được. Thử đánh giá và chọn thông tin nào cần cho hệ thống, thông tin nào không cần thiết. Trần Thi Kim Chi 48 Trần Thi Kim Chi49
File đính kèm:
- bai_giang_phan_tich_va_thiet_ke_he_thong_chuong_1_tong_quan.pdf