ĐHBK HCM KHOA CNTT-BÀI GIẢNG CÔNG NGHỆ PHẦN MỀM Software Engineering

259 357 0
ĐHBK HCM KHOA CNTT-BÀI GIẢNG CÔNG NGHỆ PHẦN MỀM Software Engineering

Đ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

BàiBài GiảGiả BàiBài Giả n gGiả n g CôngCông NghệNghệ PhầnPhầnMềmMềm Software Engineering Software Engineering Giáo viên & Giao tiế p g iản g d ạy Giáo viên & Giao tiế p g iản g d ạy pg g ạypg g ạy ThS Nguyễn Cao Trí – caotri@hcmut.edu.vn http://www.cse.hcmut.edu.vn/~caotri Room 109 A5 – Trung tâm Kỹ thuật Điện toán Tel: 8647256 – 5370 Mobile: 091 391 6290 Hobbies: Automation , Flying Model http://www.rc-easy.net ••TàiTài liệuliệudownloaddownload trêntrên websitewebsite filefile:: TailieudientuCNPMTailieudientuCNPM PrintableVersionPrintableVersion pptppt •• HọcHọc thếthế nào?nào? ÎÎ HỏiHỏi ngayngay trêntrên lớplớp •• HọcHọc thếthế nào?nào? ÎÎ HỏiHỏi ngayngay trêntrên lớplớp ••BảngBảng mãmã sửsử dụngdụng làlà UnicodeUnicode dựngdựng sẵnsẵn ••CácCác bàibài tậptậpnộpnộpbằngbằng email,email, dạngdạng filefile ** ZIPZIP •• EmailEmail phảiphải ghighi rõrõ nộinội dungdung filefile đínhđính kèmkèm làlà gìgì bằngbằng tiếngtiếng ViệtViệt 22 Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin Copyright 2004 – Th.S Nguyễn Cao Trí – caotri@hcmut.edu.vn •• EmailEmail phảiphải ghighi rõrõ nộinội dungdung filefile đínhđính kèmkèm làlà gìgì bằngbằng tiếngtiếng ViệtViệt Giới thi ệ u môn h ọ cGiới thi ệ u môn h ọ c ệ ọệ ọ ••NộiNội dungdung mônmôn họchọc – Giớithiệu các khái niệmcơ bảnvề công nghệ phầnmềm ấ ầ ề ầ ề – Mụctiêucủasảnxu ấ tph ầ nm ề mvàcôngnghệ ph ầ nm ề m – Các mô hình sảnxuấtphầnmềm – Quy trình sảnxuấtvàquảnlýdự án phầnmềm ••TàiTài liệuliệuthamtham khảokhảo – Introduction to Software Engineering – Ronald J. Leach – CRC Pr ess ( Th ư v i ệ nA2 M S : 907580 2 00 4 ) ess ( ư v ệ S : 907580 00 ) – Software Engineering – Ian Sommerville – Fifth edition (Thư việnA3 MS: 200032) •• HìnhHình thứcthức kiểmkiểm tratra HìnhHình thứcthức kiểmkiểm tratra – Giữakỳ +Cuốikỳ +Bàitập – Hình thứckiểmtra: trắcnghiệm khách quan – open book Đánh giá kêt quả : tương đối phi tuyến 33 Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin Copyright 2004 – Th.S Nguyễn Cao Trí – caotri@hcmut.edu.vn – Đánh giá kêt quả : tương đối - phi tuyến ???????? & !!!!!!!!???????? & !!!!!!!! ••CôngCông NghiệpNghiệp&&CôngCông NghệNghệ ôô ệệ ầầ ềề ••C ô ngC ô ng Nghi ệ pNghi ệ pPh ầ nPh ầ nM ề mM ề m(CNpPM)(CNpPM) ••CôngCông NghệNghệ PhầnPhầnMềmMềm(CNPM)(CNPM) •• CôngCông nghiệpnghiệp phầnphần mềmmềm && cáccác côngcông nghiệpnghiệp kháckhác •• CôngCông nghiệpnghiệp phầnphần mềmmềm && cáccác côngcông nghiệpnghiệp kháckhác – Giống – Khác CóCó hayhay khôngkhông (những)(những) côngcông nghệnghệ chocho sảnsản xuấtxuất phầnphần •• CóCó hayhay khôngkhông (những)(những) côngcông nghệnghệ chocho sảnsản xuấtxuất phầnphần mềm?mềm? ••CóCó cầncầnthiếtthiếtphảiphảicócó côngcông nghệnghệ chocho sảnsảnxuấtxuấtphầnphầnmềmmềm ôô ảả ấấ ầầ ềề àà ộộ ảả ấấ ặặ kh ô ng,kh ô ng, khikhi s ả ns ả nxu ấ txu ấ tph ầ nph ầ nm ề mm ề ml à l à hoạthoạt đ ộ ngđ ộ ng s ả ns ả nxu ấ txu ấ t““ đ ặc đ ặc biệtbiệt ””vìvì khôngkhông thểthể nóinói làmlàm mộtmộtphầnphầnmềmmềmnhưnhư sảnsảnxuấtxuất mộtmộtlonlon cocacoca 44 Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin Copyright 2004 – Th.S Nguyễn Cao Trí – caotri@hcmut.edu.vn Đ ặ c tính của sản p hẩm p hần mềmĐ ặ c tính của sản p hẩm p hần mềm ặ p pặ p p ••SoftwareSoftware ==ProgramProgram •• SoftwareSoftware productproduct == ProgramProgram ++ DocumentDocument ++ SupportSupport SoftwareSoftware productproduct ProgramProgram ++ DocumentDocument ++ SupportSupport ••LoạiLoạisảnsảnphẩmphẩmphầnphầnmềmmềm – Generic Product: là sảnphNm đóng gói và bán rộng rãi trên thị trường. Bk Pdt là ả hN đ hát tiể th ê ầ đặ thù ủ – B espo k e P ro d uc t : là s ả n phN m đ ược phát t r iể n th eo y ê uc ầ u đặ c thù c ủ a từng khách hàng. ••CácCác đặcđặctínhtính quanquan trọngtrọng củacủasảnsảnphẩmphẩmphầnphầnmềmmềm M i i bili hầ ề ó hể h đổi h ậ iệ h ê ầ ủ – M a i nta i na bili ty: phầ nm ề mc ó t hể t h ay đổi t h u ậ nt iệ nt h eo y ê uc ầ uc ủ a người dùng – Dependability: tính ổn định, bảomậtvàantoàncủaphầnmềm. Không gây tổn hại về vật chất hay kinh thế cho hệ thống gây tổn hại về vật chất hay kinh thế cho hệ thống . – Efficiency: Sử dụng hiệuquả tài nguyên củahệ thống cho công việc – Usability: giao diệnvàphương thứcphải phù hợpvớingười dùng đồng thời đáp ứng đúng yêu cầu của người dùng 55 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn thời đáp ứng đúng yêu cầu của người dùng Software Software Đủ ha y Thiếu?Đủ ha y Thiếu? yy ••PhầnPhầnmềmmềm đượcđượcviếtviếtngayngay từtừ khikhi cócó nhữngnhững máymáy tínhtính ầầ êê ââ àà áá ềề ừừ ấấ programableprogramable đ ầ uđ ầ uti ê nti ê n ĐượcĐượcquanquan t â mt â mv à v à ph á tph á ttri ề ntri ề nt ừ t ừ r ất r ất sớmsớm •• CóCó rấtrất nhiềunhiều phầnphần mềmmềm đãđã đượcđược viếtviết •• CóCó rấtrất nhiềunhiều phầnphần mềmmềm đãđã đượcđược viếtviết ÎÎ KhôngKhông thiếuthiếuphầnphầnmềmmềm •• T h ự c T h ự ct ế t ế vi ệ cvi ệ csảnsảnxuấtxuất p hần p hầnmềmmềmkhôn g khôn g đá p đá p ứn g ứn g k ịp k ịp y êu y êu ựự ệệ pp gg pp gg ịpịp yy cầucầucủacủangườingườisửsử dụngdụng:: – Không đủ về số lượng Thiếu về chất lượng – Thiếu về chất lượng – Không kịpvề thờigian ÎÎ PhầnPhầnmềmmềm khôngkhông đápđáp ứngứng đủđủ chocho ngườingười dùngdùng 66 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn N g u y ên nhân khách q uanN g u y ên nhân khách q uan gy qgy q ••SốSố lượnglượng phầnphầnmềmmềmphảiphải đượcđượchiểuhiểulàlà sốsốđầu/loạiđầu/loạiphầnphầnmềmmềm đượcđượcsửsử dụngdụng chocho từngtừng mụcmục tiêutiêu ứngứng dụngdụng dụngdụng chocho từngtừng mụcmục tiêutiêu ứngứng dụngdụng ••NhuNhu cầucầusửsử dụngdụng phầnphầnmềmmềmlàlà rấtrấtlớnlớn – Nhiều ngành nghề cần dùng phầnmềmmáytính ỗ ề ầ ề ầ ề – M ỗ i ngành ngh ề c ầ n nhi ề uloạiph ầ nm ề m khác nhau – Mộiloạiphầnmềmcần nhiềucấp độ khác nhau theo trình độ người dùng ••ChấtChấtlượnglượng phầnphầnmềmmềmcũngcũng chưachưa đápđáp ứngứng tốttốt hoànhoàn toàntoàn ngườingườisửsử dụngdụng:: – Tính customize rất cao củasảnphẩmphầnmềm. – Trình độ sử dụng khác nhau và điềukiệnhạ tầng ứng dụng khác nhau ••NhuNhu cầucầuphầnphầnmềmmềmthườngthường rấtrấtcấpcấpbáchbách – Tầm nhìn và chiếnlượcchưa đầu đủ củangườisử dụng – Không có kế hoạch lâu dài 77 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn – Phảithayđổitheotừng đốitượng người dùng N g u y ên nhân chủ q uanN g u y ên nhân chủ q uan gy qgy q ••TínhTính chuyênchuyên nghiệpnghiệptrongtrong sảnsảnxuấtxuấtphầnphầnmềmmềmchưachưacaocao CácCác dữdữ liệuliệuquanquan sátsát đượcđược – Cứ 6 đề án triển khai thì có 2 bị huỷ bỏ Trung bình thời gian thực hiện thực tế bị kéo dài 50 % (cá biệt 200 - – Trung bình thời gian thực hiện thực tế bị kéo dài 50 % (cá biệt 200 - 300%) – Các đề án lớndễ thấtbại 3 / 4 á hệ thố lớ ó lỗi khi th thi – 3 / 4 c á c hệ thố ng lớ nc ó lỗi khi th ực thi – Quá trình phân tích yêu cầu(5%côngsức): để lại55%lỗi, có 18 % phát hiện được ế ế ể ỗ – Quá trình thi ế tk ế (25 % công sức): đ ể lại30%l ỗ i, có 10 % phát hiện được – Quá trình mã hoá, kiểmtravàbảotrì:để lại15%lỗi, có 72 % phát 88 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn hiện được N g u y ên nhân chủ q uan ( tt ) N g u y ên nhân chủ q uan ( tt ) gy q()gy q() LýLý dodo củacủanhữngnhững hệhệ quảquả trêntrên ể ầ ề ố ộ – Phát tri ể nph ầ nm ề mgi ố ng như m ộ t “nghệ thuật”,chưa đượcxem như một ngành khoa học – Quy trình phát triểnphầnmềmchưa đượcthống nhất Phải iết l i / ỗi khi ó th đổi ề ô ữ h/ h ặ / – Phải v iết l ạ i s / wm ỗi khi c ó sự th ay đổi v ề ng ô nng ữ , h/ w h o ặ co / s – Chưa đạt được1chuẩnchoviệc đolường hiệusuấtvàsảnphẩm – Độ phứctạpcủaphầnmềm quá cao đốivới1“kiếntrúcsư” ỹ ậ ặ ả ể i ậ ằ á ê ầ ầ ề – K ỹ thu ậ t đ ặ ct ả đ ể lạ i sự nh ậ pnh ằ ng trong c á cy ê uc ầ uph ầ nm ề m – Làm việc nhóm không đúng kỷ luật gây ra các lỗi Ầ Ả Ó Ộ Ề Ẩ Ì ẢẦ Ả Ó Ộ Ề Ẩ Ì Ả ÎÎ C Ầ N PH Ả I C Ó M Ộ T/NHI Ề U CHU Ẩ N QUY TR Ì NH TRONG S Ả N C Ầ N PH Ả I C Ó M Ộ T/NHI Ề U CHU Ẩ N QUY TR Ì NH TRONG S Ả N XUẤT PHẦN MỀM ĐỂ NÂNG CAO TÍNH CHUYÊN NGHIỆP CỦA XUẤT PHẦN MỀM ĐỂ NÂNG CAO TÍNH CHUYÊN NGHIỆP CỦA NỀN SẢN XUẤT ĐẶC BIỆT NÀYNỀN SẢN XUẤT ĐẶC BIỆT NÀY ÎÎ CẦNCÔNGNGHỆ CHO CÔNG NGHIỆPPHẦNMỀMCẦNCÔNGNGHỆ CHO CÔNG NGHIỆPPHẦNMỀM 99 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn ÎÎ CẦN CÔNG NGHỆ CHO CÔNG NGHIỆP PHẦN MỀMCẦN CÔNG NGHỆ CHO CÔNG NGHIỆP PHẦN MỀM Đ ị nh n g hĩa “Côn g n g h ệ p hần mềm”Đ ị nh n g hĩa “Côn g n g h ệ p hần mềm” ị g ggệ pị g ggệ p •• CôngCông NghệNghệ PhầnPhầnMềmMềm làlà sựsự thiếtthiếtlậplậpvàvà sửsử dụngdụng cáccác êê ắắ ằằ íí áá ầầ nguy ê nnguy ê nt ắ ct ắ ckhoakhoa họchọcnh ằ mnh ằ mmụcmục đ í chđ í ch tạotạorara c á cc á cph ầ nph ầ n mềmmềmmộtmộtcáchcách kinhkinh tếtế màmà cáccác phầnphầnmềmmềm đóđóhoạthoạt độngđộng hi ệ uhi ệ u q uả q uả vàvà tintin c ậy c ậy trêntrên cáccác má y má y tínhtính ệệ qq ậyậy yy •• CôngCông nghệnghệ phầnphầnmềmmềm làlà mộtmộtquyquy trìnhtrình cócó hệhệ thốngthống đượcđượcsửsử dụngdụng trongtrong quáquá trìnhtrình phânphân tích,tích, thiếtthiếtkế,kế,hiệnhiện thực,thực, kiểmkiểmtratra vàvà bảobảotrìtrì đểđể bảobảo đảmđảmcáccác sảnsảnphẩmphẩmphầnphần mềmmềm đượcđược sảnsản xuấtxuất vàvà hoạthoạt độngđộng :: hiệuhiệu quả,quả, tintin cậy,cậy, hữuhữu mềmmềm đượcđược sảnsản xuấtxuất vàvà hoạthoạt độngđộng :: hiệuhiệu quả,quả, tintin cậy,cậy, hữuhữu dụng,dụng, nângnâng cấpcấpdễdễ dàngdàng (modificable),(modificable), khảkhả chuyểnchuyển (portable),(portable), khảkhả kiểmkiểmtratra (testable),(testable), cộngcộng táctác đượcđượcvớivớicáccác hệhệ thốngthống kháckhác (interoperable)(interoperable) vàvà vậnvận hànhhành đúngđúng (correct)(correct) 1010 Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn hệhệ thốngthống kháckhác (interoperable)(interoperable) vàvà vậnvận hànhhành đúngđúng (correct)(correct) [...]... nhất Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 12 Nội dung công việc của Software Engineering ộ g g ệ g g Công việc của software engineering bao gồm: • • • • • Phân tích hệ thống/vấn đề Xác định các yêu cầu Thiết kế phần mềm Viết phần mềm (coding) Kiểm tra và tích hợp hệ thống • Cài đặt và chuyển giao phần mềm hầ ề • Lập tài liệu... kiểm tra phần mềm (software testing), tra: kiểm tra tính hợp lý của phần mềm mềm • Giai đ đoạn bả trì: Sửa lỗ ( bảo trì: ử lỗi (correction), thay đổ môi trường ì ) h đổi ô ờ thực thi (adaptation), tăng cường (enhancement) Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 15 Các mô hình sản xuất phần mềm p Tùy theo quy mô và công nghệ phát... hóa hóa • Reusability: Phần mềm hay một phần có thể được tái sử dụng cho các ứng dụng Reusability: khác khác Các modul có thiết kế tốt, độc lập và giao tiến đơn giản, cả về tình tương thích công nghệ phát triển Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 11 Cụ thể ( ) ụ (tt) • Maintainability: thiết kế của phần mềm có thể được hiểu... Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn Thời gian Quản lý Chất lượng Dịch vụ 14 Mô hình phát triển phần mềm p p Các công đoạn chính tổng quát bao gồm 4 giai đoạn • Giai đoạn đặc tả: xác định các tính năng và điều kiện hoạt tả: động của hệ thống (thu thập yêu cầu và phân tích) thống • Giai đoạn phát triển: Thiết kế phần mềm (software triển:...Cụ thể ụ • Efficiency: Phần mềm được sản xuất trong thời gian và điều kiện vừa phải Phần Efficiency: phải mềm vận hành đúng mức độ yêu cầu về công việc và thời gian gian • Reliablity: Phần mềm vận hành ổn định và tương tác được với các hệ thống ứng Reliablity: dụng • Usability: Phần mềm có thể dùng được bởi người sử dụng và với môi trường mà Usability:... thống thống Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 16 Mô hình WaterFall – Sequency model q y • Mô hình phát triển phần mềm đầu tiên • Các công việc tiếp nối nhau một cách tuần tự • Đặt nền móng cho các phương pháp phân tích, thiết kế, kiểm tra… tra… Phân tích yêu cầu Thiết kế hệ thống ệ g & phần mềm Hiện thức và kiểm tra moduls... Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 25 Chương 2 Project Management Sub-Team trong Software Projects Project Estimation P j t E ti ti Project Scheduling Project Management Tools Tại sao cần Project management Phát triển phần mềm hiện đại làm theo teamworks Cần quản lý và kiểm soát được rủi ro (Risk) trong quá trình sản xuất Các dự án phần mềm. .. sub-team không nhất thiết là một nhóm người mà có thể là 1 người Các sub-team không nhất thiết tồn tại suốt quá trình của một dự án hầ d á phần mềm ề Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn Công ty phần mềm Project 1 Team 6 Team 1 Team 4 Team 5 Team 2 Project 2 Team 3 Project 3 28 Các Sub-Team Sub Team System analysis Planning Team Requirements... giản Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 18 Mô Hình Prototype yp Hoạt động sản xuất Bản prototype Đặc tả Mô tả sơ lược của khá h hà ủ khách hàng Phát triển Các bản trung gian Kiểm thử Bản cuối cùng Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 19 Mô Hình Prototype... cần có sự quản lý chặt chẻ và đồng bộ Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 27 SUB Team SUB-Team trong software engineering Teamwork là mô hình hiện tại cho hầu hết các dự án phần mềm: Khả năng chuyên nghiệp hóa cao Hiệu quả trong quản lý, giao tiếp và điều hành Một software project team ộ p j được tạo ra từ nhiều subteams Các . NghiệpNghiệp&&CôngCông Ngh Nghệ ôô ệệ ầầ ềề ••C ô ngC ô ng Nghi ệ pNghi ệ pPh ầ nPh ầ nM ề mM ề m(CNpPM)(CNpPM) ••CôngCông Ngh Nghệ PhầnPhầnMềmMềm(CNPM)(CNPM) •• CôngCông nghiệpnghiệp phầnphần mềmmềm && cáccác côngcông nghiệpnghiệp kháckhác •• CôngCông nghiệpnghiệp phầnphần mềmmềm && cáccác côngcông nghiệpnghiệp kháckhác –. Khác CóCó hayhay khôngkhông (những)(những) côngcông ngh nghệ chocho sảnsản xuấtxuất phầnphần •• CóCó hayhay khôngkhông (những)(những) côngcông ngh nghệ chocho sảnsản xuấtxuất phầnphần mềm? mềm? ••CóCó cầncầnthiếtthiếtphảiphảicócó côngcông ngh nghệ chocho sảnsảnxuấtxuấtphầnphầnmềmmềm ôô ảả ấấ ầầ ềề àà ộộ ảả ấấ ặặ kh ô ng,kh ô ng,. MỀMCẦN CÔNG NGHỆ CHO CÔNG NGHIỆP PHẦN MỀM Đ ị nh n g hĩa “Côn g n g h ệ p hần mềm Đ ị nh n g hĩa “Côn g n g h ệ p hần mềm ị g ggệ pị g ggệ p •• CôngCông Ngh Nghệ PhầnPhầnMềmMềm

Ngày đăng: 03/05/2015, 17:43

Từ khóa liên quan

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

Tài liệu liên quan