Chương này gồm có những nội dung chính sau: Định nghĩa chung về phần mềm, kiến trúc phần mềm, các khái niệm, đặc tính chung của phần mềm, thế nào là phần mềm tốt? các ứng dụng phần mềm. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Nhập mơn Cơng nghệ học Phần mềm (Introduction to Software Engineering) Department of Software Engineering Faculty of Information Technology Hanoi University of Technology TEL: 048682595 FAX: 048692906 Email: cnpm@ithut.edu.vn HUT, Falt. ª Dept. of SE, 2001 SEI.1 Cấu trúc mơn học • 45 tiết + 1 Đồ án mơn học • Cần những kiến thức căn bản về CNTT • Cung cấp những ngun lý chung về Cơng nghệ học Phần mềm (CNHPM) • Cung cấp kiến thức để học các mơn chun ngành hẹp như Phân tích và thiết kế phần mềm, Xây dựng và đánh giá phần mềm, Quản trị dự án phần HUT, Falt. SEI.2 mềm, ê Dept.ofSE,2001 Cutrỳcmụnhc(tip) ã Nidung:gm6phnvi11chng – Giới thiệu chung về CNHPM (3 buổi) Quản lý dự án PM (2b) u cầu người dùng (1b) Thiết kế và lập trình (2b) Kiểm thử và bảo trì (2b) Chủ đề nâng cao và tổng kết (1b+1b) • Đánh giá: Thi hết mơn + Đồ án mơn học HUT,Falt. ê Dept.ofSE,2001 SEưI.3 Tiliuthamkho ã R.Pressman,SoftwareEngineering:APractioners Approach.5 thEd.,McGrawưHill,2001 ã R. Pressman, Kỹ nghệ phần mềm. Tập 1, 2, 3. NXB Giáo dục, Hà Nội, 1997 (Người dịch: Ngơ Trung Việt) • I. Sommerville, Software Engineering. 5 th Ed., AddisonWesley, 1995 • K. Kawamura, Nhập mơn Cơng nghệ học Phần mềm. NXB KinkiKagaku, Tokyo, 2001 (Tiếng Nhật) HUT, Falt. ª Dept. of SE, 2001 SEI.4 Phần I Giới thiệu chung về CNHPM Chương 1: Bản chất phần mềm 1.1 Định nghĩa chung về phần mềm 1.2 Kiến trúc phần mềm 1.3 Các khái niệm 1.4 Đặc tính chung của phần mềm 1.5 Thế nào là phần mềm tốt ? 1.6 Các ứng dụng phần mềm HUT, Falt. ê Dept.ofSE,2001 SEưI.5 1.1.nhnghachungvphn mm ã Phnmm(SoftwareưSW)nhmt khỏiniminghaviphncng (HardwareưHW),tuynhiờn,õyl2 khỏinimtngi • Từ xưa, SW như thứ được cho khơng hoặc bán kèm theo máy (HW) • Dần dần, giá thành SW ngày càng cao và nay cao hơn HW HUT, Falt. ª Dept. of SE, 2001 SEI.6 Các đặc tính của SW và HW HW • • • • • SW Vật “cứng” Kim loại Vật chất Hữu hình Sản xuất cơng nghiệp bởi máy móc là chính • Định lượng là chính • Hỏng hóc, hao mịn HUT, Falt. • • • • • Vật “mềm” Kỹ thuật sử dụng Trừu tượng Vơ hình Sản xuất bởi con người là chính • Định tính là chính • Khơng hao mịn ª Dept. of SE, 2001 SEI.7 Định nghĩa 1: Phần mềm là • Các lệnh (chương trình máy tính) khi cthchinthỡcungcpnhng chcnngvktqumongmun ã Cỏccutrỳcdliulmchochng trỡnhthaotỏcthụngtinthớchhp ã Cỏctliumụtthaotỏcvcỏchs dngchngtrỡnh HUT,Falt. ê Dept. of SE, 2001 SEI.8 SW đối nghĩa với HW • Vai trị SW ngày càng thể hiện trội • Máy tính là . . . chiếc hộp khơng có SW • Ngày nay, SW quyết định chất lượng một hệ thống máy tính (HTMT), là chủ ctlừi,trungtõmcaHTMT ã HthngmỏytớnhgmHWvSW HUT,Falt. ê Dept.ofSE,2001 SEưI.9 nhngha2 Trongmththngmỏytớnh,nutrbi cỏcthitbvcỏcloiphkinthỡphncũn lại chính là phần mềm (SW) • Nghĩa hẹp: SW là dịch vụ chương trình để tăng khả năng xử lý của phần cứng của máy tính (như hệ điều hành OS) • Nghĩa rộng: SW là tất cả các kỹ thuật ứng dụng để thực hiện những dịch vụ chức năng cho mục đích nào đó bằng phần cứng HUT, Falt. ª Dept. of SE, 2001 SEI.10 Mơ hình xoắn ốc (spiral) Lập kế hoạch Phân tích rủi ro Giao tiếp khách hàng Khái niệm Kỹ nghệ Làm Nâng cấp Bảo trì HUT, Falt. Khách hàng đánh giá ê Dept.ofSE,2001 Xõy dng & Xut xng SEưI.101 Mụhỡnhxonc(tip) ã Giao tiếp khách hàng: giữa người phát triển và khách hàng để tìm hiểu u cầu, ý kiến • Lập kế hoạch: Xác lập tài ngun, thời hạn và những thơng tin khác • Phân tích rủi ro: Xem xét mạo hiểm kỹ thuật và mạo hiểm quản lý • Kỹ nghệ: Xây dựng một hay một số biểu dincangdng HUT,Falt. ê Dept.ofSE,2001 SEưI.102 Mụhỡnhxonc(tip) ã Xõydngvxutxng:xõydng,kim th,citvcungcphtrngidựng (tliu,hunluyn,...) • Đánh giá của khách hàng: Nhận các phản hồi của người sử dụng về biểu diễn phần mềm trong giai đoạn kỹ nghệ và cài đặt HUT, Falt. ª Dept. of SE, 2001 SEI.103 Mơ hình xoắn ốc: Mạnh và yếu? • Tốt cho các hệ phần mềm quy mơ lớn • Dễ kiểm sốt các mạo hiểm ở từng mức tiến hóa • Khó thuyết phục khách hàng là phương pháp tiến hóa xoắn ốc có thể kiểm sốt • Chưa được dùng rộng rãi như các mơ hỡnhtuyntớnhhocchth HUT,Falt. ê Dept.ofSE,2001 SEưI.104 MụhỡnhxoncWINWIN ã Nhmthahipgiangiphỏttrinv khỏchhng,chaicựngThng(winưwin) Khách thì có phần mềm thỏa mãn u cầu chính – Người phát triển thì có kinh phí thỏa đáng và thời gian hợp lý • Các hoạt động chính trong xác định hệ thống: – Xác định cổ đơng (stakeholders) – Xác định điều kiện thắng của cổ đơng – Thỏa hiệp điều kiện thắng của các bên liên quan HUT, Falt. ª Dept. of SE, 2001 SEI.105 Mơ hình xoắn ốc WINWIN Xác định điều kiện thắng cổ đơng 3a Hịa hợp điều kiện thắng 3b Thiết lập mục tiêu mức tiếp ràng buộc, dự kiến Xác định mức tiếp cổ đơng Đánh giá tiến trình dự kiến sản phẩm, giải rủi ro Xét duyệt đánh giá Kiểm định sản phẩm quy trình HUT, Falt. Xác định mức tiếp sản phâm quy trình, kể phân chia nhỏ ª Dept. of SE, 2001 SEI.106 Mơ hình phát triển đồng thời (The concurrent development model) • Xác định mạng lưới những hoạt động đồng thời (Network of concurrent activities) • Các sự kiện (events) xuất hiện theo điều kiện vận động trạng thái trong từng hoạt động • Dùng cho mọi loại ứng dụng và cho hình ảnh khá chính xác về trạng thái hiện trạng của dự án • Thường dùng trong phát triển các ứng dụng khách/chủ (client/server applications): system and componets are developed concurrently HUT, Falt. ª Dept. of SE, 2001 SEI.107 3.5.6 Mơ hình theo thành phần (Componentbased model) • Gắn với những cơng nghệ hướng đối tượng (Objectoriented technologies) qua việc tạo các lớp (classes) có chứa cả dữ liệu và giải thuật xử lý dữ liệu • Có nhiều tương đồng với mơ hình xoắn ốc • Với ưu điểm tái sử dụng các thành phần qua Thư viện / kho các lớp: tiết kiệm 70% thời gian, 80% giá thành, chỉ số sản xuất 26.2/16.9 • Với UML như chuẩn cơng nghiệp đang triển khai HUT, Falt. ª Dept. of SE, 2001 SEI.108 Mơ hình theo thành phần Lập kế hoạch Phân tích rủi ro Giao tiếp khách hàng Khách hàng đánh giá HUT, Falt. Xác định thành phần ứng viên Xây dựng bước lặp thứ n hệ thống Kỹ nghệ Xây dựng & Xuất xưởng ª Dept. of SE, 2001 Đặt thành phần vào thư viện Tìm thành phần từ thư viện Lấy thành phần có Xây dựng thành phần kh.có SEI.109 3.5.7 Mơ hình hình thức (Formal model) • Cịn gọi là CNHPM phịng sạch (Cleanroom SE) • Tập hợp các cơng cụ nhằm đặc tả tốn học phần mềm máy tính từ khâu định nghĩa, phát triển đến kiểm chứng • Giúp kỹ sư phần mềm phát hiện và sửa các lỗi khó • Thường dùng trong phát triển SW cần độ an tonrtcao(yt,hngkhụng,...) HUT,Falt. ê Dept.ofSE,2001 SEưI.110 Mụhỡnhhỡnhthc:imyu ? ã Cnnhiuthigianvcụngsc phỏttrin • Phí đào tạo cao vì ít người có nền căn bản cho áp dụng mơ hình hình thức • Khó sử dụng rộng rãi vì cần kiến thức tốn và kỹ năng của khách hàng HUT, Falt. ª Dept. of SE, 2001 SEI.111 3.5.8 Các kỹ thuật thế hệ 4 (Fourth generation techniques) • Tập hợp các cơng cụ cho phép xác định đặc tính phần mềm ở mức cao, sau đó sinh tự động mã nguồn dựa theo đặc tả • Các cơng cụ 4GT điển hình: ngơn ngữ phi thủ tục cho truy vấn CSDL; tạo báo cáo; xlýdliu;tngtỏcmnhỡnh;tomó ngun;khnnghabccao;kh nngbngtớnh;khnnggiaodinWeb; HUT,Falt. ê Dept.ofSE,2001 SEưI.112 vv 4GT:How? ã Từ thu thập u cầu cho đến sản phẩm: đối thoại giữa khách và người phát triển là quan trọng • Khơng nên bỏ qua khâu thiết kế. 4GT chỉ áp dụng để triển khai thiết kế qua 4GL • Mạnh: giảm thời gian phát triển và tăng năng suất • Yu:4GTkhúdựnghnngụnnglptrỡnh,mó khútiuvkhúbotrỡchohthngln cnknngcaksphnmm ã Tnglai:4GTvimụhỡnhtheothnhphn HUT,Falt. ê Dept.ofSE,2001 SEưI.113 3.5.9 Sản phẩm và quy trình (Product and process) • Quy trình yếu thì sản phẩm khó mà tốt, song khơng nên coi trọng q mức vào quy trình hoặc q mức vào sản phẩm • Sản phẩm và quy trình cần được coi trọng như nhau HUT,Falt. ê Dept.ofSE,2001 SEưI.114 BitpPhnIvỏnI ã Xemlicỏckhỏinim,mụhỡnhcaphnmm vCNHPM ã ỏnmụnhcI(cho13nhúm,npbỏocỏo,t liệu tìm được trên Web và thư viện): – Tìm hiểu và viết báo cáo, trình bày về mơ hình phát triển phần mềm (10 mơ hình / 10 nhóm) – Chuẩn ISO 9001 cho SE – Chuẩn CMM (www.sei.com) – Các kỹ thuật lập trình (cấu trúc, mơ đun, . . .) HUT, Falt. ª Dept. of SE, 2001 SEI.115 ... Chương? ?1:? ?Bản? ?chất? ?phần? ?mềm 1.1 Định nghĩa chung về? ?phần? ?mềm? ? 1.2 Kiến trúc? ?phần? ?mềm 1.3 Các khái niệm 1.4 Đặc tính chung của? ?phần? ?mềm 1.5 Thế nào là? ?phần? ?mềm? ?tốt ? 1.6 Các ứng dụng? ?phần? ?mềm. .. thiết kế? ?phần? ?mềm, Xây dựng và đánh giá? ?phần? ?mềm, Quản trị dự án? ?phần? ? HUT, Falt. SEI.2 mềm, ª Dept. of SE, 2001 Cấu trúc mơn? ?học? ?(tiếp) • Nội dung: gồm 6? ?phần? ?với 11? ?chương – – – – – – Giới thiệu chung về CNHPM (3 buổi)... Phần? ?mềm? ?thời gian thực (Realtime SW) Phần? ?mềm? ?nghiệp vụ (Business SW) Phần? ?mềm? ?tính tốn KH&KT (Eng.&Scie. SW) Phần? ?mềm? ?nhúng (Embedded SW) Phần? ?mềm? ?máy cá nhân (Personal computer SW) Phần? ?mềm? ?trên Web (Webbased SW) Phần? ?mềm? ?trí tuệ nhân tạo (AI SW)