Bài giảng kỹ nghệ phần mềm PGS nguyễn quốc toản

25 404 0
Bài giảng kỹ nghệ phần mềm   PGS  nguyễn quốc toản

Đ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

Đại học quốc gia Hà Nội - Khoa công nghệ Bộ môn công nghệ phần mềm _ PGS Nguyễn Quốc Toản, PGS.TS Nguyễn Văn Vỵ, PGS.TS.Vũ Đức Thi, TS Lê văn Phùng Bài giảng Kỹ nghệ phần mềm (nhập môn) Hà Nội - 2000 Kỹ nghệ phần mềm Mở đầu Sau 20 năm phát triển, kỹ nghệ phần mềm (SE-Software Engineering) đến thừa nhận môn thống lĩnh vực tranh luận sôi Trong ngành công nghiệp: người lập trình  kỹ sư phần mềm Kỹ nghệ phần mềm (hay gọi công trình học phần mềm ) xem tên gọi công việc Các phương pháp, công cụ, thủ tục SE chấp nhận ứng dụng thành công nhiều lĩnh vực ứng dụng công nghiệp Các nhà quản lý chuyên gia công nghệ thông tin nhận nhu cầu cách tiếp cận có nguyên tắc tới việc phát triển phần mềm Bản chất thực cách tiếp cận SE chưa thống nhất, nhiều ý kiến trái ngược Phương pháp tiếp cận người thực hành: theo sát hoạt động tổng quát thực tới mô hình SE chọn thay trì quan điểm vòng đời chặt chẽ Các chủ đề quan tâm: Vấn đề quản lý dự án phần mềm (tiến trình phát triển dự án phần mềm việc quản lý nó) Phân tích hệ thống yêu cầu phần mềm (các vấn đề phân tích, phương pháp mô hình hoá yêu cầu, kí pháp, ) Thiết kế cài đặt phần mềm (nhấn mạnh tới định mức thiết kế dẫn tới hệ thống chất lượng cao phương pháp thiết kế để chuyển mô hình phân tích thành giải pháp phần mềm) Đảm bảo, kiểm chứng trì tính toàn vẹn phần mềm (nhấn mạnh vào hoạt động ứng dụng để đảm bảo chất lượng suốt tiến trình phần mềm ) Vai trò tự động hoá (nhấn mạnh hỗ trợ máy tính lên tiến trình phát triển phần mềm ) Quan tâm đến thiết kế : chủ đề Quan tâm đến phương pháp: chủ đề Quan tâm đến quản lý: chủ đề Công trình học phần mềm việc sản sinh sản phẩm mà liên quan đến việc sản sinh sản phẩm cách hiệu Với nguồn lực không hạn chế đa số vấn đề phần mềm giải Thử thách kỹ sư phần mềm tạo phần mềm chất lượng cao với hạn chế nguồn lực phải theo lịch định trước _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Chương Phần mềm kỹ nghệ phần mềm Chương II Đặc tả phần mềm 25 Chương III thiết kế phần mềm 52 chương iv Lập trình hiệu 84 _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Chương Phần mềm kỹ nghệ phần mềm I.1.Sự phát triển phần mềm 1.1.1.Quá trình tiến hoá phần mềm 1.1.2.Các thách thức phần mềm máy tính 1.2.Phần mềm 1.2.1.Mô tả phần mềm 1.2.2.Các đặc trưng phần mềm 1.2.3 Các thành phần phần mềm 1.2 Việc ứng dụng phần mềm 1.3 Kỹ nghệ phần mềm 1.3.1 Định nghĩa 1.3.2 Mô hình Vòng đời cổ điển 1.3.3 Mô hình làm mẫu 1.3 4.Mô hình xoắn ốc 1.3.5 Kỹ thuật hệ thứ 1.3.6 Tổ hợp khuôn cảnh 1.4 Các bước tổng quát tiến trình kỹ nghệ phần mềm 1.4.1 Giai đoạn xác định 1.4.2 Giai đoạn phát triển 1.4.3 Giai đoạn bảo trì I.5.Đánh giá tổng quát chất lượng hệ thống _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Chương Phần mềm kỹ nghệ phần mềm 1980, tạp chí Business week, dòng tiêu đề "phần mềm - lực điều khiển hay phần mềm vào thời đại"  đánh dấu chủ đề đáng quan tâm tạp chí  báo hiệu cho cách hiểu tầm quan trọng phần mềm máy tính  đem đến hội thách thức Phần mềm (SW) vượt trội phần cứng (HW): điều mấu chốt cho thành công nhiều hệ thống dựa máy tính Phần mềm -nhân tố đánh giá khác biệt, điều thể chỗ:   Tính đầy đủ thời hạn thông tin phần mềm cung cấp (và CSDL liên quan)  khác biệt công ty với đối thủ cạnh tranh thiết kế " tính thân thiện người" sản phẩm phần mềm làm khác biệt với sản phẩm cạnh tranh có chức tương tự khác Sự thông minh chức phần mềm nhúng đưa thường làm khác biệt sản phẩm tiêu thụ hay công nghiệp tương tự Như vậy, phần mềm tạo khác biệt I.1.Sự phát triển phần mềm Thách thức trước năm 1990: phát triển phần cứng nhằm giảm giá thành xử lý lưu trữ liệu Ví dụ vào năm 1980 tiến vi điện tử: phát sinh lực tính toán mạnh, giá thành thấp đáng kể Thách thức năm 1990: cải thiện chất lượng giảm giá thành giải pháp dựa máy tính - giải pháp cài đặt phần mềm Khả lưu trữ phần cứng biểu thị cho tiềm tính toán Còn phần mềm -một chế giúp chế ngự khai thác tiềm 1.1.1.Quá trình tiến hoá phần mềm 1.Những năm đầu(từ 1950 đến 1960): Phần cứng thay đổi liên tục, phần lớn chuyên dụng cho ứng dụng đặc biệt Phần mềm coi nghệ thuật, chưa có phương pháp hệ thống Phát triển phần mềm chưa quản lý Môi trường phần mềm có tính cá nhân thiết kế -tiến trình không tường minh, thường tài liệu Kết quả: Học việc cài đặt hệ thống dựa máy tính, không học kỹ nghệ hệ thống máy tính - 2.Thời kỳ trải rộng từ năm 1960 đến cuối 1970: Hệ thống đa lập trình đa người sử dụng  khái niệm tương tác người máy Kỹ thuật tương tác mở giới cho ứng dụng mức độ tinh vi cho phần mềm phần cứng _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm - - - - Hệ thống thời gian thực: thu thập, phân tích biến đổi liệu từ nhiều nguồn khác nhaukiểm soát tiến trình sản xuất ra phần nghìn giây thay nhiều phút Tiến lưu trữ trực tuyến hệ hệ quản trị CSDL Số lượng hệ thống dựa máy tính phát triển  thư viện phần mềm mở rộng phát sinh số lượng lớn câu lệnh cần sửa chữa gặp lỗi, cần sửa đổi lại yêu cầu người dùng thay đổi hay phải thích nghi với phần cứng vừa mua bảo trì phần mềm Thời kỳ năm 1970 đến nay: Hệ thống phân bố (bao gồm nhiều máy tính, máy thực chức tương tranh liên lạc với máy khác)  tăng độ phức tạp Mạng toàn cục cục bộ, liên lạc số giải thông cao, tăng nhu cầu thâm nhập liệu  yêu cầu lớn phát triển phần mềm Tiến lớn sử dụng phổ cập vi xử lý (ô tô, robot, lò vi sóng, thiết bị chẩn đoán máu, ) máy tính cá nhân máy trạm để bàn Chi phí phần mềm có khuynh hướng > chi phí mua máy tính Thời kỳ sau 1990 (Thời kỳ thứ tư bắt đầu): Kỹ nghệ hướng vật cách tiếp cận nhanh chóng thay nhiều cách tiếp cận phát triển phần mềm truyền thống lĩnh vực ứng dụng Hệ chuyên gia phần mềm trí tuệ nhân tạo: chuyển từ phòng thí nghiệm  thực tế Phần mềm mạng nơ ron nhân tạo: mở khả nhận dạng thực khả xử lý thông tin kiểu người 1.1.2.Các thách thức phần mềm máy tính Các thách thức phần mềm máy tính gia tăng nguyên nhân sau: Sự tinh vi phần cứng vượt khả để xây dựng phần mềm đạt tới tiềm phần cứng Khả xây dựng chương trình giữ nhịp với nhu cầu có chương trình Khả bảo trì chương trình có khó khăn thiết kế sơ sài, tài nguyên không thích hợp Tất thách thức trên chấp nhận thực hành kỹ nghệ phần mềm 1.2.Phần mềm 1.2.1.Mô tả phần mềm Việc mô tả phần mềm sách giáo khoa có dạng sau: -Các lệnh (chương trình máy tính) thực đưa hoạt động kết mong muốn -Các cấu trúc liệu làm cho chương trình thao tác thông tin thích hợp -Các tài liệu mô tả thao tác cách dùng chương trình _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Nhận xét: chưa đủ cần đưa định nghĩa hình thức 1.2.2.Các đặc trưng phần mềm Phần mềm phần tử hệ thống logic chưa hệ thống vật lý Do phần mềm có đặc trưng khác biệt đáng kể với đậc trưng phần cứng 1.Phần mềm phát triển hay kỹ nghệ hoá, không chế tạo theo nghĩa cổ điển: thiết kế HW:  chế tạo  chất lượng SW: thiết kế  sản phẩm tốt  chất lượng sửa đổi  chất lượng sản phẩm tốt  chất lượng Hai trình phụ thuộc vào người Chi phí phần mềm tập trung vào kỹ nghệ  khái niệm xưởng phần mềm  khuyến cáo sử dụng công cụ tự động 2.Phần mềm không "hỏng đi" Phần mềm không cảm ứng khiếm khuyết môi trường vốn gây cho phần cứng bị mòn cũ Tỷ lệ hỏng chết yểu mòn cũ giữ tỷ lệ lạc hậu t Đường cong hỏng hóc cho HW t Đường cong hỏng hóc cho SW (lý tưởng) Thực tế, phần mềm trải qua thay đổi (bảo trì) Khi thay đổi thực số khiếm khuyết đưa vào, gây cho đường cong tỷ lệ hỏng hóc trở thành có đầu nhọn hình vẽ Trước đường cong trở tỷ lệ hỏng hóc ổn định ban đầu thay đổi khác lại yêu cầu, lại gây đường cong phát sinh đỉnh nhọn lần Dần dần, mức tỷ lệ hỏng hóc tối thiểu bắt đầu nâng lên- phần mềm bị thoái hoá thay đổi thay đổi Đường cong thực tế tỷ lệ hỏng Đường cong lý tưởng thời gian Đường cong lý tưởng _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Đường cong hỏng hóc thực tế phần mềm Nhận xét: Phần cứng hỏng có "vật tư thay thế", phần mềm thay cho phần mềm Mọi hỏng hóc phần mềm lỗi thiết kế hay tiến trình chuyển thiết kế thành mã máy thực Do đó, việc bảo trì phần mềm bao gồm độ phức tạp phụ thêm đáng kể so với bảo trì phần cứng 3.Phần lớn phần mềm xây dựng theo đơn đặt hàng, lắp ráp từ thành phần có sẵn Cách thiết kế xây dựng phần cứng điều khiển cho sản phẩm dựa vi xử lý: vẽ sơ đồ mạch số  thực phân tích để đảm bảo chức  phân loại danh mục thành phần  gắn cho mạch tích hợp (thường gọi "IC" hay "chip") số hiệu chức định hợp lệ, giao diện xác định rõ, tập hướng dẫn tích hợp chuẩn hoá Phần mềm: -Không có danh mục thành phần -Đặt hàng với đơn vị hoàn chỉnh, thành phần lắp ráp lại thành chương trình 1.2.3 Các thành phần phần mềm Phần mềm máy tính (gọi tắt phần mềm ) thông tin tồn dạng sở: thành phần máy không thực thành phần máy thực xét thành phần phần mềm trực tiếp đưa tới lệnh máy thực Mọi thành phần phần mềm bao gồm cấu hình Thành phần phần mềm tạo thông qua loạt hoạt động chuyển hoá (translation) yêu cầu người dùng thành mã máy thực được: mô hình yêu cầu (hay mẫu)  dịch  thiết kế  dịch dạng ngôn ngữ xác định cấu trúc liệu, thuộc tính, thủ tục phần mềm, yêu cầu liên quan  dịch  lệnh mã máy thực Tính tái dụng đặc trưng quan trọng thành phần phần mềm chất lượng cao, tức thành phần cần thiết kế cài đặt cho người ta dùng lại chúng nhiêù chương trình khác (thư viện chương trình mẫu khoa học) Chú ý: ngày mở rộng cách nhìn việc dùng lại để bao hàm không thuật toán mà cấu trúc liệu Ví dụ: giao diện tương tác thường xây dựng cách dùng thành phần dùng lại có khả tạo cửa sổ đồ hoạ, menu kéo xuống nhiều chế tương tác Cấu trúc liệu chi tiết xử lý cần để xây đựng giao diện đặt bên thư viện thành phần dùng lại Các thành phần phần mềm xây dựng cách nào? Dùng ngôn ngữ lập trình với vốn từ vựng hạn chế, văn phạm hoàn toàn xác định rõ với quy tắc thành lập chặt chẽ cú pháp ngữ nghĩa Các thuộc tính điều chủ chốt việc dịch thành mã máy Các dạng ngôn ngữ dùng ngày ngôn ngữ mức máy, ngôn ngữ cấp cao ngôn ngữ phi thủ tục +Ngôn ngữ mức máy: biểu diễn ký hiệu cho tập lệnh đơn vị xử lý trung tâm -Nếu phần mềm viết tốt, bảo trì được, tư liệu tốt  ngôn ngữ máy giúp sử dụng nhớ hiệu quả, tăng tốc độ thực _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm -Nếu phần mềm thiết kế tồi, tài liệu  ngôn ngữ máy trở thành ác mộng +Ngôn ngữ cấp cao: Cho phép người phát triển phần mềm chương trình độc lập với máy song từ vựng, văn phạm, cú pháp, ngữ nghĩa phức tạp nhiều so với ngôn ngữ máy Trong hàng trăm ngôn ngữ lập trình dùng, phổ biến khoảng 10 loại: cobol, fortran, Pascal,C,Ada,C++, Pascal đối tượng, eiffei, ngôn ngữ đặc thù (APL, LIST,OPS5, PROLOG ngôn ngữ mô tả cho mạng nơ ron nhân tạo Mã máy, hợp ngữ, ngôn n gữ lập trình cấp cao thường coi "3 hệ đầu" ngôn ngữ máy tính Với ngôn ngữ này, thân người lập trình phải quan tâm tới việc đặc tả cấu trúc thông tin lẫn điều khiển chương trình Do ngôn ngữ hệ gọi ngôn ngữ thủ tục +Ngôn ngữ phi thủ tục: Có thập kỷ qua, thay phải yêu cầu người phát triển phần mềm cần xác định chi tiết thủ tục ngôn ngữ phi thủ tục đưa đến chương trình cách "xác định kết mong muốn thay xác định hành động cần để đạt kết đó" Phần mềm hỗ trợ dịch đặc tả thành chương trình máy thực 1.2.4.Việc ứng dụng phần mềm Phần mềm áp dụng có tập bước thủ tục (như thuật toán) xác định trước (trừ phần mềm hệ chuyên gia phần mềm mạng nơron) Nội dung thông tin tính tất định nhân tố quan trọng việc xác định chất ứng dụng phần mềm : -Nội dung thông tin nói tới ý nghĩa hình dạng thông tin vào -Tính tất định thông tin nói tới việc tiên đoán trước trật tự thời gian thông tin Phân loại phần mềm ứng dụng (7 loại): Phần mềm hệ thống: -Là tập hợp chương trình viết để phục vụ cho chương trình khác -Xử lý cấu trúc thông tin phức tạp xác định (trình biên dịch, trình soạn thảo, tiện ích quản lý tệp) -Đặc trưng tương tác chủ yếu với phần cứng máy tính -Phục vụ nhiều người dùng -Cấu trúc liệu phức tạp nhiều giao diện Phần mềm thời gian thực Phần mềm điều phối phân tích kiểm soát kiện giới thực chúng xuất gọi phần mềm thời gian thực Phần mềm thời gian thực bao gồm yếu tố: -Một thành phần thu thập liệu để thu định dạng thông tin từ -Một thành phần phân tích để biến đổi thông tin theo yêu cầu ứng dụng -Một thành phần kiểm soát đưa đáp ứng môi trường -Một thành phần điều phối để điều hoà thành phần khác cho trì việc đáp ứng thời gian thực Hệ thống thời gian thực phải đáp ứng ràng buộc thời gian chặt chẽ 3.Phần mềm nghiệp vụ Xử lý thông tin nghiệp vụ lĩnh vực ứng dụng phần mềm lớn Các hệ thống rời rạc: hệ thông tin quản lý _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Các ứng dụng phần mềm nghiệp vụ bao gồm tính toán tương tác (như xử lý giao tác cho điểm bán hàng) ứng dụng xử lý liệu 4.Phần mềm khoa học công nghệ -Được đặc trưng thuật toán -Trong ứng dụng mới, thiết kế có máy tính trợ giúp (CAD), có ý đến đặc trưng thời gian thực phần mềm hệ thống Phần mềm nhúng -Nằm nhớ đọc dùng để điều khiển sản phẩm hệ thống cho người dùng thị trường công nghiệp -Có thể thực chức giới hạn huyền bí (điều khiển bàn phím cho lò vi sóng) hay đưa khả điều khiển vận hành (chức số hoá ô tô, kiểm soát xăng, biểu thị bảng đồng hồ, hệ thống phanh) 6.Phần mềm máy tính cá nhân -Bùng nổ thập kỷ qua (xử lý văn bản, trang tính, đồ hoạ, quản trị CSDL) -Tiếp tục biểu thị thiết kế giao diện người-máy: cải tiến nhiều 7.Phần mềm trí tuệ nhân tạo -Dùng thuật toán phi số để giải vấn đề phức tạp mà tính toán hay phân tích trực tiếp không quản lý -Hoạt động mạnh hệ chuyên gia (hệ sở tri thức) -Lĩnh vực nhận dạng (hình ảnh tiếng nói) -Chứng minh định lý chơi trò chơi -Phát triển mạng nơ ron nhân tạo: mô cấu trúc việc xử lý óc 1.3 Kỹ nghệ phần mềm 1.3.1 Định nghĩa Fritz Bauer nêu định nghĩa ban đầu kỹ nghệ phần mềm : Kỹ nghệ phần mềm việc thiết lập sử dụng nguyên lý công nghệ đắn để thu phần mềm cách kinh tế vừa tin cậy vừa làm việc hiệu máy thực Các định nghĩa sau nhấn mạnh vào yêu cầu kỷ luật công nghệ việc phát triển phần mềm Kỹ nghệ phần mềm - phát triển kỹ nghệ phần cứng hệ thống Nó bao gồm tập bước chứa đựng yếu tố chủ chốt: - Phương pháp -Công cụ -Thủ tục Các yếu tố giúp người quản lý kiểm soát tiến trình phát triển phần mềm cung cấp cho người kỹ sư phần mềm tảng để xây dựng phần mềm chất lượng cao theo cách thức hiệu 1.Các phương pháp (đưa "cách làm" mặt kỹ thuật để xây dựng phần mềm ): Các phương pháp bao hàm nhiều nhiệm vụ: lập kế hoạch, ước lượng dự án, phân tích yêu cầu hệ thống phần mềm , thiết kế cấu trúc liệu, kiến trúc chương trình thủ tục thuật toán, mã hoá kiểm thử bảo trì _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Các phương pháp cho kỹ nghệ phần mềm thường đưa ký pháp đồ hoạ hay hướng ngôn ngữ đặc biệt, đưa tập tiêu chuẩn chất lượng sản phẩm phần mềm 2.Các công cụ (cung cấp hỗ trợ tự động hay bán tự động cho phương pháp): Khi công cụ tích hợp đến mức thông tin chúng tạo dùng cho công cụ khác hệ thống hỗ trợ cho việc phát triển phần mềm thiết lập gọi kỹ nghệ phần mềm có máy tính hỗ trợ (CASE) 3.Các thủ tục (chất keo dán phương pháp công cụ lại với làm cho chúng sử dụng hợp lý hạn trình phát triển phần mềm): Thủ tục: -Xác định trình tự phương pháp áp dụng, -Tạo sản phẩm cần bàn giao (tài liệu báo cáo, mẫu, ) cần cho việc kiểm soát để đảm bảo chất lượng điều hoà thay đổi, -Xác định cột mốc người quản lý phần mềm nắm tiến độ Như vậy, kỹ nghệ phần mềm bao gồm tập bước bao hàm phương pháp, công cụ thủ tục xác định Các bước thường gọi khuôn cảnh (paradigm) kỹ nghệ phần mềm Mỗi bước kỹ nghệ phần mềm lựa chọn dựa chất dự án, dựa vào phương pháp công cụ sử dụng, vào cách kiểm soát, cách bàn giao Sau đây, xét tới cách tiếp cận tiến trình phát triển phần mềm: 1.3.2 Mô hình Vòng đời cổ điển (cách tiếp cận 1) Kỹ nghệ phần mềm minh hoạ theo khuôn cảnh vòng đời cổ điển Mô hình vòng đời cổ điển gọi mô hình thác nước Khuôn cảnh vòng đời yêu cầu tiếp cận cách hệ thống, tới việc phát triển phần mềm, bắt đầu mức hệ thống tiến dần xuống phân tích, thiết kế, mã hoá, kiểm thử bảo trì Như khuôn cảnh vòng đời bao gồm hoạt động mô hình thác nước sau: Kỹ nghệ hệ thống Phân tích & định rõ yêu cầu Thiết kế hệ thống & phần mềm Mã hoá Kiểm thử đơn vị, tích hợp & hệ thống Vận hành _ Bảo trì Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 10 Kỹ nghệ phần mềm 1.Kỹ nghệ phân tích hệ thống Vì phần mềm phần tử hệ thống lớn  việc thiết lập yêu cầu cho phần tử hệ thống  cấp phát tập yêu cầu cho phần mềm Kỹ nghệ phân tích hệ thống bao gồm việc thu thập yêu cầu mức hệ thống với lượng nhỏ thiết kế phân tích mức đỉnh Phân tích yêu cầu phần mềm -Tiến trình thu thập yêu cầu tập trung làm đặc biệt vào phần mềm -Tìm hiểu lĩnh vực thông tin phần mềm, chức cần có, hiệu giao diện -Lập tư liệu yêu cầu cho hệ thống phần mềm  khách hàng duyệt lại Thiết kế -Tiến trình nhiều bước, tập trung vào thuộc tính phân biệt chương trình: +Cấu trúc liệu +Kiến trúc phần mềm +Chi tiết thủ tục +Đặc trưng giao diện -Chuyển hoá yêu cầu thành mô tả phần mềm trước mã hoá -Lập tư liệu thiết kế (một phần cấu hình phần mềm ) 4.Mã hoá -Dịch thiết kế thành dạng mã máy đọc Kiểm thử -Việc kiểm thử bắt đầu sau sinh mã -Tiến trình kiểm thử tập trung vào phần logic bên chương trình đảm bảo tất câu lệnh kiểm thử Về phần chức bên đảm bảo việc kiểm thử phát lỗi đảm bảo vào xác định tạo kết thực tế thống với kết muốn có 6.Bảo trì Phần mềm chắn có thay đổi sau bàn giao cho khách hàng (trừ phần mềm nhúng) Do lỗi thích ứng với thay đổi môi trường bên (hệ điều hành mới, thiết bị ngoại vi mới) yêu cầu nâng cao chức hay hiệu  bảo trì Bảo trì áp dụng lại bước vòng đời cho chương trình ( mới) Nhận xét: -Vòng đời cổ điển khuôn cảnh cũ sử dụng rộng rãi cho kỹ nghệ phần mềm -Các dự án thực tuân theo dòng chảy Việc lập xuất gây vấn đề áp dụng khuôn cảnh -Khách hàng khó phát biểu hết yêu cầu tường minh dự án  dễ có bất trắc -Khách hàng phải kiên nhẫn cuối thời gian dự án có chương trình làm việc Nếu chương trình gặp lỗi  thảm hoạ _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 11 Kỹ nghệ phần mềm -Có vị trí quan trọng xác định công việc kỹ nghệ phần mềm: đưa phương pháp khoa học, đưa bước tổng quát áp dụng cho khuôn cảnh kỹ nghệ phần mềm  mô hình thủ tục sử dụng rộng rãi -Còn điểm yếu tốt đáng kể so với cách tiếp cận ngẫu nhiên 3.3 Mô hình làm mẫu (cách tiếp cận 2) Cách tiếp cận làm mẫu cho kỹ nghệ phần mềm cách tiếp cận tốt khi: -Khách hàng xác định mục tiêu tổng quát cho phần mềm, chưa xác định input output -Người phát triển không hiệu thuật toán, thích nghi hệ điều hành hay giao diện người máy cần có Làm mẫu tiến trình giúp người phát triển có khả tạo mô hình cho phần mềm cần xây dựng Mô hình lấy dạng: 1.Bản mẫu giấy hay PC mô tả giao diện người-máy dạng làm cho người dùng hiểu cách tương tác xuất 2.Bản mẫu làm việc cài đặt tập chức phần mềm mong muốn 3.Một chương trình mà có thực phần hay tất chức mong muốn cần cải tiến thêm tính khác tuỳ theo khả phát triển Dãy kiện khuôn cảnh làm mẫu minh hoạ hình sau: Bắt đầu  Kết thúc Sản phẩm Tập hợp yêu cầu làm mịn xác định mục tiêu tổng thể, khảo sát thêm để định rõ yêu cầu thiết kế nhanh (input, output)  (vi chỉnh Y/C) Xây dựng mãu Làm mịn mãu Đánh giá khách hàng mãu giống cách tiếp cận tới việc phát triển phần mềm, việc làm mẫu với việc thu thập yêu cầu Người phát triển khách hàng gặp xác định mục tiêu tổng thể cho phần mềm, xác _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 12 Kỹ nghệ phần mềm định yêu cầu biết, miền cần khảo sát thêm Rồi đến việc thiết kế nhanh Thiết kế nhanh tập trung vào việc biểu diễn khía cạnh phần mềm thấy người dùng (cách đưa vào định dạng đưa ra) Thiết kế nhanh  xây dựng mẫu  người dùng đánh giá  làm mịn yêu cầu cho phần mềm Tiến trình lặp lặp lại xảy mẫu “vi chỉnh” thoả mãn yêu cầu khách, đồng thời giúp người phát triển hiểu kỹ cần phải thực nhu cầu _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 13 Kỹ nghệ phần mềm 1.3.4.Mô hình xoắn ốc (cách tiếp cận 3) -Bao gồm tính tốt vòng đời cổ điển làm mẫu + phân tích rủi ro -Xác định hoạt động chính: Lập kế hoạch: xác định mục tiêu, giải pháp ràng buộc Phân tích rủi ro: phân tích phương án xác định/ giải rủi ro Kỹ nghệ: phát triển sản phẩm “mức tiếp theo” Đánh giá khách hàng: khẳng định kết kỹ nghệ -Với lần lặp xung quanh xoắn ốc (bắt đầu từ tâm), xác định thêm phiên hoàn thiện dần Nếu phân tích rủi ro không chắn yêu cầu việc làm mẫu sử dụng góc phần tư kỹ nghệ; mô hình mô khác dùng để làm rõ vấn đề làm mịn yêu cầu Khách đưa gợi ý thay đổivòng xoáy Tại vòng xung quanh xoắn ốc, cao điểm việc phân tích rủi ro định ”tiến hành hay không tiến hành” Nếu rủi ro lớn đình dự án Mọi mạch xung quanh xoắn ốc đòi hỏi kỹ nghệ (góc đông-nam) thực cách tiếp cận vòng đời làm mẫu Tất nhiên số hoạt động phát triển phải tăng lên hoạt động chuyển xa khỏi trung tâm vòng xoáy ốc Nhận xét: -Khuôn cảnh mô hình xoắn ốc kỹ nghệ phần mềm cách tiếp cận thực tế đến việc phát triển cho hệ thống phần mềm quy mô lớn Trong người ta dùng cách làm mẫu chế làm giảm bớt rủi ro -Mô hình tương đối chưa sử dụng rộng rãi vòng đời/ làm mẫu tập hợp yêu cầu ban đầu kế hoạch dự án kế hoạch dựa ý kiến khách hàng đánh giá khách hàng kế hoạch phân tích rủi ro phân tích rủi ro dựa yêu cầu ban đầu phân tích rủi ro dựa phản ứng khách hàng Quyết định có tiếp tục hay không ? (cao điểm việc phân tích rủi ro) Đánhgiácủakhách kỹ nghệ Hướng tới hệ thống hoàn chỉnh mẫu ban đầu mẫu Cách tiếp cận thực tế cho việc phát triển hệ thống phần mềm có quy mô lớn 1.3.5 Kỹ thuật hệ thứ (cách tiếp cận 4) _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 14 Kỹ nghệ phần mềm Thuật ngữ “kỹ thuật thứ 4” (4GT) bao gồm phạm vi rộng công cụ phần mềm có điểm chung: -Mỗi công cụ cho phép người phát triển phần mềm xác định số đặc trưng phần mềm mức cao Công cụ tự động sinh mã chương trình gốc theo nhu cầu người phát triển Khuôn cảnh 4GT tập trung vào khả xác định phần mềm mức độ gần với ngôn ngữ tự nhiên hay dùng ký pháp ứng với chức Môi trường phát triển phần mềm hỗ trợ cho khuôn cảnh 4GT bao gồm số tất công cụ sau: -Ngôn ngữ phi thủ tục để truy vấn CSDL -Bộ sinh báo cáo -Bộ thao tác liệu -Bộ tương tác xác định hình -Bộ sinh chương trình/mã (code generation) -Khả đồ hoạ mức cao -Khả làm trang tính Khuôn cảnh 4GT cho kỹ nghệ phần mềm thể sơ đồ: Tập hợp yêu cầu Chiến lược thiết kế Cài đặt sử dụng Kiểm thử Nhận xét: -Việc dùng khuôn cảnh 4GT nhiều tranh cãi: +Người ủng hộ: cho 4GT làm giảm đáng kể thời gian phát triển phần mềm, tăng hiệu suất người phát triển phần mềm +Người phản đối: cho 4GT tất dễ dàng ngôn ngữ lập trình, chương trình gốc công cụ tạo “không hiệu quả” việc bảo trì hệ thống phần mềm lớn phát triển cách dùng 4GT sinh nhiều vấn đề -Đối với CSDL lớn, 4GT giới hạn vào ứng dụng hệ thông tin nghiệp vụ, đặc biệt, việc phân tích thông tin làm báo cáo (nhân tố chủ chốt cho CSDL lớn) -Đối với ứng dụng vừa nhỏ, thời gian thu thập liệu sơ cần để tạo phần mềm giảm đáng kể Khối lượng thiết kế cho ứng dụng nhỏ rút bớt _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 15 Kỹ nghệ phần mềm -Để phát triển phần mềm lớn đòi hỏi tập trung nhiều vào phân tích, thiết kế kiểm thử để đạt tới việc tiết kiệm thời gian chủ yếu -Các kỹ thuật hệ trở thành phần quan trọng việc phát triển phần mềm lĩnh vực ứng dụng hệ thông tin Bản chất thay đổi phát triển phần mềm thể sau: áp dụng kỹ thuật hệ Nhu cầu phần mềm Nhu cầu trung bình 1970 1980 1990 1.3.6 Tổ hợp khuôn cảnh Bất kỳ khuôn cảnh dùng làm tảng để tích hợp khuôn cảnh khác Tập hợp yêu cầu ban đầu (xác định mục tiêu, phương án, ràng buộc) làm b ản mẫu phân tích yêu cầu Mô hình xoáy ốc 4GT thiết kế 4GT Bản mẫu: vòng thứ n Mã hoá Mô hình: vòng thứ n 4GT Kiểm chứng hệ thống hoạt động Sơ đồ tổ hợp khuôn cảnh Bảo trì Trong trường hợp, công việc bắt đầu: xác định mục tiêu, phương án, ràng buộc (thu thập yêu cầu sơ bộ) Từ điểm này, đường rẽ nhánh chọn Ví dụ: đường bên trái (vòng đời cổ điển) Nếu yêu cầu chưa chắn sử dụng mẫu để xác định yêu cầu đầy đủ Bằng cách dùng mẫu hướng dẫn, người phát triển trở lại vòng đời cổ điển (thiết kế, mã hoá, kiểm thử) Theo cách khác, mẫu tiến hoá thành hệ thống sản xuất, quay trở khuôn cảnh vòng đời để kiểm thử _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 16 Kỹ nghệ phần mềm Các kỹ thuật hệ dùng để cài đặt mẫu hay cài đặt hệ thống sản xuất bước mã hoá vòng đơì 4GT dùng kèm với mô hình xoáy ốc cho bước làm mẫu hay mã hoá Chú ý: Không nên cứng nhắc việc chọn khuôn cảnh cho kỹ nghệ phần mềm Dựa vào chất ứng dụng mà ấn định cách tiếp cận cần chọn Bằng cách tổ hợp cách tiếp cận ích lợi tổng thể lớn tổng thành phần 1.4 Các bước tổng quát tiến trình kỹ nghệ phần mềm Tiến trình phát triển kỹ nghệ phần mềm chứa giai đoạn chính: -Xác định (trọng tâm phân tích xác định yêu cầu phần mềm ) -Phát triển (cấu trúc liệu , kiến trúc phần mềm , thủ tục thuật toán, giao diện) -Bảo trì (sửa lỗi, thích nghi, nâng cao) miền ứng dụng, cỡ dự án, độ phức tạp 1.4.1.Giai đoạn xác định +Tập trung vào gì? -Xác định thông tin cần xử lý -Chức hiệu cần có -Giao diện cần thiết lập -Ràng buộc thiết kế có -Tiêu chuẩn hợp lệ cần có -Yêu cầu chủ chốt hệ thống phần mềm +Các phương pháp: Các phương pháp thay đổi tuỳ theo khuôn cảnh kỹ nghệ phần mềm (hay tổ hợp khuôn cảnh) áp dụng, song tối thiểu cần có bước riêng dạng: - Phân tích hệ thống : Đã mô tả vòng đời cổ điển Xác định vai trò phần tử hệ thống dựa máy tính Vạch vai trò mà phần mềm giữ - Lập kế hoạch dự án phần mềm : Xác định nhiệm vụ, công việc Lập lịch - Phân tích yêu cầu : Xác định phạm vi cho phần mềm Xác định chi tiết lĩnh vực thông tin chức phần mềm phải đảm nhận trước sang giai đoạn phát triển  Hệ thống máy tính bao gồm phần: Các máy tính: máy chủ, máy trạm, máy đơn lẻ, trang thiết bị mạng, hỗ trợ mạng truyền thông _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 17 Kỹ nghệ phần mềm phần mềm hệ thống : hệ điều hành mạng, trạm, chương trình dịch, ngôn ngữ lập trình, hệ quản trị liệu Các phần mềm ứng dụng: giải lớp toán cụ thể +Các bước tổng quát cần thực : chức phần mềm lập kế hoạch dự án phần mềm kế hoạch dự án (được cấp quản lý dự án xét duyệt) tính khả thi duyệt xét mẫu phân tích & xác định yêu cầu phần mềm hay mẫu đảm bảo tính hợp lệ duyệt xét Đặc tả yêu cầu tài liệu bàn giao Lập kế hoạch phần mềm (bước khởi đầu): Cần: Xây dựng mô tả vắn tắt phạm vi hoạt động phần mềm Phân tích rủi ro Dự kiến tài nguyên cần cho việc xây dựng phần mềm Thiết lập ước lượng chi phí lịch biểu Mục tiêu: -Đưa dẫn sơ tính khả thi dự án với ràng buộc chi phí lịch biểu mà thiết lập trước -Cần tạo kế hoạch dự án phần mềm cấp quản lý dự án xét duyệt  Phân tích xác định yêu cầu phần mềm : +Xác định chi tiết phần tử hệ thống cấp phát cho phần mềm +Có cách phân tích xác định yêu cầu : -Phân tích lĩnh vực thông tin hình thức: sử dụng mô hình luồng cấu trúc thông tin  mở rộng để trở thành đặc tả phần mềm -Xây dựng mẫu phần mềm + khách đánh giá củng cố yêu cầu / giới hạn tài nguyên  dịch thành đặc trưng thiết kế phần mềm +Phân tích tổng thể phần mềm  xác định tiêu chuẩn hợp lệ  phục vụ kế hoạch kiểm thử  tỏ yêu cầu đáp ứng + Do người xây dựng phần mềm lẫn khách hàng tiến hành   Bản đặc tả yêu cầu phần mềm : -là tài liệu bàn giao, tạo kết bước phân tích yêu cầu xác định phần mềm -thể đỉnh điểm kết họp xét duyệt kỹ thuật khách hàng người phát triển phần mềm _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 18 Kỹ nghệ phần mềm  Kế hoạch dự án phần mềm -Hình thành yêu cầu (chấp nhận được) xác định -Là sở để đánh giá lại tính đắn -Là tài liệu bàn giao giai đoạn xác định cho giai đoạn 1.4.2 Giai đoạn phát triển +Tập trung vào nào? Khi xác định, người phát triển phần mềm cố gắng xác định cách cấu trúc liệu kiến trúc phần mềm cần thiết kế, cách chi tiết thủ tục cài đặt, cách dịch thiết kế thành ngôn ngữ lập trình, cách thực kiểm thử + Phương pháp áp dụng: thay đổi có bước đặc thù xuất dạng: 1.Thiết kế phần mềm: thiết kế việc chuyển hoá yêu cầu phần mềm  tập biểu diễn (dựa đồ hoạ, bảng, hay ngôn ngữ) +mô tả cấu trúc liệu , +kiến trúc phần mềm +mô tả thủ tục thuật toán, +đặc trưng giao diện 2.Mã hoá: biểu diễn thiết kế dịch thành ngôn ngữ nhân tạo  kết lệnh thực máy tính 3.Kiểm thử phần mềm : phát khiếm khuyết vận hành, logic cài đặt +Các bước tổng quát cần thực : Đây giai đoạn xây dựng triển khai việc chuyển hoá yêu cầu thành phần tử hệ thống vận hành mà ta quen gọi phần mềm _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 19 Kỹ nghệ phần mềm thiết kế liệu kiến trúc Đặc tả thiết kế sơ duyệt xét mẫu thiết kế thủ tục lập trình duyệt xét Đặc tả thiết kế chi tiết mã gốc chương trình tài liệu bàn giao      duyệt xét Kiểm thử (đơn vị, tích hợp hợp lệ) gỡ lỗi Kế hoạch, thủ tục, kết kiểm thử tài liệu bàn giao Bước đầu cần hoàn thành thiết kế : -Mô tả thiết kế kiến trúc liệu (tức xây dựng kiến trúc modul xác định giao diện, thiết lập cấu trúc liệu, tiêu chí định giá chất lượng) -Thiết kế sơ bộ: xét duyệt tính đầy đủ khả theo dõi yêu cầu phần mềm -Đặc tả thiết kế thảo sơ bàn giao trở thành phần cấu hình phần mềm Thiết kế thủ tục: -Xét thủ tục cuả thành phần modul thiết kế -Các mô tả thủ tục chi tiết bổ sung vào đặc tả thiết kế Mã hoá: dùng ngôn ngữ lập trình thích hợp/ công cụ CASE -Được đánh giá kết việc thiết kế tốt -Bản in chương trình ngôn n gữ gốc cho modul thành phần phần mềm cấu hình bàn giao Hoạt động kiểm chứng làm hợp lệ: -Kiểm thử hiệu suất chức modul -Kiểm thử tích hợp chức giao diện -Kiểm thử tính hợp lệ (xác nhận yêu cầu đáp ứng chưa) Sau bước tiến hành gỡ lỗi-chẩn đoán-sửa lỗi Kế hoạch thủ tục kiểm thử: xây dựng cho bước kiểm thử 1.4.3 Giai đoạn bảo trì Giai đoạn bảo trì tập trung vào thay đổi Thay đổi gắn với việc sửa lỗi, thích ứng môi trường phần mềm tiến hoá nâng cấp Giai đoạn bảo trì áp dụng lại bước giai đoạn xác định phát triển hoàn cảnh phần mềm có +Có kiểu thay đổi gặp phải giai đoạn bảo trì: 1.Sửa đổi: thay đổi phần mềm để khắc phục khiếm khuyết _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 20 Kỹ nghệ phần mềm 2.Thích nghi: môi trường ban đầu thay đổi (CPU, hệ điều hành, ngoại vi) để phát triển phần mềm  thay đổi Bảo trì thích nghi thực việc sửa đổi phần mềm để thích hợp với thay đổi môi trường 3.Nâng cao: chức phụ phát sinh bảo trì hoàn thiện mở rộng phần mềm yêu cầu chức gốc +Các bước tổng quát cần thực : Sai sãt cã thÓ g©y viÖc trë l¹i c¸c b­íc tr­íc Kiểm thử (đơn vị, tích hợp hợp lệ) Kế hoạch, thủ tục kết việc kiểm chứng tài liệu bàn giao Gỡ lỗi Bảo trì phát hành phân phối (sửa đổi, thích nghi môi trường, duyệt xét Tài liệu người dùng Chương trình vận hành tài liệu bàn giao duyệt xét Tài liệu sửa mã gốc chương trình tài liệu bàn giao tài liệu bàn giao Đây giai đoạn kiểm chứng, bàn giao bảo trì: cần tìm tối đa số lỗi trước bàn giao sản phẩm cho khách hàng, chuẩn bị phần mềm để bàn giao, bảo trì phần mềm thông qua đời có ích   Trước bàn giao: cần tiến hành loạt hoạt động đảm bảo chất lượng, ý tài liệu bàn giao có chứa danh mục, chế kiểm soát, cấu hình thích hợp Sau bàn giao: Bảo trì- sửa lỗi, thích nghi môi trường nâng cao chức Những thay đổi phần mềm bao gồm mã máy mà phải có toàn cấu hình (như chương trình, liệu, tư liệu phát triển giai đoạn xác định xây dựng) Nhận xét: -Trong khuôn cảnh vòng đời cổ điển mô hình xoáy trôn ốc: giai đoạn bước mô tả xác định cách tường minh -Trong khuôn cảnh làm mẫu 4GT: số bước nêu không xác định tường minh Cách tiếp cận tới bước biến động từ khuôn cảnh sang khuôn cảnh kia, toàn cách tiếp cận yêu cầu bao gồm việc xác định, phát triển bảo trì không thay đổi -Có thể tiến hành giai đoạn theo kỉ luật phương pháp xác định rõ làm lộn xộn qua bước cách ngẫu nhiên Từ đây, quan tâm đến cách tiếp cận tới việc phát triển phần mềm nhấn mạnh vào kỷ luật phương pháp xác định rõ - cách tiếp cận quen gọi kỹ nghệ phần mềm _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 21 Kỹ nghệ phần mềm -Người ta chia việc phát triển phần mềm bao gồm pha: +Phân tích xác định yêu cầu +Thiết kế hệ thống thiết kế phần mềm +Thực thử nghiệm đơn vị phần mềm +Tích hợp thử nghiệm hệ thống Khi vòng đời phần mềm biểu diễn theo giai đoạn: 1.Giai đoạn phân tích xác định yêu cầu 2.Giai đoạn thiết kế hệ thống thiết kế phần mềm 3.Giai đoạn thực thử nghiệm đơn vị phần mềm 4.Giai đoạn tích hợp thử nghiệm hệ thống 5.Giai đoạn vận hành bảo trì -Mô hình trình phần mềm: tạo nguyên mẫu (phát triển hệ người dùng thực nghiệm, thiết lập yêu cầu mới, tạo nguyên mẫu sản phẩm đạt yêu cầu) gần giống mô hình thăm dò (phát triển nhanh tốt hệ thống cải biên hệ thống thực yêu cầu) Trong số trường hợp riêng biệt, mô hình trình phần mềm theo kiểu tập hợp thành phần dùng lại để xây dựng phần mềm thoả mãn yêu cầu -Bên cạnh mô hình thác nước phổ dụng (quá trình phần mềm chia thành số giai đoạn, giai đoạn kết thúc trình chuyển sang giai đoạn kế tiếp), người ta có nghiên cứu mô hình khác như: +Mô hình biến đổi hình thức: phát triển đặc tả hình thức hệ phần mềm, biến đổi đặc tả (bảo đảm tính đắn phép biến đổi) có chương trình thoả mãn yêu cầu -Theo Raccoon năm gần người ta quan tâm đến mô hình xoắn ốc nhiều Mô hình Boehm đưa năm 1988 Mô hình dựa việc phân tích yếu tố rủi ro Quá trình phát triển chia thành nhiều thời kỳ, thời kỳ bắt đầu việc phân tích rủi ro tạo nguyên mẫu, cải tạo phát triển hệ thống, duyệt lại, tiếp tục -Theo Ian Sommerville Boehm đưa tỷ lệ chi phí phần việc bảng sau: Kiểu hệ thống phân tích yêu cầu thực (mã thử nghiệm & thiết kế (%) hoá) (%) (%) 1.Các hệ thống lệnh điều khiển 46 20 34 2.Các hệ thống điều hành 33 17 50 3.Các hệ thống khoa học 44 26 30 4.Các hệ thống tác nghiệp 44 28 28 I.5.Đánh giá tổng quát chất lượng hệ thống Việc đánh giá tổng quát chất lượng hệ thống bao gồm việc đánh giá chất lượng tài liệu đặc tả, chất lượng thiết kế chất lượng phần mềm công trình (kỹ nghệ) tốt thông qua thuộc tính chung Bốn thuộc tính chủ chốt mà hệ phần mềm tốt phải có: _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 22 Kỹ nghệ phần mềm  Có thể bảo trì được: phần mềm tuổi thọ dài phải viết lập tư liệu cho việc thay đổi tiến hành mà không tốn  Đáng tin cậy: phần mềm phải thực điều mà người tiêu dùng mong mỏi không thất bại nhiều điều đặc tả  Có hiệu quả: hệ thống phải không lãng phí nguồn lực nhớ, xử lý Không đòi hỏi phải cực đại hoá độ hiệu việc làm cho phần mềm khó thay đổi  Có giao diện người sử dụng thích hợp: giao diện người sử dụng phải phù hợp với khả kiến thức người dùng hệ thống Giá phải tính đến xây dựng phần mềm công trình tốt Bảo trì coi thuộc tính chủ chốt chi phí gắn kết với sản phẩm phần mềm chủ yếu giai đoạn phần mềm đưa vào sử dụng Việc tối ưu hoá thuộc tính khó khăn Quan hệ chi phí cải thiện thuộc tính tuyến tính cải thiện nho nhỏ thuộc tính đắt _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 23 Kỹ nghệ phần mềm Tóm tắt Phần mềm trở thành phần tử chủ chốt tiến hoá hệ thống sản phẩm dựa máy tính Hơn 40 năm qua, thân phần mềm tiến hoá từ công cụ phân tích thông tin giải vấn đề  ngành công nghiệp Kỹ nghệ phần mềm môn tích hợp phương pháp, công cụ, thủ tục để phát triển kỹ nghệ phần mềm máy tính Có thể đề số khuôn cảnh khác cho kỹ nghệ phần mềm, khuôn cảnh có điểm mạnh, điểm yếu, nói chung tất có dãy giai đoạn tổng quát ? củng cố Môn học kỹ nghệ phần mềm (SE) phục vụ cho họ cần ? Phương pháp tiếp cận người thực hành ? Các chủ đề cần quan tâm SE ? Tại nói phần mềm nhân tố để đánh giá khác biệt ? Việc chấp nhận thực hành SE thách thức ? Các thành phần phần mềm xây dựng cách ? Bản chất ứng dụng phần mềm xác định nhân tố ? Phần mềm ứng dụng phân loại theo chủ đề ? Anh (chị) hiểu SE ? 10 So sánh cách tiếp cận tiến trình phát triển phần mềm ? (chú ý đến sơ đồ) 11 ý nghĩa việc tổ hợp khuôn cảnh ? (chú ý đến sơ đồ) 12 Nêu phân tích bước tổng quát tiến trình SE ? (chú ý đến sơ đồ) 13 Giới thiệu tóm tắt kiểu mô hình trình phần mềm ? 14 Nêu thuộc tính chủ chốt mà hệ phần mềm tốt phải có? 14 maart, 2015 _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 24 [...]... phần mềm nhấn mạnh vào kỷ luật và phương pháp đã được xác định rõ - một cách tiếp cận quen gọi là kỹ nghệ phần mềm _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 21 Kỹ nghệ phần mềm -Người ta có thể chia việc phát triển phần mềm bao gồm 4 pha: +Phân tích và xác định yêu cầu +Thiết kế hệ thống và thiết kế phần mềm. .. người xây dựng phần mềm lẫn khách hàng tiến hành   Bản đặc tả yêu cầu phần mềm : -là tài liệu bàn giao, được tạo ra do kết quả của bước phân tích yêu cầu và xác định phần mềm -thể hiện đỉnh điểm kết quả cuộc họp xét duyệt kỹ thuật giữa khách hàng và người phát triển phần mềm _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 18 Kỹ nghệ phần mềm ... mô hình thác nước sau: Kỹ nghệ hệ thống Phân tích & định rõ yêu cầu Thiết kế hệ thống & phần mềm Mã hoá Kiểm thử đơn vị, tích hợp & hệ thống Vận hành và _ Bảo trì Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 10 Kỹ nghệ phần mềm 1 .Kỹ nghệ và phân tích hệ thống Vì phần mềm bao giờ cũng là một phần tử của hệ thống lớn... _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 23 Kỹ nghệ phần mềm Tóm tắt Phần mềm đã trở thành phần tử chủ chốt trong tiến hoá của các hệ thống và sản phẩm dựa trên máy tính Hơn 40 năm qua, bản thân phần mềm đã tiến hoá từ một công cụ phân tích thông tin và giải quyết vấn đề  một ngành công nghiệp Kỹ nghệ phần mềm là một bộ môn... đặc tả, chất lượng thiết kế và chất lượng của phần mềm công trình (kỹ nghệ) tốt thông qua các thuộc tính chung Bốn thuộc tính chủ chốt mà một hệ phần mềm tốt hẳn là phải có: _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 22 Kỹ nghệ phần mềm  Có thể bảo trì được: phần mềm tuổi thọ dài phải được viết và được lập tư... chất lượng và điều hoà thay đổi, -Xác định những cột mốc để cho người quản lý phần mềm nắm được tiến độ Như vậy, kỹ nghệ phần mềm bao gồm một tập các bước bao hàm cả phương pháp, công cụ và thủ tục đã được xác định ở trên Các bước này thường được gọi là các khuôn cảnh (paradigm) kỹ nghệ phần mềm Mỗi bước trong kỹ nghệ phần mềm được lựa chọn dựa trên bản chất của dự án, dựa vào phương pháp và công cụ... triển kỹ nghệ phần mềm máy tính Có thể đề ra một số khuôn cảnh khác nhau cho kỹ nghệ phần mềm, mỗi khuôn cảnh đều có điểm mạnh, điểm yếu, nhưng nói chung tất cả đều có một dãy các giai đoạn tổng quát ? củng cố 1 Môn học kỹ nghệ phần mềm (SE) phục vụ cho ai là chính và tại sao họ cần nó ? 2 Phương pháp tiếp cận của người thực hành là gì ? 3 Các chủ đề cần quan tâm trong SE ? 4 Tại sao nói phần mềm là... khi môi trường phần mềm tiến hoá và sự nâng cấp Giai đoạn bảo trì áp dụng lại các bước của giai đoạn xác định và phát triển nhưng trong hoàn cảnh phần mềm đã có +Có 3 kiểu thay đổi gặp phải trong giai đoạn bảo trì: 1.Sửa đổi: thay đổi phần mềm để khắc phục khiếm khuyết _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 20 Kỹ nghệ phần mềm ... _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 15 Kỹ nghệ phần mềm -Để phát triển phần mềm lớn đòi hỏi tập trung nhiều vào phân tích, thiết kế và kiểm thử để đạt tới việc tiết kiệm thời gian là chủ yếu -Các kỹ thuật thế hệ 4 đã trở thành phần quan trọng của việc phát triển phần mềm trong lĩnh vực ứng dụng hệ thông... hợp các cách tiếp cận thì ích lợi một tổng thể sẽ còn lớn hơn là tổng của từng thành phần 1.4 Các bước tổng quát trong tiến trình kỹ nghệ phần mềm Tiến trình phát triển kỹ nghệ phần mềm chứa 3 giai đoạn chính: -Xác định (trọng tâm là phân tích và xác định yêu cầu phần mềm ) -Phát triển (cấu trúc dữ liệu , kiến trúc phần mềm , thủ tục thuật toán, giao diện) -Bảo trì (sửa lỗi, thích nghi, nâng cao) trong ... hoá phần mềm 1.1.2.Các thách thức phần mềm máy tính 1.2 .Phần mềm 1.2.1.Mô tả phần mềm 1.2.2.Các đặc trưng phần mềm 1.2.3 Các thành phần phần mềm 1.2 Việc ứng dụng phần mềm 1.3 Kỹ nghệ phần mềm. .. _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Chương Phần mềm kỹ nghệ phần mềm I.1.Sự phát triển phần mềm 1.1.1.Quá... _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng Kỹ nghệ phần mềm Chương Phần mềm kỹ nghệ phần mềm 1980, tạp chí Business

Ngày đăng: 22/04/2016, 09:04

Từ khóa liên quan

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

Tài liệu liên quan