Nhập môn kỹ nghệ phần mềm - Chương 1 potx

24 552 2
Nhập môn kỹ nghệ phần mềm - Chương 1 potx

Đ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 http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 1 Mở đầu Sau 20 năm phát triển, kỹ nghệ phần mềm (SE-Software Engineering) đến nay đợc thừa nhận là một bộ môn chính thống nhng còn là một lĩnh vực tranh luận sôi nổ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 còn gọi là công trình học phần mềm ) đợc xem nh là một tên gọi công việc. Các phơng pháp, công cụ, thủ tục của SE đã đợc chấp nhận và ứng dụng thành công trong rất nhiều lĩnh vực ứng dụng công nghiệp. Các nhà quản lý và chuyên gia công nghệ thông tin đều nhận ra nhu cầu về cách tiếp cận có nguyên tắc hơn tới việc phát triển phần mềm . Bản chất thực của cách tiếp cận SE vẫn còn cha đợc thống nhất, còn nhiều ý kiến trái ngợc nhau. Phơng pháp tiếp cận của ngời thực hành: theo sát các hoạt động tổng quát đã đợc thực hiện bất kể tới mô hình SE đã đợc chọn thay vì duy trì một quan điểm vòng đời chặt chẽ. Các chủ đề quan tâm: 1. 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 và việc quản lý nó) 2. Phân tích hệ thống và yêu cầu phần mềm (các vấn đề cơ bản trong phân tích, phơng pháp mô hình hoá yêu cầu, các kí pháp, ) 3. Thiết kế và cài đặt phần mềm (nhấn mạnh tới các định mức thiết kế cơ bản dẫn tới hệ thống chất lợng cao và các phơng pháp thiết kế để chuyển một mô hình phân tích thành giải pháp phần mềm) 4. Đảm bảo, kiểm chứng và duy trì tính toàn vẹn phần mềm (nhấn mạnh vào các hoạt động đợc ứng dụng để đảm bảo chất lợng trong suốt tiến trình phần mềm ) 5. Vai trò của tự động hoá (nhấn mạnh sự hỗ trợ của 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ủ đề 3 Quan tâm đến phơng pháp: cả 5 chủ đề Quan tâm đến quản lý: chủ đề 1 và 4 Công trình học phần mềm không phải là chính việc sản sinh ra sản phẩm mà nó liên quan đến việc sản sinh ra sản phẩm một cách hiệu quả. Với những nguồn lực không hạn chế thì đa số các vấn đề phần mềm là giải quyết đợc. Thử thách đối với kỹ s phần mềm là tạo ra phần mềm chất lợng cao với hạn chế về nguồn lực và phải theo một lịch định trớc. http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 2 Chơng 1 Phần mềm và kỹ nghệ phần mềm 3 Chơng II Đặc tả phần mềm 25 Chơng III thiết kế phần mềm 52 hơng IV Lập trình hiệu quả 84 http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 3 Chơng 1 Phần mềm và kỹ nghệ phần mềm I.1.Sự phát triển của phần mềm .1.1.1.Quá trình tiến hoá của phần mềm 1.1.2.Các thách thức đối với phần mềm máy tính 1.2.Phần mềm 1.2.1.Mô tả về phần mềm 1.2.2.Các đặc trng phần mềm 1.2.3. Các thành phần của phần mềm 1.2 4 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 bản mẫu 1.3 4.Mô hình xoắn ốc 1.3.5. Kỹ thuật thế hệ thứ 4 1.3.6. Tổ hợp các khuôn cảnh 1.4. Các bớc tổng quát trong 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 về chất lợng hệ thống http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 4 Chơng 1 Phần mềm và kỹ nghệ phần mềm 1980, trong tạp chí Business week, dòng tiêu đề "phần mềm - lực điều khiển mới hay phần mềm đã vào một thời đại" đánh dấu chủ đề đáng quan tâm của các tạp chí báo hiệu cho một cách hiểu mới về tầm quan trọng của phần mềm máy tính đem đến những cơ hội và thách thức mới. Phần mềm (SW) bây giờ đã vợt trội hơn phần cứng (HW): điều mấu chốt cho sự thành công của nhiều hệ thống dựa trên máy tính Phần mềm -nhân tố đánh giá sự khác biệt, điều này thể hiện ở chỗ: . Tính đầy đủ và đúng thời hạn của thông tin do phần mềm cung cấp (và các CSDL liên quan) khác biệt một công ty này với các đối thủ cạnh tranh . thiết kế và " tính thân thiện con ngời" của sản phẩm phần mềm cũng làm khác biệt nó với các sản phẩm cạnh tranh có cùng chức năng tơng tự khác. Sự thông minh và chức năng do phần mềm đợc nhúng trong đó đa ra thờng làm khác biệt 2 sản phẩm tiêu thụ hay công nghiệp tơng tự nhau Nh vậy, chính phần mềm tạo ra sự khác biệt đó I.1.Sự phát triển của phần mềm Thách thức trớc những năm 1990: phát triển phần cứng nhằm giảm giá thành xử lý và lu trữ dữ liệu. Ví dụ vào những năm 1980 tiến bộ trong vi điện tử: phát sinh năng lực tính toán mạnh, giá thành thấp đáng kể Thách thức trong những năm 1990: cải thiện chất lợng và giảm giá thành của các giải pháp dựa trên máy tính - giải pháp đợc cài đặt bằng phần mềm Khả năng lu trữ của phần cứng biểu thị cho tiềm năng tính toán. Còn phần mềm -một cơ chế giúp chúng ta chế ngự và khai thác tiềm năng này .1.1.1.Quá trình tiến hoá của 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 đợc chuyên dụng cho ứng dụng đặc biệt. Phần mềm đợc coi là nghệ thuật, cha có phơng pháp hệ thống. Phát triển phần mềm cha đợc 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 không có tài liệu. Kết quả: Học đợc việc cài đặt hệ thống dựa trên máy tính, không học đợc mấy về kỹ nghệ hệ thống máy tính 2.Thời kỳ trải rộng từ những năm 1960 đến cuối 1970: - Hệ thống đa lập trình và đa ngời sử dụng khái niệm mới về tơng tác ngời máy. Kỹ thuật tơng tác mở ra thế giới mới cho các ứng dụng và mức độ mới tinh vi cho cả phần mềm và phần cứng http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 5 - Hệ thống thời gian thực: thu thập, phân tích và biến đổi dữ liệu từ nhiều nguồn khác nhaukiểm soát đợc các tiến trình và sản xuất ra cái ra trong phần nghìn giây thay vì nhiều phút - Tiến bộ lu trữ trực tuyến thế hệ đầu tiên của hệ quản trị CSDL - Số lợng các hệ thống dựa trên 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 khi gặp lỗi, cần sửa đổi lại khi yêu cầu của ngời dùng thay đổi hay phải thích nghi với những phần cứng mới vừa mua bảo trì phần mềm . 3. Thời kỳ giữa những năm 1970 đến nay: - Hệ thống phân bố (bao gồm nhiều máy tính, mỗi máy thực hiện một chức năng tơng tranh và liên lạc với các máy khác) tăng độ phức tạp - Mạng toàn cục và cục bộ, liên lạc số giải thông cao, tăng nhu cầu thâm nhập dữ liệu yêu cầu lớn phát triển phần mềm - Tiến bộ lớn và sử dụng phổ cập các bộ 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 và các máy trạm để bàn - Chi phí phần mềm có khuynh hớng > chi phí mua máy tính 4. Thời kỳ sau 1990 (Thời kỳ thứ t mới chỉ bắt đầu): - Kỹ nghệ hớng sự vật là cách tiếp cận mới đang nhanh chóng thay thế nhiều cách tiếp cận phát triển phần mềm truyền thống trong các lĩnh vực ứng dụng - Hệ chuyên gia và 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ở ra khả năng nhận dạng và thực hiện khả năng xử lý thông tin kiểu con ngời 1.1.2.Các thách thức đối với phần mềm máy tính Các thách thức đối với phần mềm máy tính gia tăng vì những nguyên nhân sau: 1. Sự tinh vi của phần cứng đã vợt quá khả năng của chúng ta để xây dựng phần mềm đạt tới tiềm năng của phần cứng 2. Khả năng xây dựng các chơng trình mới không thể giữ cùng nhịp với nhu cầu có các chơng trình mới 3. Khả năng bảo trì các chơng trình hiện có rất khó khăn vì thiết kế sơ sài, tài nguyên không thích hợp Tất cả các 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ả về phần mềm Việc mô tả phần mềm trong sách giáo khoa có 1 trong những dạng sau: -Các lệnh (chơng trình máy tính) khi đợc thực hiện thì đa ra hoạt động và kết quả mong muốn -Các cấu trúc dữ 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 và cách dùng chơng trình Nhận xét: cha đủ cần đa ra định nghĩa hình thức hơn http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 6 1.2.2.Các đặc trng phần mềm Phần mềm là phần tử hệ thống logic cha không phải là hệ thống vật lý. Do đó phần mềm có đặc trng khác biệt đáng kể với các đậc trng của phần cứng 1.Phần mềm đợc phát triển hay đợc kỹ nghệ hoá, nó không đợc chế tạo theo nghĩa cổ điển: thiết kế chế tạo sản phẩm tốt HW: chất lợng chất lợng thiết kế sửa đổi sản phẩm tốt SW: chất lợng chất lợng Hai quá trình này phụ thuộc vào con 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 đối với những khiếm khuyết môi trờng vốn gây cho phần cứng bị mòn cũ đi t t Đờng cong hỏng hóc cho HW Đờng cong hỏng hóc cho SW (lý tởng) Thực tế, phần mềm sẽ trải qua sự thay đổi (bảo trì). Khi thay đổi đợc thực hiện có thể là một số khiếm khuyết mới sẽ đợc đa vào, gây ra cho đờng cong tỷ lệ hỏng hóc trở thành có đầu nhọn nh trong hình vẽ dới đây. Trớc khi đờng cong đó có thể trở về tỷ lệ hỏng hóc ổn định ban đầu thì một thay đổi khác lại đ ợc yêu cầu, lại gây ra đờng cong phát sinh đỉnh nhọn một lần nữa. 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á do sự thay đổi. thời gian Đờng cong hỏng hóc thực tế của phần mềm Nhận xét: Tỷ lệ hỏng chết yểu mòn cũ g iữ t ỷ l ệ cho đến khi l ạ c h ậ u Đờn g con g l ý tởn g t ỷ lệ hỏn g thay đổi Đ ờ n g co n g t h ực tế Đ ờ n g co n g l ý tở n g http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 7 Phần cứng hỏng có "vật t thay thế", nhng không có phần mềm thay thế cho phần mềm . Mọi hỏng hóc phần mềm đều chỉ ra lỗi trong thiết kế hay trong tiến trình chuyển thiết kế thành mã máy thực hiện đợ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 đều đợc xây dựng theo đơn đặt hàng, chứ ít khi đợc lắp ráp từ các thành phần có sẵn Cách thiết kế và xây dựng phần cứng điều khiển cho một sản phẩm dựa trên bộ vi xử lý: vẽ sơ đồ mạch số thực hiện phân tích để đảm bảo chức năng đúng phân loại các danh mục thành phần gắn cho mỗi mạch tích hợp (thờng gọi là "IC" hay "chip") một số hiệu một chức năng đã định và hợp lệ, một giao diện đã xác định rõ, một tập các hớng dẫn tích hợp chuẩn hoá Phần mềm: -Không có danh mục các thành phần -Đặt hàng với đơn vị hoàn chỉnh, không phải là những thành phần có thể đợc lắp ráp lại thành chơng trình mới. 1.2.3. Các thành phần của phần mềm Phần mềm máy tính (gọi tắt là phần mềm ) là thông tin tồn tại dới 2 dạng cơ sở: thành phần máy không thực hiện đợc và các thành phần máy thực hiện đợc. ở đây chỉ xét những thành phần phần mềm trực tiếp đa tới các lệnh máy thực hiện đợc Mọi thành phần phần mềm đều bao gồm một cấu hình Thành phần phần mềm đợc tạo ra thông qua một loạt những hoạt động chuyển hoá (translation) yêu cầu của ngời dùng thành mã máy thực hiện đợc: một mô hình yêu cầu (hay bản mẫu) dịch thiết kế dịch dạng ngôn ngữ xác định cấu trúc dữ liệu, thuộc tính, thủ tục phần mềm, các yêu cầu liên quan dịch lệnh mã máy thực hiện đợc Tính tái dụng là một đặc trng quan trọng của thành phần phần mềm chất lợng cao, tức là thành phần cần đợc thiết kế và cài đặt sao cho ngời ta có thể dùng lại chúng trong nhiêù chơng trình khác nhau (th viện chơng trình con mẫu về khoa học) Chú ý: ngày nay đã mở rộng cách nhìn về việc dùng lại để bao hàm không chỉ các thuật toán mà còn cả cấu trúc dữ liệu. Ví dụ: các giao diện tơng tác thờng đợc xây dựng bằng cách dùng các thành phần dùng lại có khả năng tạo ra cửa sổ đồ hoạ, menu kéo xuống và rất nhiều cơ chế tơng tác. Cấu trúc dữ liệu và chi tiết xử lý cần để xây đựng giao diện đợc đặt bên trong các th viện các thành phần dùng lại. Các thành phần phần mềm đợc xây dựng bằng cách nào? Dùng ngôn ngữ lập trình với vốn từ vựng hạn chế, một văn phạm hoàn toàn xác định rõ cùng với các quy tắc thành lập chặt chẽ về cú pháp và ngữ nghĩa. Các thuộc tính này là điều chủ chốt trong việc dịch thành mã máy. Các dạng ngôn ngữ hiện dùng ngày nay là các ngôn ngữ mức máy, ngôn ngữ cấp cao và ngôn ngữ phi thủ tục. +Ngôn ngữ mức máy: là một biểu diễn ký hiệu cho tập lệnh của đơ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 bộ nhớ hiệu quả, tăng đợc tốc độ thực hiện -Nếu phần mềm thiết kế tồi, ít tài liệu ngôn ngữ máy trở thành cơn ác mộng +Ngôn ngữ cấp cao: Cho phép ngời phát triển phần mềm và chơng trình đợc độ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 hơn nhiều so với ngôn ngữ máy. http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 8 Trong hàng trăm ngôn ngữ lập trình đợc dùng, phổ biến chỉ khoảng 10 loại: cobol, fortran, Pascal,C,Ada,C ++ , Pascal đối tợng, eiffei, các ngôn ngữ đặc thù (APL, LIST,OPS5, PROLOG và các 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 còn đợc coi nh là "3 thế hệ đầu" của ngôn ngữ máy tính. Với những ngôn ngữ này, bản thân ngời lập trình phải quan tâm cả tới việc đặc tả cấu trúc thông tin lẫn điều khiển chơng trình. Do đó các ngôn ngữ trong 3 thế hệ này còn đợc gọi là các ngôn ngữ thủ tục +Ngôn ngữ phi thủ tục: Có trên một thập kỷ qua, thay vì 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 thì các ngôn ngữ phi thủ tục đa đến một chơng trình bằng cách "xác định kết quả mong muốn thay vì xác định hành động cần để đạt đợc kết quả đó". Phần mềm hỗ trợ sẽ dịch đặc tả thành chơng trình máy thực hiện đợc. 1.2.4.Việc ứng dụng phần mềm Phần mềm có thể đợc áp dụng khi đã có một tập các bớc thủ tục (nh một thuật toán) đã đợc xác định trớc (trừ phần mềm hệ chuyên gia và phần mềm mạng nơron) Nội dung thông tin và tính tất định là các nhân tố quan trọng trong việc xác định bản chất của ứng dụng phần mềm : -Nội dung thông tin nói tới ý nghĩa và hình dạng của thông tin vào và ra -Tính tất định thông tin nói tới việc tiên đoán trớc trật tự và thời gian của thông tin Phân loại phần mềm ứng dụng (7 loại): 1. Phần mềm hệ thống: -Là một tập hợp các chơng trình đợc viết để phục vụ cho các chơng trình khác -Xử lý cấu trúc thông tin phức tạp nhng xác định (trình biên dịch, trình soạn thảo, tiện ích quản lý tệp) -Đặc trng bởi 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 dữ liệu phức tạp và nhiều giao diện ngoài 2. Phần mềm thời gian thực Phần mềm điều phối hoặc phân tích hoặc kiểm soát các sự kiện thế giới thực ngay khi chúng xuất hiện đợc gọi là phần mềm thời gian thực. Phần mềm thời gian thực bao gồm các yếu tố: -Một thành phần thu thập dữ liệu để thu và định dạng thông tin từ ngoài -Một thành phần phân tích để biến đổi thông tin theo yêu cầu của ứng dụng -Một thành phần kiểm soát hoặc đa ra đáp ứng môi trờng ngoài -Một thành phần điều phối để điều hoà các thành phần khác sao cho có thể duy trì việc đáp ứng thời gian thực. Hệ thống thời gian thực phải đáp ứng trong nhữ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à lĩnh vực ứng dụng phần mềm lớn nhất Các hệ thống rời rạc: hệ thông tin quản lý Các ứng dụng phần mềm nghiệp vụ còn bao gồm cả tính toán tơng tác (nh xử lý giao tác cho các điểm bán hàng) ngoài ứng dụng xử lý dữ liệu 4.Phần mềm khoa học và công nghệ -Đợc đặc trng bởi các thuật toán http://www.ebook.edu.vn Kỹ nghệ phần mềm ________________________________________________________________________ _______________________________________________________________________ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 9 -Trong ứng dụng mới, thiết kế có máy tính trợ giúp (CAD), có chú ý đến các đặc trng thời gian thực và cả phần mềm hệ thống. 5. Phần mềm nhúng -Nằm trong bộ nhớ chỉ đọc và đợc dùng để điều khiển các sản phẩm và hệ thống cho ngời dùng và thị trờng công nghiệp -Có thể thực hiện các chức năng rất giới hạn và huyền bí (điều khiển bàn phím cho lò vi sóng) hay đa ra các khả năng điều khiển và vận hành (chức năng 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ổ trong hơ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 cải tiến nhiều nhất. 7.Phần mềm trí tuệ nhân tạo -Dùng các thuật toán phi số để giải quyết các 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ý nổi -Hoạt động mạnh nhất là hệ chuyên gia (hệ cơ sở tri thức) -Lĩnh vực nhận dạng (hình ảnh và tiếng nói) -Chứng minh định lý và chơi trò chơi -Phát triển mạng nơ ron nhân tạo: mô phỏng cấu trúc của việc xử lý trong bộ óc. 1.3. Kỹ nghệ phần mềm 1.3.1. Định nghĩa Fritz Bauer nêu ra định nghĩa ban đầu về kỹ nghệ phần mềm : Kỹ nghệ phần mềm là việc thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để thu đợc phần mềm một cách kinh tế vừa tin cậy vừa làm việc hiệu quả trên các máy thực Các định nghĩa về sau đều nhấn mạnh vào yêu cầu về một kỷ luật công nghệ trong việc phát triển phần mềm Kỹ nghệ phần mềm - sự phát triển của kỹ nghệ phần cứng và hệ thống. Nó bao gồm một tập các bớc chứa đựng 3 yếu tố chủ chốt: - Phơng pháp -Công cụ -Thủ tục Các yếu tố này giúp ngời quản lý kiểm soát đợc tiến trình phát triển phần mềm và cung cấp cho ngời kỹ s phần mềm một nền tảng để xây dựng phần mềm chất lợng cao theo một cách thức hiệu quả 1.Các phơng pháp (đa ra các "cách làm" về mặt kỹ thuật để xây dựng phần mềm ): Các phơng pháp bao hàm trong 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 và phần mềm , thiết kế cấu trúc dữ liệu, kiến trúc chơng trình và thủ tục thuật toán, mã hoá kiểm thử và bảo trì Các phơng pháp cho kỹ nghệ phần mềm thờng đa ra các ký pháp đồ hoạ hay hớng ngôn ngữ đặc biệt, đa ra một tập các tiêu chuẩn về chất lợng sản phẩm phần mềm. 2.Các công cụ (cung cấp sự hỗ trợ tự động hay bán tự động cho từng phơng pháp): Khi các công cụ đợc tích hợp đến mức các thông tin do chúng tạo ra có thể đợc dùng cho các công cụ khác thì hệ thống hỗ trợ cho việc phát triển phần mềm đã đợc thiết lập và còn đợc gọi là kỹ nghệ phần mềm có máy tính hỗ trợ (CASE) [...]... Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 14 Kỹ nghệ phần mềm http://www.ebook.edu.vn -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 tin Bản chất thay đổi của sự phát triển phần mềm đợc thể hiện nh sau: áp dụng các kỹ thuật thế hệ 4 Nhu cầu phần mềm Nhu cầu trung bình 19 70 19 80 19 90 1. 3.6... -Có vị trí quan trọng và xác định trong công việc và kỹ nghệ phần mềm: đa ra các phơng pháp khoa học, đa ra các bớc tổng quát áp dụng đợc cho mọi khuôn cảnh kỹ nghệ phần mềm còn là mô hình thủ tục đợc sử dụng rộng rãi -Còn điểm yếu nhng vẫn tốt hơn đáng kể so với cách tiếp cận ngẫu nhiên _ Nguyễn Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 11 Kỹ nghệ phần. .. 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ì 1 .Kỹ nghệ và phân tích hệ thống _ 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 http://www.ebook.edu.vn Vì phần mềm bao giờ cũng là một phần tử của... khuôn cảnh cho kỹ nghệ phần mềm Dựa vào bản chất của ứng dụng mà ấn định ra cách tiếp cận cần đợc chọn Bằng cách tổ 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... Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 22 Kỹ nghệ phần mềm http://www.ebook.edu.vn 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 tích... 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 Kế hoạch dự án phần mềm -Hình thành khi các yêu cầu (chấp nhận đợc) đã đợc xác định -Là cơ sở để đánh giá lại tính đúng đắn -Là tài liệu... Quốc Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 16 Kỹ nghệ phần mềm http://www.ebook.edu.vn chức năng 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 phân tích & xác định yêu cầu phần mềm hay bản mẫu đảm bảo tính hợp lệ bản mẫu 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... phát 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, nhng 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à... cho việc kiểm soát để đảm bảo 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... đoạn bảo trì: 1. Sửa đổi: thay đổi phần mềm để khắc phục khiếm khuyết 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 hiện việc sửa đổi phần mềm để thích hợp với những thay đổi môi trờng ngoài _ 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 http://www.ebook.edu.vn . 1. 2 .Phần mềm 1. 2 .1. Mô tả về phần mềm 1. 2.2.Các đặc trng phần mềm 1. 2.3. Các thành phần của phần mềm 1. 2 4 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 Vỵ - Vũ Đức Thi - Lê Đình Phùng 3 Chơng 1 Phần mềm và kỹ nghệ phần mềm I .1. Sự phát triển của phần mềm .1. 1 .1. Quá trình tiến hoá của phần mềm 1. 1.2.Các thách thức đối với phần mềm. Toản - Nguyên văn Vỵ - Vũ Đức Thi - Lê Đình Phùng 4 Chơng 1 Phần mềm và kỹ nghệ phần mềm 19 80, trong tạp chí Business week, dòng tiêu đề " ;phần mềm - lực điều khiển mới hay phần mềm

Ngày đăng: 05/08/2014, 17:21

Từ khóa liên quan

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

Tài liệu liên quan