Bài giảng công nghệ phần mềm - Chương 1 pptx

16 506 3
Bài giảng công nghệ phần mềm - Chương 1 pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng môn học Công nghệ phầm mềm Trang Chơng Vi nét trình phát triển v mục tiêu công nghệ phần mềm 1.1 Quá trình hình thành phát triển kỹ thuật lập trình Khoảng trớc năm 1950, tin học thời kỳ sơ khai Ban đầu, ngời ta sử dụng lệnh riêng cho máy hoạt động, tiến đến việc xây dựng hệ thống lệnh tuân theo trình tự định để giải toán hay vấn đề - ngời ta gọi chơng trình Thời kỳ đầu, ngời ta xây dựng chơng trình ngôn ngữ cấp thấp: MinCK 22, MinCK 23, Algol, Fortran, Những chơng trình sửa trực tiếp máy tính đợc mà phải mà hoá thành dạng nhị phân Tin học ngày phát triển, ngời ta tìm cách cải tiến phần cứng lẫn phần mềm Về phần cứng: Kích thớc phần cứng ngày giảm dung lợng nhớ ngày lớn Tốc độ tăng, giá thành hạ Về phần mềm: Ngày đợc cải tiến phong phú Cho đến năm 1960, việc ứng dụng tin học vào thực tế ngày nhiều lên Tuy vậy, để giải tính toán thực tế ngày sâu chơng trình đòi hỏi phải ngày đồ sộ Chính thế, vào thời điểm loạt chơng trình đa vào thực tế đà thất bại Ngời ta tìm hiểu thấy có nguyên nhân chính: Chơng trình khối lớn liền lên khó theo dõi chỉnh sửa Các chơng trình sử dụng nhiều lệnh GOTO Các quy định ngữ pháp lỏng lẻo, gây lên hiểu nhầm cho máy tính, ví dụ: tên biến ngôn ngữ Fortran cho phép có dấu cách; biến khai báo kiểu chúng trớc đợc sử dụng Để khắc phục thiếu chặt chẽ Fortran, ngời ta đa ngôn ngữ Algol Nhng ngôn ngữ lại có quy định rờm rà, rắc rối cấu trúc ngữ pháp nên khó cài đặt hay cài đặt thiếu hiệu Đến thập kỷ 1970, ngời ta nghĩ đến việc làm cách mạng lập trình Mục tiêu xây dựng ngôn ngữ lập trình dễ tiếp cận, dễ cải tiến phát triển; khai thác đợc tối đa khả máy tính không phụ thuộc vào thân máy tính; chơng trình phân chia thành nhiều khối lớn ghép lại quan trọng Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang phải đảm bảo mặt toán học Và ngời ta đà đa Ngôn ngữ lập trình C - ngôn ngữ đáp ứng đợc điều kiện này, sau Ngôn ngữ PASCAL, Hiện nay, công cụ lập trình đà đợc cải tiến Hỗ trợ nhiều cho ngời lập trình Công cụ lập trình Basic hÃng Microsoft đời đánh dấu bớc việc lập trình, phát triển phần mềm đợc vận hành hệ điều hành Windows Có thể kể đến số công cụ nh: Các công cụ Visual Studio phiên 5.0, 6.0, 7.0 NET (Visual Basic, Visual C++, Visual FoxPro) Ngôn ngữ PHP, Delphi, Java, Hệ quản trị sở liƯu nh−: Microsoft Access, Visual FoxPro, MySQL, SQL Server vµ gần Oracle 1.2 Khái niệm công nghệ phần mềm Công nghệ phần mềm lĩnh vực nghiên cứu tin học nhằm đa nguyên lý, phơng pháp, công cụ, phơng tiện giúp cho việc thiết kế cài đặt sản phẩm phần mềm đạt đợc yêu cầu sau cách tốt nhất: Phải có tính đắn khoa học Dễ tiếp cận cải tiến Phổ dụng Độc lập với thiết bị 1.3 Các giai đoạn đời sản phẩm phần mềm * Tìm hiểu nhu cầu khách hàng: Đây giai đoạn thiếu đợc việc xây dựng phần mềm cho hệ thống Sản phẩm phần mềm mà nhóm phát triển tạo suy phải đáp ứng đợc (không phải toàn bộ) nhu cầu khách hàng Nhu cầu khách hàng chia làm cấp độ: Nhu cầu ngời có quyền cao hệ thống (giám đốc, chủ tịch,): Đây ngời đa yêu cầu tổng quát hệ thống Đó kết mà hệ thống cần đạt đợc Tuy nhiên, mức quản lý cấp cao lên nhu cầu đa mang tính khái quát, trừu tợng, không cụ thể Điều đòi hỏi nhà phát triển hệ thống cần phải tìm hiểu sâu ngời khác Nhu cầu ngời quản lý (trởng phòng, ): Đây ngời quản lý mức thấp Họ nắm bắt đợc yêu cầu tổng thể đồng thời họ dễ tiếp cận với công việc cụ thể hơn, quản lý việc thực quy trình nghiệp vụ hệ thống Do vậy, yêu cầu họ đa mang tính cụ thể hơn, phân cấp rõ ràng Nhu cầu ngời dùng cấp thấp (nhân viên): Đây ngời dùng cấp cuối hệ thống (end user) Yêu cầu họ đa cụ thể, chi tiết Thể rõ đợc công việc cần thực Tuy nhiên, yêu cầu mà họ đa không mang tính hệ thống, khó phân loại Do đòi hỏi Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang nhà phát triển hệ thống phải biết thu thập phân loại yêu cầu để từ hiểu đợc toàn nhu cầu tổ chức * Xác định rõ chức hệ thống Chia khối lớn tơng đối độc lập giao cho nhóm ngời thực Mỗi nhóm ngời phải chụ trách nhiƯm tõ viƯc thiÕt kÕ - s¶n xt - thư nghiệm theo nguyên tắc định ngôn ngữ với sở liệu thống Sau ghép nối khối thành khối lớn * Sửa chữa thử nghiệm thấy cần thiết Đây giai đoạn mang tính nội nhóm phát triển phần mềm Hệ thống đợc chia thành nhiều phần nhỏ (module) rời rạc Do xây dựng xong cần phải thử nghiệm cho module Sau tiến hành tích hợp module lại để tạo thành hệ thống hoàn chỉnh Việc kiểm thử tích hợp phải đợc tiến hành Các thay đổi đợc thêm vào; ý kiến đóng góp khách hàng đợc ghi nhận đa vào phần mềm giai đoạn cuối * Bàn giao sản phẩm cho khách hàng, tìm hiểu ý kiến khách hàng để định nhân tốt để sửa đổi Đào tạo ngời sử dụng Trong trình từ tìm hiểu nhu cầu khách hàng hoàn thiện, thời kỳ trớc kia, trung bình ngời ngày làm đợc lệnh Khi nói Lập trình phần mềm nặng nhọc Chính ngời ta phải cố gắng sử dụng chơng trình (modul) chơng trình ngời trớc tạo (thờng để th viện) đồng thời ngời ta tạo modul thêm vào th viện để ngời khai thác dùng Theo quan điểm nay, công cụ lập trình đà hỗ trợ lớn cho lập trình viên Lập trình không công việc nặng nhọc Trái lại, ngời lập trình lại ngời có vai trò cuối trình sản xuất phầm mềm Quan trọng nắm bắt phân tích yêu cầu khách hàng Do ngời phân tích thiết kế hệ thống ngời đóng vai trò định toàn hệ thống 1.4 Nội dung công nghệ phần mềm * Phải tìm hiểu phân tích yêu cầu toán đề tài, thu thập đầy đủ thông tin phân tích thông tin theo khía cạnh chiều rộng lẫn chiều sâu * Đặc tả (hay mô tả) chơng trình: Tại nút chơng trình, ngời ta quan tâm đến đầu vào đầu ra, cấu trúc nội dung thao tác chơng trình ngời ta không quan tâm Các đặc tả sử dụng mô hình toán học để đặc tả cách hình thức, dùng ngôn ngữ thông thờng để đặc tả phi hình thức kết hợp hai dạng để đặc tả hỗn hợp Việc nghiên cứu đặc tả đợc đề cập ®Õn ch−¬ng sau Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang * Thiết kế chơng trình phơng pháp lập trình có cấu trúc phải kiểm thử chơng trình cách cho nhiều liệu khác để kiểm tra chơng trình xem lỗi hay không Đồng thời kiểm tra tính ổn định, độ phức tạp theo thời gian, chi phí miền nhớ khả tối đa chơng trình * Phải chứng minh đợc tính đắn chơng trình mặt toán học phù hợp sở * Phản biện tính đắn chơng trình (những ngời khác xét duyệt) * Tiến hành cài đặt, sử dụng bảo trì, đồng thời phải cung cấp cho ngời dùng phần mềm hỗ trợ cho hệ thống chơng trình đợc sử dụng 1.5 Một số mô hình công nghệ phần mềm 1.5.1 Khái niệm Phần mềm Hai mơi lăm năm trớc (vào năm 1975), phầm trăm công luận mô tả cách thông minh phần mềm máy tính nghĩa Ngày nay, hầu hết nhà chuyên môn nhiều ngời đa số công luận cảm thấy họ hiểu đợc phần mềm Nhng điều có thật không? Mô tả phần mềm sách giáo khoa có dạng sau: Phần mềm tập hợp bao gồm: 1ã Các lệnh (chơng trình máy tính) thực hịên đa hoạt động kết mong muốn 2ã 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 3ã Các tài liệu mô tả thao tác cách dùng chơng trình Mô tả nh vấn đề cần phải đa định nghĩa khác đầy đủ Nhng ta cần định nghĩa mang tính hình thức nhiều Các đặc trng phần mềm: Phần mềm phần tử hệ thống logic cha hệ thèng vËt lý Do vËy, phÇn mỊm cã mét sè đặc trng khác biệt đáng kể đặc trng phần cứng Đặc trng 1: Phần mềm đợc phát triển hay đợc kỹ nghệ hoá, không đợc chế tạo theo nghĩa cổ điển Thiết kế Chế tạo Sản phẩm tốt Phần cứng (HW) Chất lợng Chất lợng Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang Thiết kế Sửa đổi Sản phẩm tốt Chất lợng Chất lợng Phần mềm (SW) Mặc dầu có số điểm tơng đồng phát triển phần mềm chế tạo phần cứng, hai hoạt động khác Trong hai hoạt động này, chất lợng cao đợc đạt tới thông qua thiết kế tốt, nhng giai đoạn chế tạo phần cứng đa vào vấn đề mà chất lợng không tồn (hay dễ đợc sửa đổi) cho phần mềm Cả hai hoạt động phụ thuộc vào ngời, nhng mối quan hệ ngời đợc áp dụng công việc đợc thực hoàn toàn khác Cả hai hoạt động đòi hỏi việc xây dựng "sản phẩm", nhng cách tiếp cận hoàn toàn khác Phần mềm đợc chế tạo hoàn toàn mới, tiền lệ trớc đợc tạo lần Đặc trng 2: Phần mềm không hỏng Phần mềm không cảm ứng với khiếm khuyết môi trờng vốn gây cho phần cứng mòn cũ Phần mềm với liệu đầu vào hợp lý cho kết có ý nghĩa giống nhau, không thay đổi theo thời gian, điều kiƯn khÝ hËu, … Tû lƯ háng ChÕt u Tû lệ hỏng Giữ tỷ lệ lạc hậu Mòn cũ Thời gian Thời gian Đờng cong hỏng hóc phần cứng Đờng cong hỏng hóc phần mềm (lý tởng) Thực tế, phần mềm trải qua thay đổi (bảo trì) Khi thay đổi đợc thực hiện, số khiếm khuyết đợc thêm vào, gây đờng cong tỷ lệ hỏng có dấu hiệu nh hình vẽ dới Trớc đờng cong ®ã cã thĨ trë vỊ tû lƯ háng hãc ỉn định ban đầu, yêu cầu khác lại đợc đa vào, lại gây đờng cong phát sinh đỉnh nhọn lần Dần dần, mức tỷ lệ hỏng tối thiểu tăng lên - phần mềm bị thoái hoá thay đổi Thay đổi Tỷ lệ hỏng Đờng cong thực tế Đờng cong lý tởng Thời gian Hình 1: Đờng cong hỏng hóc thực tế phần mềm Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mỊm Trang NhËn xÐt: PhÇn cøng háng cã “vËt t thay thế, nhng 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à hoá lệnh máy thực đợc Do đó, việc bảo trì phần mềm bao gồm việc phụ thêm đáng kể so với bảo trì phần cứng Đặc trng 3: Phần lớn phần mềm đợc xây dựng theo đơn đặt hàng, đợc 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 trớc hợp lệ; giao diện đà xác định rõ; tập hớng dẫn tích hợp chuẩn hoá Đối với phần mềm: Khi xây dựng ta danh mục thành phần Phần mềm đợc đặ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 Sau ta xem xét số mô hình hay đợc ứng dụng thực tế 1.5.2 Mô hình "thác nớc" (hay mô hình "vòng đời cổ điển") Đôi đợc gọi mô hình tuyến tính hay mô hình thác nớc, mô hình gợi ý cách tiếp cận tuần tự, có hệ thống tới việc phát triển phần mềm vốn mức hệ thống tiến dần qua phân tích, thiết kế, mà hoá, kiểm thử hỗ trợ Dới minh hoạ mô hình thác nớc cho kĩ nghệ phần mềm Đợc mô hình hoá theo chu kì kĩ nghệ qui ớc, mô hình thác nớc bao gồm hoạt động 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ì Hình 2: Mô hình thác nớc Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang Kĩ nghệ mô hình hoá hệ thống / thông tin Bởi phần mềm phần hệ thống (hay nghiệp vụ) lớn nên công việc 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 Quan điểm hệ thống điều chất phần mềm phải tơng tác với thành phần khác nh phần cứng, ngời CSDL 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 Kĩ nghệ thông tin bao gồm việc thu thập yêu cầu mức nghiệp vụ chiến lợc mức lĩnh vực nghiệp vụ Phân tích yêu cầu phần mềm Tiến trình thu thập yêu cầu đợc tăng cờng hội tụ đặc biệt vào phần mềm Để hiểu đợc chất chơng trình phải xây dựng, kĩ s phần mềm ("nhà phân tích") phải hiểu lĩnh vực thông tin (đợc mô tả phần sau) phần mềm nh chức cần có, hành vi, hiệu giao diện Các yêu cầu cho hệ thống phần mềm cần phải đợc lập t liệu xét duyệt với khách hàng Thiết kế Thiết kế phần mềm thực tế tiến trình nhiều bớc tập trung vào bốn 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, biểu diễn giao diện chi tiết thủ tục (thuật toán) Tiến trình thiết kế dịch yêu cầu thành biểu diễn phần mềm đợc định giá chất lợng trớc giai đoạn mà hoá bắt đầu Giống nh yêu cầu, việc thiết kế phải đợc lập t liệu trở thành phần cấu hình phần mềm Sinh m Thiết kế phải đợc dịch thành dạng máy đọc đợc Bớc mà hoá thực nhiệm vụ Nếu thiết kế đợc thực theo cách chi tiết việc sinh mà đợc thực cách máy móc Kiểm thử Một mà đà đợc sinh việc kiểm thử chơng trình bắt đầu Tiến trình kiểm thử hội tụ vào nội logic phần mềm, đảm bảo tất câu lệnh đợc kiểm thử, vào bên chức năng; tức tiến hành kiểm thử để làm lộ lỗi đảm bảo vào đà định tạo kết thống với kết muốn có Vận hành bảo trì Phần mềm chắn phải trải qua thay đổi sau đợc bàn giao cho khách hàng (một ngoại lệ phần mềm nhúng) Thay đổi xuất gặp phải lỗi, phần mềm phải thích ứng với thay đổi môi trờng bên (chẳng hạn nh thay đổi hệ điều hành hay thiết bị ngoại vi mới), hay khách hàng yêu cầu nâng cao chức hay hiệu Việc bảo trì phần mềm phải áp dụng lại bớc vòng đời nói cho chơng trình chơng trình Mô hình tuyến tính mô hình cũ đợc sử dơng réng r·i nhÊt cho kÜ nghƯ phÇn mỊm Tuy nhiên, trích mô hình đà làm cho nh÷ng ng−êi Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang ủng hộ tích cực phải đặt vấn đề tính hiệu Một số vấn đề gặp phải dùng mô hình tuyến tính là: Các dự án thực tuân theo dòng chảy mà mô hình đề nghị Mặc dầu mô hình tuyến tính cho phép lặp, nhng điều làm gián tiếp Kết thay đổi gây lẫn lộn tổ dự án tiến hành Khách hàng thờng khó phát biểu yêu cầu cách tờng minh Mô hình tuyến tính đòi hỏi điều thờng khó thích hợp với bất trắc tự nhiên tồn vào lúc đầu nhiều dự án Khách hàng phải kiên nhẫn Bản làm việc đợc chơng trình có đợc vào lúc cuối thời gian dự án Một sai lầm ngớ ngẩn, đến có chơng trình làm việc phát ra, thảm hoạ Trong phân tích thú vị dự án tại, Brada thấy chất tuyến tính vòng đời cổ điển dẫn tới "các trạng thái nghẽn" mà số thành viên tổ dự án phải đợi cho thành viên khác tổ hoàn thành nhiệm vụ phơ thc Trong thùc tÕ, thêi gian mÊt cho viƯc chờ đợi vợt thời gian dành cho công việc sản xuất Trạng thái nghẽn có khuynh hớng phổ biến vào lúc đầu cuối tiến trình tuyến tính Từng vấn đề thực Tuy nhiên, mô hình vòng đời cổ điển có vị trí quan trọng xác định công việc kĩ nghệ phần mềm Nó đa tiêu bố trí phơng pháp cho phân tích, thiết kế, mà hoá, kiểm thử bảo trì Bên cạnh đó, vòng đời cổ điển mô hình thủ tục đợc dùng réng r·i cho kÜ nghƯ phÇn mỊm Trong nã thực điểm yếu, tốt đáng kể so với cách tiếp cận ngẫu nhiên tới việc phát triển phần mềm 1.5.3 Mô hình "xoáy ốc" (hay mô hình thăm dò) Mô hình xoắn ốc, ban đầu Boehm đề xuất, mô hình tiến trình phần mềm tiến hoá vốn cặp đôi chất lặp làm mẫu với khía cạnh hệ thống có kiểm soát mô hình trình tự tuyến tính Nó cung cấp tiềm cho việc phát triển nhanh phiên tăng dần phần mềm Dùng mô hình xoắn ốc này, phần mềm đợc phát triển thành chuỗi lần đa tăng dần Trong lần lặp đầu, việc đa tăng dần mô hình giấy hay mẫu Trong lần lặp sau, phiên đầy đủ tăng dần hệ thống đợc kĩ nghệ hoá đợc tạo Mô hình xoắn ốc đợc chia thành số khuôn khổ hoạt động, đợc gọi vùng nhiệm vụ Về bản, có từ ba tới sáu vùng Hình sau mô tả cho mô hình xoắn ốc có chứa sáu vùng: Trao đổi với khách hàng - nhiệm vụ đòi hỏi thiết lập việc trao đổi có hiệu ngời phát triển khách hàng Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang Lập kế hoạch - nhiệm vụ đòi hỏi định nghĩa tài nguyên, hạn thời gian thông tin liên quan tới dự án Phân tích rủi ro - nhiệm vụ đòi hỏi định giá rủi ro kĩ thuật quản lí Kĩ nghệ - nhiệm vụ đòi hỏi xây dùng mét hay nhiỊu biĨu diƠn cho øng dơng Xây dựng đa - nhiêm vụ đòi hỏi xây dựng, kiểm thử, thiết đặt cung cấp hỗ trợ cho ngời dùng (nh tài liệu huấn luyện) Đánh giá khánh hàng - nhiệm vụ đòi hỏi thu đợc phản hồi khách hàng dựa đánh giá biểu diễn phần mềm đợc tạo giai đoạn kĩ nghệ đợc cài đặt giai đoạn cài đặt Mỗi vùng đợc đặt vào tập nhiệm vụ, đợc gọi tập nhiệm vụ, vốn đợc thích ứng với đặc trng dự án đợc tiến hành Với án nhỏ, số nhiệm vụ công việc tính hình thức chúng thấp Với dự án lớn, nhiều căng thẳng hơn, vùng nhiệm vụ lại chứa nhiều nhiệm vụ công việc vốn đợc xác định để đạt tới mức độ hình thức cao Trong trờng hợp, hoạt động hỗ trợ (nh quản lí cấu hình phần mềm đảm bảo chất lợng phần mềm) - đợc nêu phần sau - đợc áp dụng Khi tiến trình tiến hoá bắt đầu, tổ kĩ nghệ phần mềm vòng xoắn ốc theo chiều ngợc kim đồng hồ, trung tâm Mạch quanh xoắn ốc làm phát sinh việc phát triển đặc tả sản phẩm; bớc quanh xoắn ốc đợc dùng để phát triển mẫu phiên phức tạp dần thêm Mỗi bớc qua vùng lập kế hoạch lại làm nảy sinh việc điều chỉnh kế hoạch dự án Chi phí lịch biểu đợc điều chỉnh dựa phản hồi đợc suy từ đánh giá khách hàng Bên cạnh đó, ngời quản lí dự án điều chỉnh số việc lặp đà lập kế hoạch cần để hoàn chỉnh phần mềm Lập kế hoạch Phân tích rủi ro Trao đổi với khách hàng Trục điểm vào dự án Kĩ nghệ Đánh giá khách hàng Xây dựng đa Dự án bảo trì sản phẩm Dự án nâng cao sản phẩm Dự ¸n ph¸t triĨn s¶n phÈm míi Dù ¸n ph¸t triĨn kh¸i niƯm Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 10 Không giống nh mô hình tiến trình cổ điển vốn kết thúc phần mềm đợc chuyển giao, mô hình xoắn ốc đợc thích ứng để áp dụng toàn đời phần mềm máy tính Một nhìn khác đợc xem xét việc kiểm tra trục điểm vào dự án, nh đợc vẽ hình Mỗi hình hộp đợc đặt theo trục đợc dùng để biểu diễn cho điểm bắt đầu cho kiểu dù ¸n kh¸c "Dù ¸n ph¸t triĨn kh¸i niƯm" bắt đầu cốt lõi xoắn ốc tiếp tục (nhiều lần lặp xuất theo đờng xoắn ốc mà vốn gắn với vùng tô đậm trung tâm) việc phát triển khái niệm đầy đủ Nếu khái niệm đợc phát triển thành sản phẩm thực tại, tiến trình tiến qua hình hộp tiếp (điểm vào dự án phát triển sản phẩm mới) "dự án phát triển mới" đợc khởi đầu Sản phẩm tiến hoá qua số lần lặp quanh xoắn ốc, theo đờng vốn gắn vùng có tô mầu sáng vùng lõi Về chất, xoắn ốc, đợc đặc trng theo cách này, làm việc phần mềm đợc cho nghỉ Có lúc tiến trình ngủ, nhng thay đổi đợc khởi đầu, tiến trình lại bắt đầu điểm vào thích hợp (tức nâng cao sản phẩm) Mô hình xoắn ốc cách tiếp cận thực tế cho việc phát triển cho hệ thống phần mềm qui mô lớn Bởi phần mềm tiến hoá tiến trình tiến hoá, nên ngời phát triển khách hàng hiểu rõ phản ứng với rủi ro mức tiến hoá Mô hình xoắn ốc dùng cách làm mẫu nh chế làm giảm bớt rủi ro, nhng điều quan trọng hơn, làm cho ngời phát triển có khả áp dụng đợc cách tiếp cận làm mẫu giai đoạn tiến hoá sản phẩm Nó trì cách tiÕp cËn tõng b−íc mét c¸ch cã hƯ thèng cách tiếp cận vòng đời cổ điển gợi ý, nhng tổ hợp cách tiếp cận vào khuôn khổ lặp lại, vốn phản ánh đợc sát thực giới thực Mô hình xoắn ốc đòi hỏi việc xem xét trực tiếp rủi ro kĩ thuật giai đoạn dự án, đợc áp dụng làm giảm rủi ro trớc chúng trở thành vấn đề thực Nhng giống nh mô hình khác, mô hình xoắn ốc liều thuốc bách bệnh Có thể khó thuyết phục khách hàng (đặc biệt tình có hợp đồng) cách tiếp cận tiến hoá kiểm soát đợc Nó đòi hỏi tri thức chuyên gia đánh giá rủi ro xác dựa tri thức chuyên gia mà đạt đợc thành công Nếu rủi ro không đợc phát quản lí không nghi ngờ vấn đề xuất Cuối cùng, thân mô hình cha đợc sử dụng rộng rÃi nh mô hình trình tự tuyến tính làm mẫu Cần phải có thêm số năm trớc tính hiệu mô hình quan trọng đợc xác định với chắn hoàn toàn 1.5.4 Mô hình tạo mẫu Thông thờng khách hàng đà xác định tập mục tiêu tổng quát cho phần mềm, nhng cha định danh yêu cầu vào chi tiết, hay xử lí Trong trờng hợp khác, ngời phát triển không tính hiệu thuật Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 11 toán, việc thích nghi hệ điều hành hay dạng giao diện ngời máy cần có Trong trờng hợp nhiều trờng hợp khác mô hình làm mẫu đa cách tiếp cận tốt Bắt đầu Kết thúc 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 Sản phẩm Thiết kế nhanh Làm mịn mẫu Xây dựng mẫu Đánh giá khách hàng mẫu Mô hình làm mẫu (hình dới) bắt đầ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 định yêu cầu đà biết, miền bắt buộc phải xác định 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 đợc ngời dùng (nh cách đa vào định dạng đa ra) Thiết kế nhanh dẫn tới việc xây dựng mẫu Bản mẫu đợc khách hàng / ngời dùng đánh giá đợc dùng để làm mịn yêu cầu phần mềm cần phát triển Tiến trình lặp lặp lại xảy mẫu đợc "vi chỉnh" thoả mÃn nhu cầu khách hàng đồng thời lại làm cho ngời phát triển hiểu đợc kĩ cần phải thực nhu cầu Một cách lí tởng, mẫu phục vụ nh chế để xác định yêu cầu phần mềm Nếu mẫu làm việc đợc xây dựng ngời phát triển dùng đợc đoạn chơng trình đà có hay áp dụng công cụ (nh sinh báo cáo, quản lí cửa sổ, v.v ) để nhanh chóng sinh chơng trình làm việc Nhng nghĩ mẫu đợc dùng cho mục đích đợc nêu trên? Brook đà nêu câu trả lời: Trong hầu hết dự án, hệ thống sử dụng đợc Nó chậm, lớn, cồng kềnh sử dụng hay tất nhợc điểm Không có cách khác bắt đầu lại, đau đớn nhng tinh khôn hơn, xây dựng phiên đợc thiết kế lại vấn đề đà đợc giải Khi mét kh¸i niƯm hƯ thèng míi hay mét kÜ nghệ đợc dùng, ngời ta phải xây dựng hƯ thèng ®Ĩ råi vøt ®i, cho dï viƯc lËp kế hoạch đợc thực chu đáo bao quát hết để chạy đợc lần đầu Do câu hỏi quản lí liệu có nên xây dựng hƯ thèng thư Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 12 nghiệm vứt hay không Bạn làm nh Câu hỏi liệu nên lập kế hoạch trớc để xây dựng vứt hay để hứa hẹn bàn giao vứt cho khách hàng Bản mẫu phục vụ nh "hệ đầu tiên" - mà Brook lu ý nên vứt Nhng điều cách nhìn lí tởng hoá Giống nh mô hình tuyến tính (thác nớc), việc làm mẫu tựa nh mô hình cho kĩ nghệ phần mềm trở thành có vấn đề lí sau: Khách hàng thấy đợc dờng nh phiên làm việc phần mềm mà mẫu đợc gắn lại "bằng kẹo cao su dây gói hàng", xô đẩy làm việc chẳng xem xét tới chất lợng phần mềm tổng thể hay tính bảo trì thời gian dài Khi đợc thông báo sản phẩm phải đợc xây dựng lại đạt tới mức độ chất lợng cao, khách hàng kêu trời đòi hỏi "phải sửa chữa" để làm mẫu thành sản phẩm làm việc Rất thờng việc quản lí phát triển phần mềm bị buông lỏng Ngời phát triển thờng hay thoả hiệp cài đặt để có đợc mẫu làm việc nhanh chóng Hệ điều hành hay ngôn ngữ lập trình không thích hợp đợc dùng đơn giản có sẵn đà biết; thuật toán không hiệu đợc cài đặt đơn giản để chứng tỏ khả Sau thời gian, ngời phát triển trở nên quen thuộc với chọn lựa quên lí chúng lại không thích hợp Việc chọn lựa không đợc theo lí tởng lại trở thành phần tích hợp hệ thống Mặc dầu vấn đề xuất hiện, việc làm mẫu mô hình hiệu cho kĩ nghệ phần mềm Chìa khoá định nghĩa qui tắc trò chơi từ lúc bắt đầu; tức khách hàng ngời phát triển phải đồng ý mẫu đợc xây dựng để phục vụ làm chế xác định yêu cầu Thế phải bị bỏ (ít phần) phần mềm thực đợc đa vào kĩ nghệ với mắt hớng chất lợng tính bảo trì đợc 1.5.5 Kü nghƯ thÕ hƯ thø (4GT) Tht ng÷ kÜ thuËt thÕ hÖ thø t− (4GT) bao gåm mét phạm vi rộng công cụ phần mềm có điểm chung: công cụ cho phép ngời kĩ s phần mềm xác định đặc trng phần mềm mức cao Rồi công cụ tự động sinh mà chơng trình gốc dựa đặc tả ngời phát triển Ngời ta gần nh không bàn cÃi việc phần mềm đợc xác định máy mức cao chơng trình đợc xây dựng nhanh Mô hình 4GT cho kĩ nghệ phần mềm tập trung vào khả xác định phần mềm việc dùng khuôn mẫu ngôn ngữ đặc biệt hay kí pháp đồ hoạ vốn mô tả cho vấn đề cần đợc giải dới dạng khách hàng hiểu đợc Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 13 Tìm hiểu yêu cầu Phân tích Thiết kế Công cụ tự động hỗ trợ Cài đặt Kiểm thử Sản phẩm Hình 3: Mô hình kỹ nghệ thứ - 4GT Hiện tại, môi trờng phát triển phần mềm hỗ trợ cho mô hình 4GT bao gồm số hay tất công cụ sau: ã Ngôn ngữ phi thủ tục để hỏi đáp sở liệu ã 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 ã Khả đồ hoạ mức cao ã Khả làm trang tính việc sinh tự động HTML ã Các ngôn ngữ tơng tự đợc dùng cho việc tạo trang Web thông qua việc dùng công cụ phần mềm tiên tiến Ban đầu nhiều công cụ đà đợc nhắc tới đà có sẵn cho lĩnh vực ứng dụng đặc thù, nhng ngày môi trờng 4GT đà đợc mở rộng để đề cập tới hầy hết loại ứng dụng phần mềm Giống nh mô hình khác, 4GT bớc thu thập yêu cầu Một cách lý tởng, khách hàng mô tả yêu cầu yêu cầu đợc dịch trực tiếp thành mẫu vận hành đợc Nhng điều không thực đợc Khách hàng không chắn cần gì, có mơ hồ việc xác định kiện đà biết, khả hay không sẵn lòng xác định thông tin theo cách thức mà công cụ 4GT giải đợc Bởi lí này, đối thoại khách hàng/ ngời phát triển đợc mô tả cho mô hình tiến trình khác phần chất c¸ch tiÕp cËn 4GT Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 14 Với ứng dơng nhá, cã thĨ chun trùc tiÕp tõ b−íc thu thập yêu cầu sang cài đặt cách dùng ngôn ng÷ sinh thÕ hƯ thø t− phi thđ tơc (4GL) hay mô hình bao gồm mạng biểu tợng đồ hoạ Tuy nhiên với nỗ lực lớn hơn, cần phải phát triển chiến lợc thiết kế cho hƯ thèng, c¶ nÕu cã dïng 4GL ViƯc dïng 4GT thiÕu thiÕt kÕ (víi c¸c dù ¸n lín) sÏ gây khó khăn (chất lợng kém, khó bảo trì, ngời dùng khó chấp nhận) mà đà gặp phải phát triển phần mềm cách dùng cách tiếp cận qui ớc Việc cài đặt dùng 4GL làm cho ngời phát triển phần mềm biểu diễn đợc kết mong muốn theo cách phát sinh tự động chơng trình tính chúng Hiển nhiên, cấu trúc liệu với thông tin có liên quan cần phải có sẵn sẵn sàng cho 4GL truy nhập vào Để biến đổi cài đặt 4GT thành sản phẩm, ngời phát triển phải tiến hành việc kiểm thử toàn diện, xây dựng tài liệu có ý nghĩa thực hoạt động tích hợp giải pháp khác vốn cần tới mô hình kĩ nghệ phần mềm khác Bên cạnh đó, phần mềm đợc phát triển theo 4GT phải đợc xây dựng theo cách làm cho việc bảo trì đợc tiến hành cách chóng vánh Giống nh mô hình kĩ nghệ phần mềm, mô hình 4GT có u điểm nhợc điểm Những ngời ủng hộ cho làm giảm đáng kể thời gian phát triển phần mềm làm tăng nhiều hiệu suất ngời xây dựng phần mềm Những ngời phản đối cho công cụ 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ả," tính bảo trì cho hệ thống phần mềm lớn đợc phát triển cách dùng 4GT vấn đề mở Có đôi điều lợi ích luận điểm hai phía tóm tắt trạng thái cách tiếp cận 4GT nh sau: Việc dùng 4GT cách tiếp cận tồn đợc cho nhiều lĩnh vực ứng dụng khác Gắn với công cụ kĩ nghệ phần mềm có máy tính hỗ trợ sinh mÃ, 4GT cung cấp giải pháp tin cậy đợc cho nhiều vấn đề phần mềm Dữ liệu đợc thu thập từ công ty có dùng 4GT thời gian cần cho việc tạo phần mềm đợc giảm đáng kể ứng dụng vừa nhỏ khối lợng thiết kế phân tích cho ứng dụng nhỏ đợc rút bớt Tuy nhiên, việc dùng 4GT cho nỗ lực phát triển phần mềm lớn đòi hỏi nhiều phân tích, thiết kế kiểm thử (các hoạt động kĩ nghệ phần mềm) để đạt tới việc tiết kiệm thời gian vốn nảy sinh từ việc xoá bỏ mà hoá Tóm lại, kĩ thuật hệ thứ t đà trở thành phần quan trọng kĩ nghệ phần mềm Khi đôi với cách tiếp cận dựa cấu phần (sẽ đợc trình bày mục Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 15 tiếp theo), mô hình 4GT trở thành cách tiếp cận thống trị cho việc phát triển phần mềm 1.5.6 Tổ hợp khuôn cảnh Tổ hợp khuôn cảnh kỹ nghệ phần mềm đợc thảo luận mục trớc thờng đợc mô tả nh cách tiếp cận khác tới kỹ nghệ phần mềm cách tiếp cận bổ sung cho Tuy nhiên nhiều trờng hợp nên tổ hợp khuôn cảnh để đạt đợc sức mạnh khuôn cảnh cho dự án riêng lẻ Khuôn cảnh xoắn ốc thực điều cách trực tiếp tổ hợp làm mẫu yếu tố vòng đời cổ điển cách tiếp cận tiến hoá tới kỹ nghệ phần mềm Nhng khuôn cảnh làm tảng để tích hợp khuôn cảnh khác Tập hợp yêu cầu ban đầu Phân tích yêu cầu Làm mẫu 4GT Mô hình xoáy ốc Thiết kế Bản mẫu: vòng thứ N Mà hoá 4GT 4GT Mô hình: vòng thứ N Kiểm chứng Hệ thống hoạt động Bảo trì Hình vẽ minh hoạ cách tổ hợp khuôn cảnh kỹ nghệ phần mềm nỗ lực phát triển phần mềm Trong trờng hợp, công việc bắt đầu với việc xác định mục tiêu, phơng án ràng buộc - bớc đợc gọi thu thập yêu cầu sơ Từ điểm này, đờng đợc vẽ hình dới đợc chọn Chẳng hạn theo đờng vòng đời cổ điển (đờng bên trái), xác định đợc toàn hệ thống từ đầu Nếu yêu cầu cha đợc chắn sử dụng mẫu để xác định yêu cầu cách đầy đủ Bằng cách dùng mẫu nh hớng dẫn, ngời phát triển trở lại bớc vòng đời cổ điển (thiết kế, mà hoá kiĨm thư) Theo mét Th.S Ngun ThÕ C−êng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang 16 cách khác, mẫu tiến hoá thành hệ thống sản xuất, với việc quay trở khuôn cảnh vòng đời để kiĨm thư C¸c kü tht thÕ hƯ thø cã thể đợc dùng để cài đặt mẫu hay cài đặt hệ thống sản xuất bớc mà hoá vòng đời 4GT đợc dùng kèm với mô hình xoắn ốc cho bớc làm mẫu hay mà hoá Không cần phải võ đoán việc chọn khuôn cảnh cho kỹ nghệ phần mềm Bản chất ứng dụng nên ấn định cách tiếp cận cần đợc chọn Bằng cách tổ hợp cách tiếp cận tổng thể lớn tổng thành phần Th.S Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải http://www.ebook.edu.vn ... cho ngời dùng phần mềm hỗ trợ cho hệ thống chơng trình đợc sử dụng 1. 5 Một số mô hình công nghệ phần mềm 1. 5 .1 Khái niệm Phần mềm Hai mơi lăm năm trớc (vào năm 19 75), phầm trăm công luận mô tả... Oracle 1. 2 Khái niệm công nghệ phần mềm Công nghệ phần mềm lĩnh vực nghiên cứu tin học nhằm đa nguyên lý, phơng pháp, công cụ, phơng tiện giúp cho việc thiết kế cài đặt sản phẩm phần mềm đạt... http://www.ebook.edu.vn Bài giảng môn học Công nghệ phầm mềm Trang Kĩ nghệ mô hình hoá hệ thống / thông tin Bởi phần mềm phần hệ thống (hay nghiệp vụ) lớn nên công việc việc thiết lập yêu cầu cho phần tử hệ

Ngày đăng: 22/07/2014, 13:22

Từ khóa liên quan

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

Tài liệu liên quan