CÔNG NGHỆ PHẦN MỀM - CHƯƠNG 1 MỞ ĐẦU
lượt xem 18
download
Mục đích môn học Công Nghệ Phần Mềm đí họ ghệ Cung cấp kiến thức liên quan đến : Các khái niệm cơ bản về lĩnh vực công nghệ phần mềm (CNPM)Phương pháp, kỹ thuật, công cụ và nguyên tắc trong quá trình xây dựng/phát triển một sản phẩm phần mềm,(Software Process), một quy trình công nghiệp Các kỹ năng cơ bản trong quá trình triển khai Năng lực và kiến thức yêu cầu Môn học yêu cầu một số kiến thức tiên quyết : Tin học đại cương họ đã có Cơ sở Lập trình Toán rời rạc –...
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 1 MỞ ĐẦU
- Thời khóa biểu – Hệ Cao đẳng Học Kỳ 1, 2012-2013 Môn học : Công nghệ phần mềm Nhập môn Công nghệ Phần mềm CBGD : PGS.TS. Phan Huy Khánh (Introduction to Software Engineering) (Introduction Lớp ghép 112CNPM201+ 112CNPM1A Ngày bắt đầu 20/08/2012 PGS.TS. Phan Huy Khánh Phòng A202, tiết 1-4 khanhph29@gmail.com, phkhanh@dut.udu.vn Chương 1 Mở đầu “One picture is worth more than ten thousand words” Chinese Proverb 2/66 2/66 Năng lực và kiến thức yêu cầu và Mục đích môn học Công Nghệ Phần Mềm Môn học yêu cầu một số kiến thức tiên quyết : Môn Cung cấp kiến thức liên quan đến : Cung Tin học đại cương Tin Các khái niệm cơ bản về lĩnh vực công nghệ phần mềm (CNPM) khá (CNPM) Cơ sở Lập trình trì Phương pháp, kỹ thuật, công cụ và nguyên tắc trong quá trình phá quá trì Ph Toán rời rạc – Đảm bảo cơ sở Toán học cho Tin học Toá Toá xây dựng/phát triển một sản phẩm phần mềm, hay tiến trình ng/phá trì ti Ngoài ra cần đọc thêm, học thêm về : Ngoà phần mềm (Software Process), một quy trình công nghiệp trì CNTT, internet nói chung nó CNTT, Các kỹ năng cơ bản trong quá trình triển khai tiến trình phần mềm quá trì trì Khái niệm dự án, quản lý dự án nói chung, CNTT nói riêng Khá nó nó Khả năng tham gia xây dựng/phát triển một phần mềm cụ thể ng/phá Kh Những vấn đề kinh tế, quản lý xí nghiệp xí Nh trong khuôn khổ một dự án phần mềm (Software Project) Những vấn đề con người, xã hội, môi trường ườ ườ Nh Nội dung môn học trình bày : trì bà Các văn bản chính sách, pháp luật của Nhà nuớc chí sá phá Nhà Các giai đoạn trong một tiến trình phần mềm nói chung trì nó Một số kỹ năng mềm : Tập trung vào các chủ đề cơ bản : và cá Tiiếp cận (tự đọc, tự học), trình bày, diễn đạt vấn đề trì bà T Phân tích yêu cầu, thiết kế hệ thống, thử nghiệm tí Khả năng điều hành các cuộc họp, thảo luận, làm việc nhóm hà cá là nhó Kh và kỹ thuật đặc tả Khả năng đối phó sự cố, rủi ro… phó ro… Kh 3/66 3/66 4/66 4/66 Đánh giá kết quả học tập giá Tài liệu tham khảo Bài giảng PPT : Yêu cầu : Yêu [1] Nhập môn Công nghệ Phần mềm, Hiiểu nội dung trình bày trên lớp trì bà H PGS.TS. Phan Huy Khánh, Khoa CNTT, Tr. ĐHBK, ĐHĐN Khá Khoa Tr. HBK, Thực hiện các bài tập về nhà cá nhà Th Sách tiếng Anh : Khả năng thực hành hà Kh [1] Roger S. Pressman. Software Engineering Apractitioner’s Apractitioner’ Software Tinh thần thái độ và năng lực học tập thá Tinh Approach. McGraw-Hill, Six Edition, 2005 (Ebook) McGraw- [2] Ian Sommerville. Software Engineering. McGraw-Hill, 7th Edition, Software McGraw- Nghe giảng, ghi chép ché Nghe 2007(Bản dịch của Ngô Trung Việt) 2007(B Trả lời câu hỏi và đặt câu hỏi và Tr Sách tiếng Việt : Tham khảo tài liệu, truy cập internet tà Tham [3] Lê Đức Trung. Công Nghệ Phần Mềm. Trung. Công Tham gia học nhóm, tập thảo luận và thuyết trình nhó và trì Tham Nhà XB Khoa Học Kỹ thuật, Hà Nội 2002 Nhà Hà Khả năng tìm hiểu những vấn đề thực tiễn và ứng dụng CNTT tì và Kh [4] Lương Mạnh Bá. Cơ Sở Công Nghệ Phần Mềm Bá Kiiểm tra giữa kỳ, cuối kỳ : K Nhà XB Khoa Học Kỹ thuật, Hà Nội 2010 Nhà Hà Internet : http://tailieu.vn/ Internet http://tailieu.vn/ Thi viết (60 phút) phú Thi Lủ khủ với từ khóa tìm kiếm llqđ công nghệ phần mềm khó tì q công 5/66 5/66 6/66 6/66 Nhập môn CNPM - Ch1. Mở đầu 1
- Nội dung môn học Chương 1 Mở đầu Chương 1 Mở đầu Một số khái niệm và thuật ngữ khá và Các phương diện của công nghệ phần mềm Chương 2 Phân tích hệ thống tí Những nội dung cơ bản của CNPM Nh Chương 3 Thiết kế hệ thống Tiiến trình phần mềm trì T Chương 4 Kiểm thử phần mềm Kỹ thuật thế hệ 4 Chương 5 Đặc tả phần mềm 7/66 7/66 8/66 8/66 Computer Architecture Computer = Hardware + Software Tổ chức hệ thống theo lớp, nhiều mức trừu tượng ượ Applications Operating System Software Software Tools + Programs Enviroment Firmware (Compilers, …) Hardware/Software Interface Hardware/Software Interface Processor Memory I/O Data & Control Bus Hardware Hardware Circuits digitaux Circuits VLSI Layout Description Layout Description 9/66 9/66 10/66 10/66 Ví dụ phần mềm Phần mềm (Software) Phần mềm, còn được gọi là (đgl) nhu liệu, là : ượ là gl) Chức năng của một phần mềm : Ph Ch Làm công cụ trợ giúp người sử dụng (NSD) thực hiện công việc giú ườ Tập hợp các chương trình, bao gồm, hay tập hợp các câu lệnh trì của mình trong một lĩnh vực chuyên môn/nghề nghiệp trên máy tính mì má tí Được viết bằng một, hoặc nhiều ngôn ngữ lập trình Đượ trì Có chất lượng hiệu quả, tốt hơn (một cách tự động) ượ cá Thực hiện (chạy) theo một trật tự xác định (thuật toán), theo toá so với công việc thủ công sử dụng các đối tượng dữ liệu có tổ chức cá ượ có Phần mềm Quản lý giáo vụ trong Giáo dục & Đào tạo : giá Giá Ph Tự động thực hiện một số chức năng hoặc giải quyết NSD làm công tác giáo vụ : NSD là tá giá một bài toán/vấn đề nào đó bà toá Xếp lớp, xếp ngành, lập thời khoá biểu ngà khoá Đặc điểm của phần mềm là tính trừu tượng và vô hình là ượ và hì Theo dõi, quản lý kết quả học tập Theo NSD là giảng viên : NSD là Từ những năm 1980, Từ những năm 1980, Đăng ký giảng dạy Đă phần mềm được bày phần mềm đượ c bà ượ bày bán như llà sản phẩm Xem thời khoá biểu khoá Xem bán như à sản phẩm NSD là Sinh viên : NSD là Đăng ký học phần Đă Xem điểm, kết quả học tập Xem 11/66 11/66 12/66 12/66 Nhập môn CNPM - Ch1. Mở đầu 2
- Công nghệ phần mềm (CNPM) là gì ? là Bách khoa toàn thư mở Wikipedia toà Công nghệ (kỹ nghệ) phần mềm : Công Từ điển Computer Dictionary của Microsoft Press®, 1994 : Computer Press® Vận dụng thực tế những kiến thức khoa học trong Software Engineering : The Design and Development Software thiết kế, xây dựng phần mềm cũng như tài liệu liên quan of Sofware (Computer Program), trong quá trình phát triển, hoạt động và bảo dưỡng quá trì phá và ưỡ from Concept through Execution and Documentation Theo Edsger Dijkstra : Theo Từ điển Larousse 1996 định nghĩa chi tiết hơn : 1996 Khi máy tính điện tử chưa xuất hiện, má tí việc lập trình chưa có khó khăn gì cả trì có khó gì Là tập hợp các phương pháp, mô hình, kỹ thuật, công cụ cá phá hì và thủ tục xây dựng một Sản Phẩm Phần Mềm (SPPM) Khi đã xuất hiện một vài chiếc máy tính với chức năng kém và má tí ké thì lập trình đã gặp một vài khó khăn nhỏ trì và khó Các giai đoạn xây dựng SPPM : đặc tả (Specifiction), thiết kế thi Giờ đây khi chúng ta đã có những chiếc máy tính khổng lồ chú có má (Design), lập trình (programming), thử nghiệm (Testing), trì th thì những khó khăn đấy đã trở nên rất lớn thì khó kh sửa sai (Debugging), cài đặt (Setup) để đem vào ứng dụng và Như vậy, ngành công nghiệp điện tử đã không giải quyết ngà (Application), bảo trì (Maintenance) và lập hồ sơ trì và khó khăn nào mà họ chỉ tạo ra những khó khăn mới khó nà mà khó (Documentation) đóng gói SP gó (Documentation) Họ đã tạo ra khó khăn chính là sử dụng sản phẩm của họ khó chí 13/66 13/66 14/66 14/66 Vai trò của Công nghệ Phần mềm Đặc điểm của CNPM CNPM : CNPM Sự khác biệt giữa CNPM và Khoa học Máy tính (KHMT) khá và Má tí Một ngành không thể thiếu được ngà ượ KHMT nghiên cứu lý thuyết và những vấn đề cơ bản về CNTT và KHMT trong lĩnh vực CNTT&TT (ICT) Khi CNPM phát triển mạnh mẽ, các lý thuyết của KHMT vẫn phá cá Khi Càng ngày càng có nhiều hệ thống khác nhau, ngà cà có khá không đủ để đóng vai trò là nền tảng hoàn thiện cho CNPM là hoà trong mọi lĩnh vực, được kiểm soát bởi phần mềm ượ soá Sự khác biệt giữa CNPM và Công nghệ Hệ thống (CNHT) khá và Xu thế ngày nay : ngà Xu CNHT (hay kỹ nghệ hệ thống) liên quan tới mọi khía cạnh khí CNHT Con người có thể sản xuất các hệ thống PM lớn và hữu ích Con ườ có cá và là nhờ phần lớn vào sự phát triển của CNPM và phá của quá trình phát triển hệ thống dựa máy tính bao gồm : quá trì phá má tí phần cứng, phần mềm, và công nghệ xử lý và Mọi quốc gia phát triển đều phụ thuộc chủ yếu phá vào các hệ thống PM có chất lượng cá có ượ Kỹ sư hệ thống phải thực hiện việc đặc tả hệ thống, thiết kế Xây dựng, bảo trì một hệ thống PM hiệu quả là yêu cầu trì Xây kiến trúc hệ thống, tích hợp và triển khai hệ thống trú tí và cần thiết đối với nền kinh tế toàn cầu và của từng quốc gia toà và 15/66 15/66 16/66 16/66 Mục đích của CNPM Chất lượng bên ngoài của SPPM ượ ngoà Những yếu tố chất lượng bên ngoài của SPPM ượ ngoà Mục đích của CNPM là sản xuất phần mềm có chất lượng là có ượ Nh chủ yếu phục vụ cho người sử dụng (NSD) ườ Chất lượng phần mềm : Ch ượ Chất lượng bên ngoài gồm : Ch ượ ngoà Không là một khái niệm đơn giản Không là khá Tốc độ nhanh Bao gồm nhiều yếu tố phức hợp Bao Chạy ổn định Ch Người ta thường đánh giá theo hai kiểu chất lượng : Ngườ ườ giá ượ Có tính dễ hiểu, dễ sử dụng (tiếng Anh, tiếng Việt) Những yếu tố chất lượng bên ngoài (mục đích cuối cùng, ượ ngoà cù Nh Có tính dễ thích nghi với những thay đổi (tính mở rộng) thí (tí chẳng hạn chạy nhanh, dễ hiểu, dễ sử dụng…) ng… Có tính công thái học (Ergonomy, Human Factor) thá Những yếu tố chất lượng bên trong (chỉ những người làm Tin ượ ườ là Nh học chuyên nghiệp mới biết được, chẳng hạn có tính cấu ượ có v.v... v.v... trúc, dễ đọc, dễ bảo trì phát triển...) trú trì phá Yếu tố chất lượng bên trong là mấu chốt để đạt được ượ là ượ những yếu tố chất lượng bên ngoài ượ ngoà 17/66 17/66 18/66 18/66 Nhập môn CNPM - Ch1. Mở đầu 3
- Chất lượng bên trong của SPPM ượ Các yếu tố chất lượng khác ượ khá Những yếu tố chất lượng bên trong của một SPPM ượ Hiiệu quả đối với nguồn tài nguyên của MTĐT như : tà Nh H MT (cho những người làm Tin học chuyên nghiệp) là : ườ là Bộ xử lý Tính đúng đắn Bộ nhớ các loại Khả năng thực hiện chính xác công việc đặt ra chí xá Kh Các thiết bị CNNT&TT... Tính bền vững Tính thích nghi : thí Có thể hoạt động trong những điều kiện bất thường ườ Dễ sử dụng Tính có thể mở rộng có Dễ chuyển đổi (không phụ thuộc vào cấu hình phần cứng) và hì Khả năng dễ sửa đổi để thích nghi với những thay đổi mới thí Kh Dễ kiểm chứng Tính sử dụng lại An toàn (được bảo vệ quyền truy nhập) An toà đượ Khả năng sử dụng lại toàn bộ hay một phần của hệ thống cho toà Kh những ứng dụng mới v.v... v.v... Tính tương thích thí Có thể dễ dàng kết hợp với các sản phẩm phần mềm khác cá khá 19/66 19/66 20/66 20/66 Phân loại phần mềm Phần mềm hệ thống Chức năng dùng để vận hành máy tính : hà má tí Phần mềm (PM) máy tính là thuật ngữ chung má tí là Ph Giúp điều khiển phần cứng máy tính, các thiết bị chuyên dụng Giú má tí cá chỉ các chương trình chạy trên máy tính trì má tí Là nền tảng cho các ứng dụng khác nhau hoạt động cá khá Có nhiều cách phân loại PM, nhưng thường được phân loại cá phân PM, nh ườ ượ phân Ví dụ : theo phương thức hoạt động, gồm 4 loại : ng, Các hệ điều hành máy tính Windows XP, Linux, Unix… hà má tí Unix… Phần mềm hệ thống (System SoftWare) Ph Các thư viện liên kết động DLL (Dynamic Linked Library) Các trình điều khiển (Driver) trì Phần mềm ứng dụng (Application SoftWare) Ph Phần sụn/dẻo (FirmWare) và BIOS (FirmW và Phần mềm tiện ích (Utility SoftWare) Phần mềm nhúng (Embedded Software) nhú Ph Unix Linux Mac MS-DOS MS- Windows 21/66 21/66 22/66 22/66 Phần mềm ứng dụng Phần mềm tiện ích Chức năng dùng để thực hiện một hay nhiều tác vụ nào đó Chức năng dùng để quản lý và tối ưu hóa mọi máy tính trên máy tính một cách hiệu quả, nhanh chóng và dễ dàng một cách hiệu quả, nhanh chóng và dễ dàng Ví dụ : Ví dụ : Phần mềm văn phòng (Microsoft Offices, Lotus 1-2-3, FoxPro) 1- Các ngôn ngữ lập trình (Programming Languages) trì Phần mềm đa phương tiện (Multimedia Software) Các phần mềm chuyển dịch mã (Translator) : biên dịch (Compiler), thông dịch (Interpretor) Phần mềm doanh nghiệp BI, ERP, CRM… CRM… Quản lý đĩa cứng (Disk Defragmenters) Phần mềm giáo dục, trợ giúp giảng dạy (e-Learning) giá giú (e- Qu Phần mềm Cơ sở dữ liệu (CSDL) và quản trị CSDL và Quản lý hiện trạng (System Profilers) Qu Phần mềm đồ họa (Graphics Software), thiết kế (CAD, Designers...) Phòng chống virus, harker (Virus Scanners) Phòng Các hệ chuyên gia, trí tuệ nhân tạo, người máy, v.v... trí ườ má Nén giải nén DL (Compression) né Phần mềm trò chơi (Games)… (Games) Tối ưu hệ thống (Registry Cleaners)… Cleaners)… 23/66 23/66 24/66 24/66 Nhập môn CNPM - Ch1. Mở đầu 4
- Phần mềm nhúng nhú Ví dụ phần mềm nhúng nhú Là những thiết bị cầm tay nhỏ gọn : Hay hệ thống nhúng (Embedded System) : nhú Đồng hồ kĩ thuật số Phục vụ giải quyết các bài toán chuyên dụng cá bà toá Ph Máy chơi nhạc MP3… MP3… trong nhiều lĩnh vực khác nhau : khá Hoặc là những sản phẩm lớn như : Ho là nh Công nghiệp Công Đèn giao thông Tự động hoá hoá Bộ kiểm soát hoạt động trong nhà máy soá nhà Điều khiển Các hệ thống kiểm soát máy năng lượng hạt nhân soá má ượ Quan trắc Quan Dự báo, cảnh báo thời tiết, mưa bão, động đất, sóng thần… bá bão, só Truyền tin… Truy tin… Mục đích : Giúp các sản phẩm điện tử có chức năng hoàn hảo, phục vụ Giú cá hoà hiệu quả các nhu cầu của NSD với độ an toàn, bảo mật cao toà 25/66 25/66 26/66 26/66 Phần mềm điều khiển mạch LED Robot của NASA Đặc điểm phần mềm nhúng nhú Thuộc tính của SPPM tí Đặc điểm của các hệ thống nhúng là : cá nhú là Thuộc tính của một SPPM biến đổi tùy theo phần mềm : Thu tí tù Được tích hợp vào trong các IC của thiết bị điện tử Đượ tí và cá Xuất hiện từ khi được cài đặt và được đưa ra dùng ượ cà và ượ dù Có khả năng tự trị, chạy trong các thiết bị cá Không bao gồm các dịch vụ được cung cấp kèm theo cá ượ kè mà không cần hệ điều hành hà Một số thuộc tính quan trọng gồm: tí Hoạt động ổn định Ho Khả năng bảo trì để thỏa mãn yêu cầu của khách hàng trì khá hà Kh Có tính năng tự động hoá cao hoá Khả năng tin cậy, an toàn và bảo mật của phần mềm không tạo ra toà và Kh Ưu điểm : thiệt hại vật chất hay kinh tế trong trường hợp hư hỏng ườ Độ hữu hiệu không thể phí phạm các nguồn tài nguyên phí cá tà Nhỏ gọn Nh như bộ nhớ và các chu kì vi xử lý kì Dễ cài đặt, đóng gói gó Khả năng sử dụng, có một giao diện tương đối dễ cho người dùng ng, ườ dù Kh Có thể sản xuất hàng loạt hà và có đầy đủ hồ sơ về phần mềm Network Embeded Module 27/66 27/66 28/66 28/66 Tính chất của CNPM/SPPM Tính cạnh tranh của PM CNPM : CNPM Cạnh tranh của PM (Software Competitiveness) Tạo ra SPPM “vật chất” thấy được, sao chép được ượ ché ượ Mỹ, Tây Âu và Đông Âu ngày nay có công nghiệp PM ổn định và ngà có nhưng không “sờ thấy” được ượ Châu Á có các quốc gia có nền CNPM phát triển : có phá Châu Hạ tầng cơ sở chủ yếu là điện và viễn thông là và Nhật Bản, Hàn quốc, Singapore, Ấn Độ, Trung Quốc Hà Người ta có thể làm việc từ xa, làm việc “tại gia”, mọi lúc mọi nơi… ườ có là gia” lú i… Bản chất trí tuệ của cạnh tranh : trí Lĩnh vực luôn đòi hỏi tính năng động, tính sáng tạo và khôn ngoan tí tí sá và SPPM : SPPM Innovative, Vital and Successful Không có “hàng giả, chỉ bị sao chép “lậu”, “ăn cắp”… Không có ché Software Product = Human Thought Không bị “mòn cũ”, nhưng luôn được “mới hơn” qua phiên bản nh ượ n” Không Được phân phối và tiêu thụ theo nhiều phương thức, Đượ và Need and HQP (High Qualified Personal) có thể “vượt biên” không qua khâu kiểm tra Hải quan ượ biên” Không phụ thuộc và không bị ảnh hưởng (hoặc chỉ bị rất ít) và ưở Không Human Resource Need for the VN IT Industry các yếu tố địa lý, khí hậu, môi trường lý, khí ườ Mở ra các thị trường rất lớn. đầy tiềm năng, cạnh tranh quyết liệt cá ườ ng, 29/66 29/66 30/66 30/66 Nhập môn CNPM - Ch1. Mở đầu 5
- Lịch sử công nghệ phần mềm Tóm tắt quá trình tiến hóa của SPPM quá trì hó Thời kỳ đầu tiên Xử lý theo lô (Batch processing) Phân Tính toán Thời gian thực PC, WAN, MAN Phần mềm được viết theo đơn đặt hàng 1950 - 1960 tích Internet Quản lý nhỏ LAN, CSDL yêu cầu Đa người dùng (Multiusers) Thời kỳ thứ hai Thời gian thực (Real time) Cơ sở dữ liệu (Database) 1960 - 1970 Ngôn ngữ hình thức Hướng đối tượng Ngôn ngữ Phần mềm sản phẩm Đặc tả Tiến trình, vòng đời PM Đặc tả Vào/Ra, thông thường CASE Dòng dữ liệu Hệ thống xử lý phân bổ (Distributed processing system) Thời kỳ thứ ba Thông minh (Intelligence) Phần cứng giá thành hạ 1970 - 1990 Lập trình cấu trúc Lập trình HĐT Thiết kế Thuật toán Hiệu quả tiêu thụ Cấu hình hệ thống Giao thức, giao diện Hệ thống để bàn (Desktop - Personal - Notebook computers) Lập trình hướng đối tượng (Object oriented programming) Phần mềm nhỏ, Hệ điều hành Lập trình trực quan (Visual programming) Phần mềm dùng lại Thời kỳ thứ tư Cà i đặ t Xử lý theo lô Hệ QTCSDL Hệ chuyên gia (Expert system) Phần mềm đóng gói 1990 trở đi trên máy lớn Hệ phân tán Mạng thông tin toàn cầu (Worldwide communication network) Xử lý song song (Paralell processing) 1955 1975 1985 2005 ... 31/66 31/66 32/66 32/66 Phát triển phần mềm Phá Nguyên lý, phương pháp, kỹ thuật và công cụ ph phá và Để xây dựng một HTPM, người ta cần nguyên lý, phương ngườ Phát triển phần mềm trong khuôn khổ một dự án Tin học : Phá pháp, kỹ thuật và công cụ (tương tự nấu một món ăn) phá và mó n) Nhiều người lập trình tham gia, được chia thành nhóm ườ trì ượ thà nhó Nhi Nguyên lý : tuân theo các quy tắc, mục đích cá Nguyên Mỗi nhóm phụ trách giải quyết một phần của dự án nhó trá Ví dụ : các quy tắc vế vệ sinh, an toàn thực phẩm cá toà Người phụ trách dự án phân bổ công việc cho từng nhóm Ngườ trá nhó Kỹ thuật : cách thức hay thủ thuật thực hiện công việc cá Các nhóm phải đảm bảo mối liên lạc và chia sẻ thông tin nhó và Ví dụ : Kỹ thuật nấu nướng, chế biến hay bày món ăn ướ bà mó Kiiểm tra tiến trình phát triển của dự án trì phá K Phương pháp hay công nghệ : tập hợp các kỹ thuật phá cá Ph Kiiểm tra chất lượng của SPPM khi hoàn tất ượ hoà K Ví dụ : Phương pháp nấu món “cá lóc hấp muối” phá mó Ph Bản chất phát triển phần mềm : phá Công cụ : các phương tiện và nguồn tư vấn cá và Công Không chỉ là việc lập trình thuần tuý trì Không Ví dụ : xoong, nồi, bát đĩa hay thực phẩm bá Là triển khai các giai đoạn theo các quan điểm khác nhau cá cá khá Khái niệm tiến trình được hiểu là các giai đoạn triển khai Khá trì ượ là Hiiện nay thường sử dụng quan điểm theo lớp ườ H Tính thực dụng của HTPM : khả năng ứng dụng thực tiễn 33/66 33/66 34/66 34/66 Mục tiêu cuả các dự án CNPM Mô hình hoá phương pháp CNPM hì hoá phá Khả năng thay đổi dễ dàng Chất lượng/Công việc Phục vụ cho Quản lý Tools Tools Chất lượng/ Khái quát hoá và Khá quá hoá Công việc được áp dụng đượ Methodologies Quản lý Được xây dựng Đượ Điểm tối ưu Rủi ro dựa trên Methods and Technic Quản lý Quản lý Tiến độ Chi phí Điểm cân bằng Principles Chi phí Thời gian 35/66 35/66 36/66 36/66 Nhập môn CNPM - Ch1. Mở đầu 6
- Các giai đoạn tiến trình phần mềm trì Giai đoạn xác định xá Trả lời câu hỏi liên quan đến : Gồm 3 giai đoạn chính : chí Tr Dữ liệu (thông tin) cần xử lý Giai đoạn xác định xá Giai Mục đích chức năng và môi trường phát triển và môi ườ phá Giai đoạn phát triển phá Giai Hai loại câu hỏi : Hai Giai đoạn bảo trì trì Giai Là cái gì ? Là gì ? (What?) gì Là Các giai đoạn trong tiến trình phần mềm thường sử dụng trì ườ Khi nào ? (When?) Khi nà các công cụ đặc tả (Specification) : Giai đoạn xác định gồm 3 bước : xá ướ Giai Đặc tả phi hình thức (Informal Specification) hì (Informal Phân tích hệ thống/ Phân tích hiện trạng Phân tí tí Đặc tả hình thức (Formal Specification) Lập kế hoạch dự án phần mềm Reuse? Phân tích yêu cầu thực tiễn Phân tí Design Models Implementations Requirements Design Coding Testing Deployment 37/66 37/66 38/66 38/66 Giai đoạn phát triển phá Giai đoạn bảo trì trì Giai đoạn phát triển trả lời câu hỏi : phá Giai đoạn bảo trì tập trung vào các thay đổi (Modify) trì và cá Giai Giai Làm như thế nào ? (How?) Có 3 kiểu thay đổi : Gồm 3 bước : ướ Sửa đổi : Thiết kế phần mềm : Thi Dù phần mềm có chất lượng tốt, vẫn tồn tại những khiếm có ượ khuyết từ việc sử dụng của khách hàng (NSD) khá hà Sử dụng các công cụ đặc tả cá và lập trình cấu trúc trì trú Bảo trì sửa đổi làm thay đổi phần mềm, khắc phục khiếm khuyết trì là Chọn công cụ hoặc các ngôn ngữ lập trình cá trì Ch Thích nghi : Thí để tiến hành viết chương trình hà trì Nhằm làm phần mềm thích nghi với môi trường phần cứng là thí ườ Nh Kiiểm thử (phát hiện sai sót, nhầm lẫn...) (phá só K Ví dụ CPU, OS, các thiết bị ngoại vi… cá vi… Nâng cao : Nâng Khách hàng tìm ra những chức năng phụ của phần mềm Khá hà tì Bảo trì hoàn thiện để mở rộng phần mềm trì hoà ra ngoài những chức năng vốn có ngoà có 39/66 39/66 40/66 40/66 Chu kỳ sống của phần mềm Chu kỳ sống kiểu cổ điển Chu kỳ sống, hay vòng đời (Life Cycle), của phần mềm là hay là Chu Chu kỳ sống kiểu cổ điển theo mô hình thác nước hì thá ướ Chu cách thức triển khai, vận dụng thực tiễn một tiến trình trì (“Waterfall” Model) gồm các giai đoạn như sau : Waterfall” cá phần mềm để có được SPPM ượ Tìm hiểu và phân tích các yêu cầu và tí cá Có nhiều mô hình khác nhau để thể hiện chu kỳ sống, hì khá (RAD - Requirements analysis and definition) thường có 4 loại : ườ có Thiết kế hệ thống và phần mềm và Thi Mô hình thác nước kiểu cổ điển Mô hì thá ướ (SSD - System and software design) Mô hình chữ V, hay chữ W Mô hì Cài đặt và kiểm thử từng phần và Mô hình xoắn trôn ốc Mô hì (IUT - Inplementtation and Unit testing) Mô hình kiểu bản mẫu Mô hì Tích hợp và kiểm thử hệ thống và (IST - Integrgion and system testing) Khai thác và bảo trì Khai thá và trì (DEM - Development and Maintenance) 41/66 41/66 42/66 42/66 Nhập môn CNPM - Ch1. Mở đầu 7
- Mô hình kiểu thác nước hì thá ướ Đánh giá mô hình thác nước giá hì thá ướ Điểm mạnh của mô hình : hì Tìm hiểu và phân Tìm hiểu và phân Mô Môh ìì h tích các yêu cầu hnn tích các yêu cầu Phản ảnh thực tế công nghệ nói chung hcc Walterfall ổổđ ii n đểể 15% n Vẫn là mô hình cơ sở cho đa số các hệ thống là hì model cho Thiết kế hệ thống Thiết kế hệ thống và phần mềm và phần mềm phát triển phần mềm và phần cứng phá Điểm yếu của mô hình : hì 25% Lập trình Lập trình Không linh hoạt 40% 20% Các giai đoạn của dự án Tích hợp và kiểm Tích hợp và kiểm bị chia ra thành những phần thực hiện riêng biệt thà thử hệ thống thử hệ thống Hệ thống phân phối đôi khi không dùng được dù ượ Khai thác và Khai thác và vì không thỏa mãn được yêu cầu của khách hàng ượ khá hà bảo trì bảo trì Mô hình cải tiến : tại mỗi giai đoạn có thể quay lui Mô hì có Mô hình ccảitiến có quay lui Mô hì hình ải tiến ccó quay lui ó 43/66 43/66 44/66 44/66 Mô hình thác nước cải tiến chữ V hì thá ướ Một mô hình chữ V khác hì khá Tài liệu Kiểm tra Tài liệu Kiểm tra mô tả dự án bàn giao SP mô tả dự án bàn giao SP Phân tích NSD Phân tích NSD yêu cầu chấp thuận yêu cầu chấp thuận Thiết kế Kiểm thử Thiết kế Kiểm thử hệ thống tích hợp hệ thống tích hợp Kiểm thử Thiết kế Kiểm thử Thiết kế đơn thể chương trình đơn thể chương trình Lập trình Lập trình 45/66 45/66 46/66 46/66 Mô hình phát triển PM kiểu xoắn ốc hì phá Đánh giá mô hình xoắn ốc giá hì Trong mô hình xoắn ốc, quy trình phát triển phần mềm hì trì phá Trong được biểu diễn như một vòng xoắn ốc đượ Các pha trong quy trình phát triển xoắn ốc bao gồm : trì phá Spiral Model Xác định mục tiêu cho từng pha của dự án Đánh giá các khả năng rủi ro giá và thực hiện các hành động để giảm thiểu rủi ro cá hà Lựa chọn mô hình để phát triển xây dựng hệ thống hì phá Lập kế hoạch thực hiện pha tiếp theo 47/66 47/66 48/66 48/66 Nhập môn CNPM - Ch1. Mở đầu 8
- Một mô hình vòng đời khác hì khá Mô hình kiểu bản mẫu hì B ắ t đầ u Prototyping Tập hợp Model yêu cầu và Kết thúc làm mịn Sản phẩm Thiết kế bàn giao nhanh khách hàng Làm mịn Xây dựng bản mẫu bản mẫu Đánh giá của khách hàng về bản mẫu 49/66 49/66 50/66 50/66 Ví dụ mô hình phát triển PM nhúng hì phá nhú Các phương pháp CNPM phá Phương pháp CNPM bao gồm : phá Ph Các mô hình hệ thống hì Các ký pháp, quy tắc, hướng dẫn thiết kế phá ướ Quy trình để xây dựng phần mềm một cách dễ dàng, Quy trì cá đảm bảo chất lượng cao và chi phí hiệu quả ượ và phí Technology Quality Một số phương pháp CNPM đã được đề xuất : phá ượ ph Phân tích hướng cấu trúc : Phân tí ướ trú Tập trung xác định các chức năng cơ bản của hệ thống xá cá Phương pháp hướng đối tượng phá ướ ượ Ph Tập trung định nghĩa các đối tượng, các lớp đối tượng và sự cộng cá ượ cá ượ và tác giữa chúng chú Kỹ thuật thế hệ 4 : phương pháp CASE ph phá 51/66 51/66 52/66 52/66 Kỹ thuật thế hệ 4 : CASE Các thành phần của CASE thà CASE thường có các thành phần : CASE ườ có thà Kỹ thuật thế hệ 4 (4th Generation Technology) Ngôn ngữ phi thủ tục (Non Procedural Language) (Non Ngôn Sử dụng các công cụ phần mềm CASE cá để truy cập cơ sở dữ liệu, chẳng hạn SQL (Computer Aded for Sofware Engineering) Bộ sản sinh báo cáo (Report Generator) bá cá phục vụ tiến trình phần mềm trì Bộ thao tác dữ liệu tá CASE tự động sản sinh mã chương trình gốc trì CASE Bộ tương tác và thiết kế màn hình tá và hì theo nhu cầu của người phát triển ườ phá Bộ sinh chương trình (Code Generator) trì sinh Có hai loại CASE : Bảng tính tí Upper-CASE : trợ giúp đặc tả yêu cầu, thiết kế Upper- giú Các công cụ đồ họa… Lower-CASE : trợ giúp lập trình, gỡ lỗi và kiểm thử Lower- giú trì và 53/66 53/66 54/66 54/66 Nhập môn CNPM - Ch1. Mở đầu 9
- Sử dụng mô hình kỹ thuật thế hệ 4 hì Tích hợp các kỹ thuật cá Nhằm tăng cường tính tối ưu trong phát triển phần mềm, người ta có ườ tí phá ườ có Nh xu hướng tích hợp các kỹ thuật cổ điển, xoáy tròn ốc và 4GT đã nêu ướ tí cá xoá và 4GT Tập hợp Tập hợp yêu cầu yêu cầu Tập hợp, hiểu các yêu cầu ban đầu Tập hợp, hiểu các yêu cầu ban đầu Chiến llược Chiến ược Phân tích yêu cầu 4 GT Làm bản mẫu Mô hình xoáy tròn ốc Phân tích yêu cầu 4 GT Làm bản mẫu Mô hình xoáy tròn ốc thiết kế thiết kế Thiết kế Thiết kế Cài đặt sử Cài đặt sử Bản mẫu vòng thứ n Bản mẫu vòng thứ n dụng 4 GL dụng 4 GL 4 GT 4 GT Mã hóa Mã hóa Kiểm thử Kiểm thử 4 GT 4 GT Mô hình vòng thứ n Mô hình vòng thứ n Kiểm thử Kiểm thử Hệ thống hoạt động Hệ thống hoạt động Bảo trì Bảo trì 55/66 55/66 56/66 56/66 Các chi phí trong CNPM phí Bản chất của chi phí CNPM phí Chi phí xây dựng SPPM, sử dụng PM chiếm một phần GDP Chi phí SPPM, Chi phí biến đổi tuỳ thuộc vào : Chi phí và đáng kể ở tất cả các nước phát triển : ướ phá Từng loại hệ thống được xây dựng ượ Chiếm chi phí lớn hơn của cả hệ thống máy tính nói chung phí má tí nó Chi Các yêu cầu về đặc điểm của hệ thống : Trên máy PC thường lớn hơn chi phí phần cứng Trên má ườ phí Hiiệu năng của hệ thống H Chi phí bảo trì lớn hơn chi phí xây dựng PM : Chi phí trì phí Độ tin cậy của hệ thống Đối với chi phí xây dựng PM : phí Viiệc phân bổ chi phí phụ thuộc vào phí và V Xấp xỉ 60% chi phí là chi phí xây dựng phí phí mô hình phát triển hệ thống được sử dụng hì phá ượ 40% là chi phí kiểm thử 40% là phí Đối với những PM làm theo yêu cầu của khách hàng, là khá hà chi phí mở rộng thường vượt quá chi phí xây dựng phí ườ ượ quá phí 57/66 57/66 58/66 58/66 Thách thức đối với CNPM Thá Tính chuyên nghiệp và đúng quy tắc và Quy trình xây dựng PM : Quy trì CNPM trong thế kỷ 21 phải đối mặt với rất nhiều thách thức thá CNPM Người ta phải có giải pháp cụ thể với mỗi thách thức Ngườ có phá thá được thực hiện trong một môi trường chuyên nghiệp đượ ườ Nguyên tắc : Nguyên đòi hỏi tuân thủ các nguyên tắc một cách chính xác cá chí xá Không đồng nhất : Không Kỹ sư (hay chuyên gia, cán bộ) PM : cá (hay Phát triển các kỹ thuật xây dựng PM để giải quyết sự không Phá cá không Phải có trách nhiệm trong công việc, Ph có trá đồng nhất về môi trường thực hiện và nền tảng hạ tầng ườ và không đơn thuần chỉ là ứng dụng kỹ thuật Chuyển giao : Chuy Có thái độ ứng xử trung thực thá Phát triển các kỹ thuật nhằm dẫn tới việc chuyển giao PM Phá cá Có cách làm việc chuyên nghiệp và đúng quy tắc là và tới NSD nhanh hơn Độ tin cậy : Phát triển các kỹ thuật để chứng minh rằng PM được NSD Phá cá ượ tin tưởng ưở 59/66 59/66 60/66 60/66 Nhập môn CNPM - Ch1. Mở đầu 10
- Một số nguyên tắc cần thiết cho kỹ sư PM Đạo đức CNPM Kỹ sư, người phát triển PM : ng ườ phá Đạo đức và hành động chuyên nghiệp của CNPM và Cần có sự tin cẩn và uy tín từ nhân viên và khách hàng có và tí và khá hà (Software Engineering Code Of Ethics and Professional Practice) Practice) Có năng lực chuyên môn nhưng không nên nhận những công Kĩ sư PM tận tụy hết mình để cho việc phân tích, đặc tả, mì tí PM việc vượt quá khả năng của mình ượ quá mì thiết kế, phát triển, kiểm thử, và bảo trì phần mềm phá và trì Quan tâm đến các tài sản trí tuệ được bảo hộ như : bằng cá tà trí ượ Quan Kĩ sư PM trở thành một nghề nghiệp có ích thà có sáng chế, quyền tác giả … tá PM và đáng trân trọng Kỹ sư PM không nên : Lấy kỹ năng của mình để gây bất lợi, mì Kĩ sư PM làm việc (và sống) với sự tận tâm vì sức khỏe, (và vì PM làm ảnh hưởng tới người khác ưở ườ khá sự an toàn và sự thịnh vượng của xã hội toà và ượ Lạm dụng máy tính : làm những việc tầm thường má tí là ườ Mỗi người làm PM cần tuân thủ Tám Nguyên Tắc ACM : ườ là (chơi game, chat, lướt web, sử dụng máy của người khác…) (ch game, chat, ướ má ườ khá Gay tác hại nghiêm trọng Gay tá XÃ HỘI THÂN CHỦ SẢN PHẨM ĐÁNH GIÁ XÃ HỘI THÂN CHỦ SẢN PHẨM ĐÁNH GIÁ (làm hư hỏng HT, phát tán virus, hacker…) (là phá tá hacker… QUẢN LÝ NGHỀ NGHIỆP ĐỒNG NGHIỆP BẢN THÂN QUẢN LÝ NGHỀ NGHIỆP ĐỒNG NGHIỆP BẢN THÂN 61/66 61/66 62/66 62/66 Giải thích các nguyên tắc 1..4 thí nguyên Giải thích các nguyên tắc 5..8 thí QUẢN LÝ QU XÃ HỘI XÃ Các nhà quản lý và các nhà llãnh đạo kĩ nghệ PM cần thực nhà và nhà ãnh Kĩ sư PM hành động vì lợi ích chung của công chúng hà vì chú hiện và phát triển phương thức tiến hành công việc quản lý và phá hà NGƯỜI SỬ DỤNG LAO ĐỘNG (thân chủ) NGƯỜ phát triển PM một cách có đạo đức phá cá có Kĩ sư PM làm việc vì lợi ích của người sử dụng lao động, vì ườ NGHỀ NGHIỆP NGH và nhất quán với các lợi ích của cộng đồng quá cá Người làm PM luôn hướng tới sự thống nhất giữa vị trí nghề Ngườ là ướ trí SẢN PHẨM nghiệp và lợi ích cộng đồng và Kỹ sư PM bảo đảm SPPM làm ra và các thay đổi có liên quan và có ĐỒNG NGHIỆP đáp ứng các tiêu chuẩn nghề nghiệp cao nhất có thể cá có Người làm PM cần đối xử công bằng và hỗ trợ đồng nghiêp Ngườ là và ĐÁNH GIÁ GIÁ BẢN THÂN Kĩ sư PM duy trì tính chính trực và tính độc lập trì chí và Người làm PM không ngừng nâng cao trình độ chuyên môn Ngườ là trì trong các đánh giá chuyên môn cá giá và phát triển cách hành nghề một cách có đạo đức phá cá hà cá có 63/66 63/66 64/66 64/66 Tương lai của công nghệ phần mềm Thực chất tiến trình sản xuất PM ! trì Hội nghị Quốc tế về CNPM (ICSE - International Conference on Software Engineering) dự kiến hai chủ đề quan trọng trong tương lai của CNPM : Lập trình định dạng (Aspect-Oriented Programming) : trì (Aspect- 1. Người đặt hàng 3. SPPM của 2. Thiết kế Mô tả cách ứng xử các đối tượng và hàm trong một tình huống cụ thể ượ và tì Mô Ví dụ : Công ty Công viên người lập trình của chủ trì đề tài Sử dụng công cụ xử lý các yêu cầu không liên quan đến chức năng cá thực tế của phần mềm Phát triển phần mềm linh hoạt : Phá Khả năng thoả mãn các nhu cầu thay đổi và sự cạnh tranh cá và Kh của thị trường PM một cách nhanh chóng ườ cá chó 4. Sau khi sửa sai với 6. Ước mơ Các quá trình cồng kềnh, nặng về hồ sơ như TickIT, CMM và ISO 9000 quá trì TickIT, 5. Triển khai nhiều sáng kiến cải tiến của người sử dụng ! cho khách hàng sẽ lu mờ dần tầm quan trọng 65/66 65/66 66/66 66/66 Nhập môn CNPM - Ch1. Mở đầu 11
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn công nghệ phần mềm: Chương 1 - GV. Trương Minh Thái
29 p | 289 | 26
-
Công nghệ phần mềm - Chương 4: Cài đặt phần mềm
0 p | 218 | 24
-
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
-
Bài giảng Công nghệ phần mềm: Chương 1 - ĐH Công nghệ TP.HCM
77 p | 36 | 13
-
Bài giảng Nhập môn Công nghệ phần mềm: Chương 1 - Đỗ Thị Thanh Tuyền
26 p | 138 | 10
-
Bài giảng Công nghệ phần mềm: Chương 1 - Trường ĐH Công nghiệp TP. HCM
48 p | 42 | 9
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm
35 p | 29 | 9
-
Bài giảng Công nghệ phần mềm: Chương 1 - Nguyễn Văn Danh
9 p | 89 | 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 - Chương 1: Tổng quan về CNPM
13 p | 112 | 5
-
Bài giảng môn Công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm
40 p | 35 | 5
-
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ương 1: Nguyễn Văn Danh
9 p | 78 | 3
-
Bài giảng Nhập môn công nghệ phần mềm: Chương 1 - Nguyễn Thanh Bình
13 p | 37 | 3
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Mở đầu
11 p | 79 | 3
-
Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering): Chương 0 - Nguyễn Nhất Hải
14 p | 42 | 3
-
Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering): Chương 1 - Nguyễn Nhất Hải
9 p | 36 | 3
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Trần Sơn Hải
52 p | 73 | 3
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