Công nghệ phần mềm - Chương 2 phân tích hệ thống
lượt xem 9
download
vai trò phân tích hệ thống các đối tượng tham gia kịch bản phân tích hệ thống chuẩn bị phân tích hệ thống qui trình phân tích hệ thống phương pháp và công cụ phân tích hệ thống vai trò của phân tích hệ thống là bước đầu tiên quan trọng của một dự án phát triển phần mềm, thường do các chuyên gia phân tích phần mềm (analyst ) đảm nhận
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Công nghệ phần mềm - Chương 2 phân tích hệ thống
- Chương 2. Phân tích hệ thống tí Vai trò phân tích hệ thống (PTHT) Các đối tượng tham gia Nhập môn Công nghệ Phần mềm Kịch bản PTHT (Introduction to Software Engineering) (Introduction Chuẩn bị PTHT Quy trình phân tích hệ thống PGS.TS. Phan Huy Khánh khanhph29@gmail.com, phkhanh@dut.udu.vn Phương pháp và công cụ PTHT Chương 2. Phân tích hệ thống tí 2. tích 2/55 2/55 Vai trò phân tích hệ thống (PTHT) Các yếu tố cơ bản trong PTHT PTHT có vai trò quyết định sự thành-bại của một dự án Là bước đầu tiên, quan trọng của một dự án phát triển PM, CNTT-Tin học nói chung, một sản phẩm PM nói riêng thường do các chuyên gia PTHT (Analyst) đảm nhiệm PTHT cần xác định được : Công việc PTHT bao gồm : Các đối tượng tham gia : ượ Tìm hiểu, thu thập yêu cầu về quy trình nghiệp vụ hiện tại Khách hàng (bên A) (thủ công hoặc đã có sử dụng một phần CNTT) Người phát triển (bên B) Xác lập các quy trình sẽ được phát triển/thay thế bằng máy tính Người sử dụng (NSD) (bên C) Xác thực chi tiết các yêu cầu/tính năng của hệ thống Phương pháp triển khai PTHT phù hợp : Kết quả của PTHT : Phương pháp hướng chức năng/cấu trúc (Structured) Là các đặc tả tính năng hệ thống dưới dạng sơ đồ, mô hình... Phương pháp hướng đối tượng (Object-Oriented) Là đầu vào của quá trình thiết kế hệ thống tiếp theo Môi trường phát triển (hệ thống phần cứng, hệ điều hành…) Công nghệ, phương tiện phần mềm (MidleWare) sử dụng 3/55 3/55 4/55 4/55 Kịch bản phân tích hệ thống Các đối tượng tham gia trong PTHT ượ B A Khách hàng (bên A) và người phát triển (bên B) gặp nhau B A Hợp đồng/dự án Khách hàng Người i phát triển Khách hàng Ngườ phát triển để thảo luận về yêu cầu của hệ thống PM cần xây dựng (Customers) (Developers) (Customers) (Developers) Nhiệm vụ PTHT của người phát triển (bên B) : Cung cấp SP Tìm hiểu, PT yêu cầu của khách hàng và NSD (bên C) Tạo ra SP Đặc tả kết quả PTHT : Xây dựng các mô hình chức năng, mô hình dữ liệu Sản phẩm Sản phẩm Phân tích (Product) Xác định các khái niệm, đặc thù của HTPM, ý nghĩa, cấu trúc… (Product) hiện trạng/ Quan hệ nhu cầu Tổ chức giao tiếp vào-ra khách hàng Xác định các yếu tố về môi trường, công cụ triển khai, cài đặt… Sử dụng (cầu) SP Kiểm chứng (Verification) và hợp thức (Validate) Thống nhất với khách hàng về kết quả PTHT Người i ssử dụng Ngườ ử dụng trước khi thiết kế, triển khai xây dựng HTPM (End-Users) C (End-Users) C (NSD) 5/55 5/55 6/55 6/55 Nhập môn CNPM - Ch2. PT Hệ thống 1
- Chuẩn bị phân tích hệ thống Xác định bản chất yêu cầu PM Xác định PM theo 3 loại mục đích tạo lập : Bước chuẩn bị PTHT cần xác định được : ướ xá ượ PM theo hợp đồng PM Xác định bản chất yêu cầu PM Có khách hàng cụ thể khá hà Có yêu cầu cụ thể Xác định chức năng các thành phần của PM cá thà Có thời hạn và chi phí cụ thể và phí Xác định những vấn đề nảy sinh trong PTHT Có trách nhiệm bảo trì trá trì PM khung PM Không có khách hàng cụ thể Không có khá hà Không có các yêu cầu cụ thể Không có Có thể xây dựng và áp dụng nhanh theo nhu cầu thực tiễn và PM đóng gói gó PM Không có khách hàng cụ thể Không có khá hà Không có các yêu cầu cụ thể Không có Được bán rộng rãi Đư bá Không bảo trì, chỉ nâng cấp phiên bản trì Không 7/55 7/55 8/55 8/55 Chức năng các thành phần của PM cá thà Xác định chức năng các thành phần của PM cá thà Giao diện Giao Tiiếp nhận các yêu cầu, dữ liệu (DL) của NSD cá T Phần mềm Phần mềm Trình bày kết quả thực hiện (xử lý) yêu cầu Trì bà Là hệ thống gồm các hàm/thủ tục vào-ra cá hà và Xử lý Giao Kiiểm tra tính hợp lệ của DL do NSD cung cấp tí K Giao Tổ chức Tổ chức Xử lý diện Xử lý/tính toán cho ra kết quả lý/tí toá diện dữ liliệu dữ ệu Là hệ thống các hàm/thủ tục chuyên về xử lý/tính toán cá hà lý/tí toá Tổ chức dữ liệu Lưu trữ lại các kết quả đã xử lý theo các mô hình, kiểu DL cá cá hì NSD Phần cứng Phần cứng Truy xuất lại các dữ liệu đã lưu trữ cá Truy Là hệ thống các hàm/thủ tục chuyên về đọc-ghi dữ liệu cá hà 9/55 9/55 10/55 10/55 Xác định những vấn đề nảy sinh Bảng tóm tắt các chức năng tó cá Thành Thà Hàm/ Thường nảy sinh những vấn đề khi PTHT Stt Chức năng Ghi chú chú phần Thủ tục Đối với người PTHT (bên B) : Cần xác định hình thức xá hì Nhập yêu cầu, DL vào và Và o Có sự cách biệt về chuyên môn, về sự hiểu biết lĩnh vực cần PTHT 1 Giao diện nhập/xuất và tổ chức DL và Đối với NSD (End-User) : tương ứng Đưa ra kết quả đã xử lý Ra Chưa hiểu hết, lường trước được quy trình làm việc của HTPM Kiểm tra tính hợp lệ tí Sử dụng các hàm cá hà và khả năng ứng dụng PM cho công việc của họ Kiểm tra của DL vào và Nhập, Đọc vào DL và Định hướng ứng dụng lâu dài chưa có, hoặc chưa rõ ràng 2 Xử lý Xử lý tính toán các tí toá cá Đối với hệ thống sẽ phát triển : Sử dụng các hàm cá hà Xử lý phát sinh, các biến đổi phá cá Nhập, Xuất, Đọc, Ghi Điều kiện cơ sở hạ tầng phục vụ hoạt động của hệ thống trên DL Tính sẵn sàng thông tin của các hệ thống hiện tại Đọc DL từ bộ nhớ phụ Đ ọc tương tác với hệ thống sẽ xây dựng trong tương lai Cần xác định cách thức xá cá vào bộ nhớ chính chí 3 Dữ liệu tổ chức lưu trữ DL Công cụ/ngôn ngữ sử dụng để đặc tả hệ thống, kết quả phân tích Ghi DL từ bộ nhớ chính chí theo mô hình, kiểu DL hì Ghi vào bộ nhớ phụ 11/55 11/55 12/55 12/55 Nhập môn CNPM - Ch2. PT Hệ thống 2
- Những khó khăn của PTHT Quy trình phân tích hệ thống Quy trình PTHT gồm 2 hoạt động cơ bản : Những vấn đề nảy sinh đối với khách hàng (bên A) : 1. Tìm hiểu hệ thống hiện tại, thu thập thông tin Thường mơ hồ về yêu cầu, không biết rõ mình muốn gì, và mô phỏng/xây dựng lại hiện trạng của hệ thống dễ lẫn lộn giữa yêu cầu và mong muốn Các quy trình hoạt động /nghiệp vụ Thể hiện yêu cầu theo thuật ngữ chuyên môn riêng của họ, thường mang tính đặc thù, khó hiểu, khó có chuẩn chung Phương thức và ý nghĩa của các quá trình xử lý Dữ liệu/thông tin của hệ thống Khách hàng đa dạng, có thể có yêu cầu mâu thuẫn nhau Cơ sở hạ tầng hiện có : thiết bị, con người, quan hệ… Những khó khăn khác : 2. Xác định yêu cầu của hệ thống Yếu tố tổ chức, chính sách có thể ảnh hưởng đến PTHT Các yêu cầu về chức năng Các yêu cầu thay đổi trong quá trình PTHT : Các yêu cầu về môi trường vận hành : thiết bị, con người Môi trường nghiệp vụ thay đổi Tại mỗi bước triển khai, người PT Có người liên quan mới xuất hiện sử dụng các công cụ đặc tả để biểu diễn kết quả PTHT Xu thế phát triển đời sông, xã hội, kinh tế… 13/55 13/55 14/55 14/55 Tìm hiểu hệ thống hiện tại Tham khảo trang web http://vi.wikipedia.org/ Các hoạt động chính của tiến trình thu thập thông tin, Phân tích yêu cầu gồm ba loại hoạt động : Phân tí tìm hiểu hệ thống hiện tại bao gồm : Làm rõ yêu cầu (Eliciting Requirements) : Tìm hiểu miền ứng dụng Giao tiếp với khách hàng và NSD để xác định yêu cầu của họ khá hà và NSD Giao Phát hiện, thu thập yêu cầu Xem xét yêu cầu (Analyzing Requirements) : Xem xé Phân loại yêu cầu Xác định tình trạng của yêu cầu : tì Giải quyết xung đột (nếu có) rõ ràng, hoàn chỉnh, đa nghĩa, hay mâu thuẫn rà hoà Sắp xếp ưu tiên các yêu cầu Khả năng giải quyết các vấn đề đó cá Kh Thẩm định yêu cầu Viiết tài liệu yêu cầu (Recording Requirements) : V tà Các yêu cầu được ghi lại theo nhiều hình thức, ượ hì chẳng hạn dùng ngôn ngữ tự nhiên, các tình huống sử dù cá dụng (use case), hoặc các đặc tả tiến trình cá trì 15/55 15/55 16/55 16/55 Mô hình tiến trình tìm hiểu HT Đặc tả sử dụng phương pháp mô hình hóa Trong tiến trình phân tích yêu cầu, người PT thường Đặc ttả Đặc ả sử dụng phương pháp mô hình hóa để đặc tả kết quả yêu cầu yêu cầu Các yếu tố được mô hình hóa gồm : Miền thông tin-dữ liệu liên quan Sắp xxếpthứ ttự Sắp ếp thứ ự Tìm hiểu Thẩm định Các chức năng của hệ thống Tìm hiểu Thẩm định ưu tiên miền ứng dụng yêu ccầu yêu ầu ưu tiên miền ứng dụng Các hành vi có thể … Thu thập Phân loại i Giải iquyếtt Thu thập Phân loạ Giả quyế yêu ccầu yêu ầu các yêu ccầu các yêu ầu xung độtt xung độ 17/55 17/55 18/55 18/55 Nhập môn CNPM - Ch2. PT Hệ thống 3
- Mô hình hóa miền thông tin Mô hình hóa chức năng NPT phải hiểu rõ và biểu diễn được miền thông tin Bản chất của hệ thống tin học là biến đổi thông tin, là (Problem Domain) : PTHT phải xác định được : xá ượ Xác định các thực thể dữ liệu (đối tượng) Các chức năng (biến đổi thông tin) của HT Xác định các thuộc tính của chúng Cách thức dữ liệu (thông tin) di chuyển trong hệ thống (luồng dữ liệu) Thiết lập các mối quan hệ giữa các dữ liệu Xác định các tác nhân tạo dữ liệu (nguồn) cá tá Ví dụ trong bài toán quản lý bán hàng, mối quan hệ giữa bà toá bá hà và tác nhân tiếp nhận dữ liệu (đích) các đối tượng dữ liệu được mô hình hóa như sau : Ví dụ sơ đồ DFD trong bài toán quản lý Phòng khám bệnh : bà toá khá NHÂNVIÊN MẶTHÀNG Đề nghị khám 1−n 1-n BÁN MãNV MãHG GiáBán TênNV Chẩn bệnh, TênHG HT quản lý HT quản lý SốLượngBán ĐịaChỉNV ĐơnVịHG điều trị (kê toa) Phòng khám bệnh Phòng khá bệnh NgàyBán khám ĐTNV Bệnh nhân Thanh toán tiền 19/55 19/55 20/55 20/55 Mô hình hóa hành vi Phát hiện, thu thập yêu cầu Người PT có thể phối hợp sử dụng một, hoặc nhiều, Ngườ có Người PT xác định được : Ngườ xá ượ phương pháp thu thập yêu cầu như sau : phá Các trạng thái của hệ thống tại mỗi thời điểm thá Phỏng vấn trực tiếp Ph Hành vi hệ thống thay đổi mỗi khi xuất hiện sự kiện Quan sát, thăm dò Quan sá Ví dụ máy pha cà phê : cà Điều tra bằng bảng câu hỏi Có 2 trạng thái : nghỉ, làm việc thá là Nghiên cứu tài liệu tà Nghiên Thay đổi hành vi mỗi khi NSD bật/tắt công tắc hà Thay Truy cập internet… internet… Truy … Bật công tắc 1. Nghỉ ỉ 1. Ngh Ví dụ nguyên lý của phương pháp phỏng vấn trực tiếp phá • Có đi ệ n • Đèn sáng • Cắt điện Thu nhập thông tin qua các câu hỏi và các câu trả lời cá và Thu • Cà phê • Tắt đèn Đặt câu hỏi cho đối tượng cần được khảo sát ượ ượ sá được pha • Chuẩn bị nước, Ghi kết quả phỏng vấn vào phiếu hay báo cáo khi kết thúc và bá cá thú Ghi cà phê 2. Lààmviệcc 2. L m việ (pha ccàphê) (pha à phê) Tắt công tắc 21/55 21/55 22/55 22/55 Ví dụ thu thập yêu cầu Phân loại yêu cầu Trong bài toán quản lý thư viện, Trong bà toá Các yêu cầu có thể phân loại theo hai cách : người PT xác định được các yêu cầu : ườ xá ượ cá 1. Phân loại theo đặc trưng : Lập thẻ độc giả Yêu cầu tương hỗ : Tiiếp nhận sách/tài liệu mới sá ch/tà T Chịu ảnh hưởng của môi trường Lập chỉ mục, lưu trữ… Yêu cầu nảy sinh : Tìm kiếm, tra cứu Nhận ra trong quá trình phát triển HT Cho mượn Cho ượ Yêu cầu hệ quả : Nhận trả, xử lý tình huống (phạt, đền…) tì Nh Là kết quả của việc áp dụng hệ thống dựa trên máy tính Lập báo cáo cuối kỳ (tháng, quý… hay học kỳ, năm học) bá cá (thá quý… Yêu cầu tương thích : … Phụ thuộc vào hệ khác hay tiến trình tổ chức 2. Phân loại theo mức độ quan trọng : chính, phụ 23/55 23/55 24/55 24/55 Nhập môn CNPM - Ch2. PT Hệ thống 4
- Thẩm định yêu cầu Nghiên cứu khả thi Thẩm định yêu cầu nhằm đạt được : Mục tiêu của nghiên cứu khả thi là đi đến kết luận : Tính rõ ràng, minh bạch Có nên phát triển hệ thống hay không ? Tính đúng đắn, đầy đủ, nhất quán, hiện thực… Nếu khả thi, xây dựng nội dung nghiên cứu Tính kiểm tra được Nội dung nghiên cứu khả thi tập trung trả lời các câu hỏi sau : Các câu hỏi liên quan : Hệ thống được xây dựng sẽ giúp gì cho tổ chức ? Còn nhu cầu nào của người dùng chưa kể đến ? Hệ thống sử dụng công nghệ nào, kinh phí bao nhiêu, Có gì mâu thuẫn nhau ? thời gian bao lâu ? Chức năng; ràng buộc gì chưa kể ? Hệ thống cần phải tích hợp với các hệ thống nào Có thực hiện được không ? hiện đang sử dụng ? Có thể kiểm tra nó thế nào ? … 25/55 25/55 26/55 26/55 Triển khai nghiên cứu khả thi Phương pháp và công cụ PTHT Hiện nay phổ biến hai phương pháp PTHT, Báo cáo khả thi được xây dượng : đi từ sự phát triển của kỹ thuật lập trình : phá trì Dựa trên thông tin, báo cáo thu thập được, những đánh giá ban đầu về hệ thống hiện tại 1. Phương pháp PTHT theo hướng chức năng được phát triển từ kỹ thuật lập trình cấu trúc : Những phác thảo về phương án dự kiến Các bước PT thực hiện đồng thời, xen kẽ nhau Câu hỏi người PT đặt ra : Sử dụng các lược đồ DFD, ERD Cái gì xẩy ra nếu hệ thống không được triển khai ? 2. Phương pháp hướng đối tượng (HĐT) Những vấn đề gì đang đặt ra cần giải quyết ? được phát triển từ kỹ thuật lập trình HĐT (OOP) Hệ thống được đề suất trợ giúp họ như thế nào ? Hơn 50 phương pháp phát triển HĐT đã được đề xuất, ph phá phá Những tích hợp gì cần phải có ? trong đó có các phương pháp OOD, OOSE và OMT phá và Công nghệ mới gì, kỹ năng gì cần có ? Hiện nay UML được sử dụng thống nhất và phổ biến Những tiện ích gì cần sự trợ giúp từ hệ thống 27/55 27/55 28/55 28/55 Sự phát triển của kỹ thuật lập trình phá trì Phân cấp của các phương thức lập trình cá trì Sau hơn nửa thế kỷ, cho đến nay đã có nhiều cho có Sau kỹ thuật lập trình đã được phát triển, nổi bật nhất là : trì ượ phá là Phương thức llập trình Phương thức ập trình Lập trình bởi một thủ tục đơn giản trì Theo chức năng Theo mô tả Lập trình đơn thể trì (How?) (What?) Lập trình cấu trúc trì trú Lập trình hướng đối tượng trì ướ ượ Mệnh llệnh Khai báo Mệnh ệnh Khai báo Ngoài ra còn có rất nhiều kỹ thuật lập trình khác đã được Ngoà có trì khá ượ phát triển, đồng thời với xu thế phát triển các ngôn ngữ phá phá cá lập trình, đgl phương thức (phong cách, hay kiểu) lập trình trì cá trì (Paradigm) Hướng Xử lý Cơ sở Hướng Xử lý Cơ sở Lôgic Hàm Lôgic Thủ tục Hàm Thủ tục đốii tượng song song dữ liệu đố tượng song song dữ liệu Một phương thức lập trình được hiểu là một tập hợp các tính trì ượ là cá tí năng trừu tượng (Abstract Features) đặc trưng cho một lớp ượ (Abstract ngôn ngữ mà có nhiều người lập trình thường xuyên sử dụng ườ trì ườ 29/55 29/55 30/55 30/55 Nhập môn CNPM - Ch2. PT Hệ thống 5
- Lập trình bởi một thủ tục đơn giản trì Liệt kê ngôn ngữ lập trình theo phương thức trì Ngôn ngữ mệnh lệnh (imperative) : Ngôn Nội dung phương pháp : phá Fortran (1957), Cobol (1959), Basic (1965), Pascal (1970), C (1971), Ada (1979)... (1971), Hầu như chỉ có một người, hay một nhóm nhỏ là tác giả của ườ nhó Ngôn ngữ định hướng đối tượng (object-oriented) : ướ ượ (object- Ngôn một chương trình, tự do quyết định với cái nhìn tổng thể trì cá nhì Smalltalk (1969), C++ (1983), Eiffel (1986), Java (1991), C# (2000)... (2000)... Hạn chế : Ngôn ngữ hàm (functional) : Ngôn Chỉ giải quyết được các bài toán có phạm vi nhỏ, không thể ượ cá bà toá có Ch Lisp (1958), ML (1973), Scheme (1975), Caml (1987), Miranda (1982)... (1982)... giải quyết được những bài toán có phạm vi lớn như hiện nay ượ bà toá có Ngôn ngữ dựa logic (logic-based) chủ yếu là ngôn ngữ Prolog (1970) (logic- là Ngôn Thực tế hiện nay : Th Ngôn ngữ thao tác cơ sở dữ liệu SQL (1980)... tá Ngôn Nhu cầu bài toán càng lớn thì cần có nhiều người phân tích, bà toá cà thì có ườ tí Nhu Ngôn ngữ xử lý song song (parallel) : Ngôn cần nhiều chuyên gia Ada, Occam (1982), C-Linda... C- Khối lượng thông tin cần trao đổi rất lớn, Kh ượ Ngoài ra còn có : Ngoà có cần nhiều khâu xử lý phức tạp Lập trình phân bổ (Distributed Programming) trì Đòi hỏi có nhiều thời gian có Lập trình ràng buộc (Constraint Programming) trì rà để thương lượng, bàn bạc quyết định và phát triển ượ bà và phá Lập trình hướng truy cập (Access-Oriented Programming) trì ướ (Access- Lập trình theo luồng dữ liệu (Dataflow Programming), v.v... trì 31/55 31/55 32/55 32/55 Lập trình đơn thể trì Lập trình cấu trúc trì trú Mục đích : Nội dung phương pháp : phá Chia bài toán thành nhiều bài toán-thành phần nhỏ hơn Chia bà toá thà bà toá thà Là kết quả của lập trình đơn thể trì Mỗi bài toán được xây dựng & phát triển riêng rẽ bà toá ượ phá Sử dụng phân tích hướng chức năng để chia nhỏ bài toán, tí ướ toá để từ đó hợp lại, tổ hợp lại thành hệ thống đầy đủ thà để nhận được chương trình, theo hướng từ trên xuống ượ trì theo ướ Ưu thế của phương pháp : phá Các chức năng trao đổi với nhau bằng truyền tham số hoặc Hệ thống là tập hợp các chương trình con là cá trì dữ liệu (chẳng hạn biến toàn cục) dùng chung toà dù Có thể khai thác (gọi) bất cứ lúc nào thá nà Thực hiện song song hai quá trình : quá trì Th Đã được phát triển mạnh mẽ, đạt được rất nhiều tiến bộ ượ phá ượ Đơn thể hoá thủ tục (xử lý hay lệnh thực hiện) hoá Đơ Hạn chế : Đơn thể hoá dữ liệu sử dụng hai phương pháp quản lý : hoá phá Đơ Đòi hỏi tính kỷ luật cao do phải làm việc tập thể tí là • Phân chia dữ liệu hoàn toàn hoà toà Viiệc gọi chương trình con ngoắt ngoéo, phức tạp trì ngoé V • Đơn thể hoá dữ liệu bởi các chương trình con hoá cá trì Cấu trúc chương trình khó hiểu, khó bảo trì trú trì khó khó trì 33/55 33/55 34/55 34/55 Phân cấp chức năng Phương pháp quản lý dữ liệu phân chia phá Có thể hiểu là sự phân cấp về thao tác, xử lý Có thể hiểu llà sự phân cấp về thao tá xử lý à Phân chia dữ liệu hoàn toàn : hoà toà Phân tác, Chưa rõ, Mọi biến sử dụng trong hệ thống còn mơ hồ đều được khai báo là biến toàn cục (global variables) toà ượ bá là Hệ thống Hệ thống Khi khối lượng dữ liệu tăng lên thì sai sót cũng tăng lên, ượ thì só lên, Khi dễ bị hiệu ứng lề (side effect) Hạn chế của phương pháp phân chia dữ liệu hoàn toàn : phá hoà toà Chức năng 1 Chức năng 1 Đòi hỏi tính độc lập của các chương trình con cá trì Chức năng 2 Chức năng 2 Không tương thích với các phương pháp lập trình đơn thể và thí cá phá trì Không lập trình cấu trúc trì trú Chức năng 1.1 Chức năng 1.2 Chức năng 2.1 Chức năng 2.2 Chức năng 1.1 Chức năng 1.2 Chức năng 2.1 Chức năng 2.2 Đã rõ, đã biết cách giải 35/55 35/55 36/55 36/55 Nhập môn CNPM - Ch2. PT Hệ thống 6
- Cấu trúc dữ liệu trú Phương pháp quản lý dữ liệu đơn thể hoá phá hoá đơ Các NNLT đều cho phép : phé Đơn thể hoá dữ liệu bởi các chương trình con : hoá cá trì Đơ Lắp ráp các cấu trúc dữ liệu phức tạp từ các kiểu sẵn có rá cá trú có Sử dụng biiến cục bộ (Local Variables) b Khả năng liên kết các tên với các kiểu mới kết hợp cá cá Kh Lợi ích của phương pháp đơn thể hoá : phá hoá (dùng kiểu mảng, danh sách, hàng đợi, ngăn xếp hay tệp) (dù sá hà Khi cấu trúc dữ liệu đã được định rõ, máy tính phải được trú ượ má tí ượ Khi Hạn chế bớt các tương tác không mong muốn cá tá chỉ thị làm thế nào để tiến hành : hà Giúp phân tích và hiểu các chương trình con được dễ dàng Giú tí và cá trì Cách biểu diễn trong, hay ngoài, các cấu trúc dữ liệu đó ngoà cá trú Đảm bảo tính độc lập thực sự giữa dữ liệu và xử lý tí và Các phép toán trên các cấu trúc dữ liệu đó phé toá trú Vai trò của quản lý dữ liệu : Vai Viiệc quản lý dữ liệu cũng đóng vai trò quan trọng như là V quản lý xử lý Hiiện nay, các hệ quản trị CSDL đã cho phép quản lý dữ liệu cá phé H CSDL hiệu quả đối với những bài toán PT và TK HT thông tin bà toá và 37/55 37/55 38/55 38/55 Data Type Hierarchy Các mức khác nhau của cấu trúc dữ liệu khá trú Stack Data Type Stack Data Trees Files Trees Files Application LIFO Application LIFO Queues Queues Lists level Lists level Tables Tables Graphs Graphs FIFO FIFO Structured/ Structured/ Simple/Basic Pointer Simple/Basic Pointer Compound Compound Laguage Laguage Variables Sets Records Vector 1D Arrays nD Variables Sets Records Vector 1D Arrays nD level level Ordinal Ordinal Real/Float Real/Float Static Static Dynamic Dynamic Tính độc lập giữa các mức Float Float Memory Memory Numbers Numbers Int Char Bool Enum Record Set Array File Int Char Bool Enum Record Set Array File Machine Fixed Machine Fixed Words Words level Numbers level Numbers Sub-range Sub-range Bytes Bytes String String min..max min..max Registers Registers Bits Bits (0, 1)* (0, 1)* 39/55 39/55 40/55 40/55 Đánh giá PP lập trình cấu trúc giá trì trú Phân tích hệ thống hướng chức năng Ưu điểm Tập trung thu thập thông tin nghiệp vụ của các loại NSD trong hệ thống Phân tích được các chức năng của hệ thống Phân tí ượ cá Đưa lại kết quả mong đợi Đư Xây dựng sơ đồ dòng dữ liệu DFD ở các mức khác nhau Hạn chế : Thiết lập sơ đồ mức ngữ cảnh (DFD mức 0) 1. Đòi hỏi có năng lực quan niệm hệ thống (conception) có Phân hoạch DFD vào các mức cao hơn một cách đầy đủ trước khi phát triển cá ướ phá Xây dựng mô hình dữ liệu 2. Phải dự kiến được sự tiến hoá (thay đổi phiên bản) ượ hoá (thay của hệ thống trong tương lai Mô hình thực thể liên kết ERD 3. Mỗi tiến hoá lại phải tiến hành phân tích chức năng hoá hà tí Mô hình quan hệ RD và kiến trúc hệ thống trở lại trú 4. Thay đổi về chức năng làm khó khăn thay đổi cấu trúc kh kh trú Xây dựng mô hình xử lý 5. Tính mở của hệ thống thấp Sử dụng trong các phương pháp Gane-Sarson, Gane-Sarson, 6. Khó tái sử dụng Khó Merise… 7. Chi phí sửa chữa lỗi lớn phí 41/55 41/55 42/55 42/55 Nhập môn CNPM - Ch2. PT Hệ thống 7
- Ví dụ DFD hệ thống mua bán hàng Tiếp cận hướng đối tượng ướ ượ Mục đích : YC mua hàng Mức đỉnh (Top Level) QL Phát triển các đối tượng chuẩn (standard objects) Phá cá ượ mua bàn hàng Khách hàng Giao hàng Khả năng sử dụng lại (reuse) các đối tượng cá ượ Kh Vấn đề đặt ra thế nào là đối tượng chuẩn ? là ượ Làm Có 3 nguồn đối tượng chuẩn như sau : ượ mịn 2 1 2 1 Đơn Hoá Ngườii Ngườ Hoá Các đối tượng tổng quát (chuyên biệt) trong các ngôn ngữ HĐT ượ quá cá Thủ tục Lập KH Thủ tục Khách hàng Lập KH đặt đơn bán bán đơn th.toán Giao hàng th.toán Ví dụ Int, Char... Giao hàng Char hàng TT Các đối tượng đặc biệt do cá nhân hay công ty phát triển ngôn ngữ cá phá Phiếu giao HĐT cung cấp dùng để : dù hàng Tính toán khoa học kỹ thuật, toá Hàng giao DL KH Người bán Mức dưới đỉnh Trang trí đồ hoạ (Graphic Object) : openinventor... Trang trí openinventor Tạo ra các giao diện người dùng : IlogViews... cá dù IlogViews Xác nhận Phiếu Hàng 4 3 4 3 Các đối tượng được phát triển bên trong các hiệp hội người dùng. phá cá dù đơn TT nhận Giao Thanh Giao Thanh Ví dụ Cas.Cade của hệ thống Dassault MDTV trong lĩnh vực CAD hàng hàng toán hàng toán 43/55 43/55 44/55 44/55 Xây dựng các phần mềm HĐT cá Mô hình các đối tượng hì cá Quá trình xây dựng gồm hai giai đoạn như sau : Quá trì Thừa kế 1. Định nghĩa các đối tượng cần thiết cá Lớp Lớp và lập bảng kê đối với các đối tượng dùng lại được cá dù Khái niệm Khái niệm đốii ttượng đố ượng Bước này khó do phải xác định các đối tượng chuẩn đã có nà khó xá cá có Mô hình thiết kế (trừu tượng) và phải có phương pháp định nghĩa các đối tượng mới có phá cá Thuộc tính Phương thức Thuộc tính Phương thức Có hai phương pháp : phá Phương pháp cổ điển : tập hợp các đối tượng chuẩn để xây dựng phá cá Ph Tạo sinh cá thể các đối tượng ở mức cao mỗi lần xây dựng chương trình trì Mô hình hoá, tạo nguyên mẫu (prototype), tạo sinh chương Mô hì hoá Triển khai lập trình Thông điệp trình bằng cách phân tích bài toán thành các đối tượng trì cá tí bà toá thà cá (cụ thể) Cá thể 2. Chuyển đổi mô hình về nguyên mẫu để từ đó hì Cá thể làm mịn dần cho đến khi nhận được chương trình trì 45/55 45/55 46/55 46/55 Quan điểm hướng đối tượng ướ ượ Mô hình lập trình HĐT hì trì Lấy đối tượng làm trung tâm ượ là Object 2 Object 1 Hệ thống = Tập hợp các đối tượng cá ượ Messages Data Data + Quan hệ giữa các đối tượng cá ượ Function Function Các đối tượng trao đổi bằng thông điệp (Message) ượ Không sử dụng biến toàn cục (No Global Variable) toà Không Xây dựng các nguyên lý hướng đối tượng : cá ướ ượ Xây Object 3 Đóng gói (Encapsulation) gó Thừa kế (Inheritance) Th Data Đa hình hay đa kiểu (Polymorphism) hì Function 47/55 47/55 48/55 48/55 Nhập môn CNPM - Ch2. PT Hệ thống 8
- Ví dụ nguyên lý thừa kế có phân cấp Đánh giá quan điểm hướng đối tượng giá ướ ượ Quan điểm HĐT được phát triển từ cấu trúc : ượ phá trú Quan An Inheritance Hierarchy Lập trình cấu trúc trì trú Superclass Vehicle Thuật toán + Cấu trúc dữ liệu = Chương trình toá trú trì Subclasses Lập trình HĐT trì Σ đối tượng ượ = Chương trình Ch trì Đối tượng ượ = Thuật toán + Cấu trúc dữ liệu toá trú Automobile Bus Motorcycle Ưu điểm chính của tiếp cận hướng đối tượng : chí ướ ượ PT & TK gần gũi với thế giới thực PT Tái sử dụng dễ dàng Sports Car School Bus Sedan Luxury Bus Đóng gói, che dấu thông tin làm cho hệ thống tin cậy hơn gó là Thừa kế làm giảm chi phí, hệ thống có tính mở cao hơn phí có Th cao Xây dựng hệ thống lớn và phức tạp và Xây 49/55 49/55 50/55 50/55 UML là gì ? là UML – một ngôn ngữ Bản chất ngôn ngữ của UML : ngôn UML (Unified Modeling Language) : UML (U Cung cấp từ vựng, cú pháp và ngữ nghĩa để mô tả hệ thống ng, cú phá và Ngôn ngữ cho phép đưa ra các khung nhìn, đặc tả, diễn đạt, phé cá nhì Cung Ngôn xây dựng ứng dụng và tạo văn bản cho một HT3QL và Bản chất ngôn ngữ mô hình hóa : hì hó ngôn Trong đó : Trong Sử dụng tập hợp các kí hiệu và luật của ngôn ngữ để cá kí và biểu diễn đồ họa các mô hình khác nhau của một hệ thống cá hì khá Ngôn ngữ : từ vựng (đồ thị), cú pháp (sơ đồ), ngữ nghĩa cú phá (s Ngôn ở mức khái niệm và vật lý khá và Khung nhìn : biểu diễn dạng đồ thị dễ quan sát Khung nhì sá Ưu điểm : biểu diễn đồ họa đem lại cái nhìn hệ thống tốt hơn cá nhì Đặc tả : mô tả rõ ràng, đầy đủ, không nhập nhằng rà Bản chất ngôn ngữ đặc tả : Xây dựng : chuyển sơ đồ UML về các ngôn ngữ lập trình trì Xây Đặc tả là mô tả chính xác, không nhập nhằng về hệ thống chí xá Văn bản : mô tả các nhu cầu, tiến trình bằng văn bản trì UML cung cấp các công cụ để đặc tả hệ thống ở nhiều mức : phân cá UML Có 9 loại sơ đồ trong UML, trong UML, tích, thiết kế và cài đặt được chia ra theo hai loại khung nhìn (view) đượ nhì 51/55 51/55 52/55 52/55 UML – một ngôn ngữ Có nhiều khung nhìn trong UML nhì UML – ngôn ngữ để xây dựng : UML Có thể dễ dàng chuyển các mô hình UML cá hì sang một ngôn ngữ lập trình (Java, C++, VB…) trì VB… Sử dụng UML để mô phỏng chính xác, không nhập nhằng chí xá các mô hình để thực hiện chuyển đổi thành dòng lệnh hì thà UML – ngôn ngữ để lập tài liệu : tà UML Sử dụng UML để mô tả tất cả các bước xây dựng ướ một hệ thống Các mô hình được xây dựng tạo nên một tài liệu đầy đủ hì ượ tà và chuẩn xác về hệ thống xá 53/55 53/55 54/55 54/55 Nhập môn CNPM - Ch2. PT Hệ thống 9
- Các khung nhìn của UML nhì Cấu trúc Cấu trú trúc Mức vật lý Các Các Mức ý niệm c ác các thành phần thà thành phần đốii tượng đố tượ ng Khung nhìn Khung nhì ượ chương trình chương trì nhìn trình Khung nhìn Khung nhì nhìn lôgic tĩĩnh lôgic t nh vận hành/cài đặt vận hà nh/cà đặt hành/cài Gồm các sơ đồ : Gồm cá sơ đồ : các Gồm các sơ đồ Gồm cá sơ đồ các Lớp, Đốii tượng, Lớp, Đố tượ ng, ượ các thành phần các thà thành phần Cộng tác, Chuỗii Cộng tá Chuỗ tác, Nhìn từ bên ngoài Nhì ngoà Hoạt động Hoạt động Kiến trúc Kiến trú trúc của các của cácác vật lý vật lý đốii tượng đố tượ ng ượ Gồm các sơ đồ cá chức năng Gồm các sơ đồ : Gồm cá sơ đồ : các Trạng thái, Hoạt động Trạng thá Hoạt động thái, Gồm các sơ đồ Gồm cá sơ đồ các triển khai triển khai Khung nhìn Khung nhì nhìn lôgic động Khung nhìn triển khai Khung nhì triển khai lôgic động nhìn Phân tích → Thiết kế → Cài đặt tí 55/55 55/55 Nhập môn CNPM - Ch2. PT Hệ thống 10
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan
229 p | 445 | 158
-
Nhập môn Công nghệ phần mềm - Phạm Thị Quỳnh
107 p | 252 | 40
-
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về Công nghệ phần mềm - TS. Trần Ngọc Bảo
74 p | 137 | 21
-
Đề thi cuối kỳ môn Công nghệ phần mềm - Trường CĐ Kỹ thuật Cao Thắng
1 p | 430 | 18
-
Bài giảng Công nghệ phần mềm: Bài 1 - TS. Lê Nguyễn Tuấn Thành
142 p | 233 | 17
-
Bài giảng Đảm bảo chất lượng phần mềm: Vấn đề quản lý chất lượng trong công nghệ phần mềm - PGS.TS. Trần Cao Đệ
32 p | 128 | 16
-
Giáo trình mô đun Công nghệ phần mềm (Nghề: Tin học ứng dụng - Trình độ: Trung cấp) - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu
49 p | 26 | 11
-
Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến
874 p | 131 | 11
-
Bài giảng Bộ môn Công nghệ phần mềm - Bài 1: Giới thiệu chung về Công nghệ phần mềm
45 p | 88 | 11
-
Bài giảng môn học Công nghệ phần mềm: Phần 1 - Nguyễn Chánh Thành
61 p | 117 | 11
-
Bài giảng Công nghệ phần mềm: Yêu cầu phần mềm
66 p | 107 | 10
-
Giáo trình Nhập môn công nghệ phần mềm: Phần 1
60 p | 121 | 9
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm
52 p | 88 | 8
-
Bài giảng Nhập môn Công nghệ phần mềm: Phần 1 - ThS. Phan Phương Lan (ĐH Cần Thơ)
37 p | 111 | 7
-
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về nội dung học phần - TS. Trần Ngọc Bảo
32 p | 126 | 7
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu công nghệ phần mềm
52 p | 79 | 5
-
Bài giảng Nhập môn công nghệ phần mềm: Chủ đề 1 - Lương Trần Hy Hiến
102 p | 64 | 4
-
Bài giảng Nhập môn công nghệ phần mềm: Chủ đề 4 - Lương Trần Hy Hiến (tt)
21 p | 56 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn