1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bài giảng công nghệ phần mềm

259 138 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 259
Dung lượng 2,13 MB

Nội dung

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) [...]... 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... 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 • Bảo...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:... 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... • Modifiability: Phần mềm có thể được thay đổi dể dàng, nhanh chóng khi yêu cầu Modifiability: của người sử dụng thay đổi đổi • Portability: Phần mềm có thể chuyển đổi dễ dàng sang các hệ thống khác mà không Portability: cần phải điều chỉnh lớn Chỉ cần recompile nều cần thiết là tốt nhất lớn nhất • Testability: Phầ mềmcó thể d0ượ kiể t dễ dà Tốt nhất là đượ modull hó Testability: Phần ề ó ược kiểm... 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:... điề chỉnh, nâng cấp h th đổi th á t ì h điều hỉ h â ấ hay thay theo yêu cầu cầu • Interoperability: Phần mềm vận hành ổn định và đúng như mong đợi Trên hệ Interoperability: đợi thống nhiều người dùng (multi users) phần mềm vẫn hoạt động được với các vận hành khác của hệ thống thống • Correctness: Phần mềm phải tính toán đúng và tạo ra kết quả đúng và đúng với Correctness: mục tiêu ứng dụng của người... 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 Tích... (Risk) trong quá trình sản xuất Các dự án phần mềm đòi hỏi nhiều nguồn nhân lực với chuyên môn khá nhau ô khác h Tính tích hợp công nghệ cao và sự thay đổi nhanh chóng của công nghệ Phải bả đả tí h chuyên nghiệp t bảo đảm tính h ê hiệ trong phát t iể dự á phần hát triển án hầ mềm: Bảo đảm lịch trình của dự án Điều phối và khai thác tối đa nguồn nhân lực hiện có Bảo đảm chất lượng của sản phNm Khả năng... 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 . !!!!!!!! ••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 –. 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. 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: 12/04/2015, 14:01

TỪ KHÓA LIÊN QUAN