Bài giảng Nhập môn Công nghệ học phần mềm (Introduction to Software Engineering) – Chương 1: Bản chất phần mềm

115 82 0
Bài giảng Nhập môn Công nghệ học phần mềm (Introduction to Software Engineering) – Chương 1: Bản chất phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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: 04­8682595  FAX: 04­8692906  Email: cnpm@it­hut.edu.vn  HUT, Falt.   ª  Dept. of SE, 2001 SE­I.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.  SE­I.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.,  Addison­Wesley, 1995 • K. Kawamura, Nhập mơn Cơng nghệ học Phần  mềm. NXB Kinki­Kagaku, Tokyo, 2001 (Tiếng  Nhật)  HUT, Falt.   ª  Dept. of SE, 2001 SE­I.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 SE­I.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 SE­I.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 SE­I.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 SE­I.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 SE­I.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 SE­I.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 SE­I.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 SE­I.107 3.5.6 Mơ hình theo thành  phần (Component­based model) • Gắn với những cơng nghệ hướng đối tượng  (Object­oriented 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 SE­I.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ó SE­I.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 SE­I.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 SE­I.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.  SE­I.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 (Real­time 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 (Web­based SW) Phần? ?mềm? ?trí tuệ nhân tạo (AI  SW)

Ngày đăng: 29/05/2021, 10:08

Mục lục

  • Nhập môn Công nghệ học Phần mềm (Introduction to Software Engineering)

  • Cấu trúc môn học

  • Cấu trúc môn học (tiếp)

  • Tài liệu tham khảo

  • Phần I Giới thiệu chung về CNHPM

  • 1.1. Định nghĩa chung về phần mềm

  • Các đặc tính của SW và HW

  • Định nghĩa 1: Phần mềm là

  • SW đối nghĩa với HW

  • Định nghĩa 2

  • SW theo nghĩa rộng

  • Phần mềm là gì ?

  • Nhóm các kỹ thuật, phương pháp luận

  • Nhóm các chương trình

  • Nhóm các tư liệu

  • Những yếu tố khác

  • 1.2 Kiến trúc phần mềm

  • Kiến trúc phần mềm

  • 1.2.2 Phần mềm nhìn từ cấu trúc và thủ tục

  • Cấu trúc phần mềm

Tài liệu cùng người dùng

Tài liệu liên quan