Nội dung kết quả từng giai đoạn trong quy trình phát triển phần mềm

Mô tả nội dung, kết quả từng giai đoạn trong QTPM thông dụng và trường hợp sử dụng

Giới thiệu CASE (Computer-aided software engineering) hỗ trợ cho các hoạt động trong QTPM

Tổ chức nhân sự trong dự án phần mềm

 

ppt91 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1977 | Lượt tải: 4download
Tóm tắt nội dung Nội dung kết quả từng giai đoạn trong quy trình phát triển phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
được; Hoạt động thiết kế và cài đặt thường quan hệ mật thiết với nhau và có thể đan xen nhau. Hoạt động của quá trình thiết kế Thiết kế kiến trúc Đặc tả trừu tượng Thiết kế giao diện Thiết kế thành phần Thiết kế cấu trúc dữ liệu Thiết kế giải thuật Phương pháp cấu trúc Cách tiếp cận hệ thống để phát triển một thiết kế phần mềm. Bản thiết kế thường được sưu liệu lại thành một tập các mô hình đồ họa. Một số mô hình có thể có Mô hình đối tượng (Object); Mô hình trình tự (Sequence); Mô hình chuyển trạng thái (Statechart); Mô hình cấu trúc; Mô hình luồng dữ liệu (DFD). Lập trình và gỡ lỗi Chuyển một bản thiết kế thành một chương trình và loại bỏ các lỗi khỏi chương trình đó. Lập trình là một hoạt động cá nhân – không có một qui trình lập trình thông dụng. Lập trình viên tiến hành một vài kiểm tra chương trình để phát hiện các lỗi trong chương trình và loại bỏ các lỗi đó trong quá trình gỡ lỗi. Qui trình gỡ lỗi Kiểm tra phần mềm Sự xác minh và kiểm tra nhằm chỉ ra rằng một hệ thống phù hợp với đặc tả của nó và đáp ứng yêu cầu của khách hàng. Bao gồm qui trình xem xét và kiểm tra, và kiểm thử hệ thống. Kiểm thử hệ thống bao gồm thực thi hệ thống với các “test case” vốn được dẫn xuất từ bản đặc tả của dữ liệu thật được xử lý bởi hệ thống. Qui trình kiểm tra Các bước kiểm thử Component hay unit testing Mỗi thành phần được kiểm thử một cách độc lập; Thành phần có thể là hàm hay đối tượng hay một nhóm dính liền của các thực thể này. System testing (test hệ thống) Kiểm thử toàn bộ hệ thống. Kiểm thử các tính chất nổi bật là đặc biệt quan trọng. Acceptance testing (test chấp nhận) Kiểm thử với dữ liệu khách hàng để kiểm tra hệ thống đáp ứng nhu cầu của khách hàng. Tiến hóa phần mềm Phần mềm bản chất vốn linh động và có thể thay đổi. Khi nhu cầu thay đổi do ngữ cảnh công việc thay đổi, phần mềm để hỗ trợ công việc đó cũng phải tiến hóa và thay đổi. Rational Unified Process (RUP) Rational Unified Process (RUP) Một mô hình qui trình hiện đại được dẫn xuất từ các nghiên cứu trên UML và các qui trình đi kèm. Thường được mô tả từ 3 góc nhìn Một góc nhìn động mô tả các pha theo thời gian; Một góc nhìn tĩnh mô tả các hoạt động của qui trình; Một góc nhìn thực tế đề nghị các thói quen tốt. Mô hình pha của RUP Các pha của RUP Sơ bộ Thành lập các trường hợp công việc (business case) cho hệ thống. Chi tiết Phát triển sự hiểu biết của lĩnh vực vấn đề đang giải quyết và kiến trúc hệ thống. Xây dựng Thiết kế hệ thống, lập trình và kiểm thử. Chuyển giao Triển khai hệ thống trong môi trường vận hành của nó. Thói quen tốt trong RUP Phát triển phần mềm theo cách lặp Quản lý yêu cầu Sử dụng kiến trúc dựa trên component Mô hình hóa phần mềm một cách trực quan Xác minh chất lượng phần mềm Kiểm soát thay đổi ở phần mềm CASE Computer-aided software engineering (CASE) là các công cụ phần mềm được chuẩn hóa để hỗ trợ các qui trình phát triển và tiến hóa phần mềm. Tự động hóa các hoạt động Trình sọan thảo đồ họa cho phát triển mô hình phần mềm; Thư viện dữ liệu để quản lý các thực thể thiết kế; Trình xây dựng GUI cho việc xây dựng giao diện người dùng; Trình gỡ lỗi để hỗ trợ tìm lỗi; Trình dịch tự động để tạo phiên bản mới của một chương trình. Phân loại CASE Phân loại giúp chúng ta hiểu được các kiểu công cụ CASE khác nhau và sự hỗ trợ của chúng cho các hoạt động trong qui trình. Góc nhìn chức năng Các công cụ được phân loại theo chức năng cụ thể của chúng. Góc nhìn qui trình Các công cụ được phân loại theo các hoạt động của qui trình mà nó hỗ trợ. Góc nhìn kết hợp Các công cụ được phân loại theo tổ chức của chúng thành các đơn vị kết hợp.	 Tổ chức nhân sự Project Manager Product Manager Tester Architect Developer Development Teams Tổ chức nhân sự Vai trò của các thành viên Business Analyst Vai trò Tiếp nhận, thu thập tài liệu mô tả yêu cầu của khách hàng Yêu cầu chức năng Yêu cầu phi chức năng Nắm được toàn bộ các qui trình hoạt động của hệ thống Chuyển giao yêu cầu và hỗ trợ cho các thành viên Business Analyst Công việc Làm việc trực tiếp với khách hàng để xác định toàn bộ yêu cầu của hệ thống Hỗ trợ các thành viên trong quá trình xây dựng kịch bản demo, bộ dữ liệu test,… Tiếp nhận yêu cầu cập nhật của khách hàng trong quá trình bảo trì Xây dựng hồ sơ đặc tả yêu cầu Xây dựng các kịch bản khai thác Business Analyst Phần mềm sử dụng Power Designer Business Process Model Requirement Model Use – Case diagram Rational RequisitePro Microsoft Office Word Excel Visio Publisher Power Point Workflow Visual Team System 2005 Business Analyst Role Project Manager Vai trò Lập và theo dõi kế hoạch thực hiện dự án Thời gian Nhân sự Ngân sách Phân công, theo dõi và hỗ trợ các thành viên trong dự án Quản trị rủi ro Project Manager Công việc Lập kế hoạch thực hiện dự án Làm việc trực tiếp với Business Analyst để nắm được yêu cầu, kế hoạch thực hiện triển khai dự án Làm việc với Architect để xác định kế hoạch chi tiết cho giai đoạn cài đặt phần mềm Làm việc với Developer để xây dựng kế hoạch chi tiết cho giai đoạn cài đặt phần mềm Làm việc với nhóm test để xây dựng kế hoạch chi tiết cho giai đoạn kiểm chứng phần mềm. Project Manager Phần mềm sử dụng Project Management Microsoft Office Project 2003 Microsoft Project Professional 2003 Microsoft Project Web Access 2003 Microsoft Sharepoint Portal 2003 Microsoft Windows Sharepoint Service eTimeMachine Solution eTimeMachine Enterprise ETM.NET eTimeMachine Workflow eTimeMachine PathFinder Primavera Project Manager Phần mềm sử dụng Source Code Management Visual Sourcesafe Visual Team System 2005 Project Manager Role Architect Vai trò Thiết kế kiến trúc hệ thống phần mềm Thiết kế prototype Thiết kế giao diện(môhình) Thiết kế dữ liệu(môhình) Thiết kế xử lý (mô hình) Architect Công việc Chọn kiến trúc hệ thống Mô hình 1 lớp, 2 lớp, 3 lớp Windows, Web,.. Thiết kế kiến trúc hệ thống Kiến trúc các phân hệ Chức năng của mỗi phân hệ Thiết kế giao diện Thiết kế xử lý Thiết kế dữ liệu Architect Công việc Ước lượng chi phí: nhân sự, thời gian thực hiện Làm việc với Project Manager xây dựng kế hoạch chi tiết cài đặt phần mềm Hỗ trợ nhóm Test chuẩn bị môi trường test, cài đặt cấu hình hệ thống Hỗ trợ Techincal writer viết các sưu liệu kỹ thuật, hướng dẫn cài đặt triển khai hệ thống Architect Phần mềm sử dụng Power Designer Conceptual Data Model Physical Data Model Object-Oriented Model (UML Model) Rational Rose (IBM Rational) UML Model Microsoft Project Web Access Sharepoint Workflow Visual Team System 2005 Architect Role Developer Vai trò Tham gia vào giai đoạn cài đặt phần mềm Thực hiện kiểm tra đơn vị (Unit Test) Sửa lỗi(Bug) Công việc Sử dụng công cụ và môi trường phát triển phần mềm để viết code Tạo giao diện (Dos/Win/Web) Viết code xử lý Developer Công việc Sử dụng các Third-party Component để phát triển tạo giao diện ứng dụng ComponentOne Infragistics Intersoft Sử dụng các bộ thư viện SDK để viết xử lý Pocket PC SDK DirectX SDK OpenGL SDK Developer Công việc Sử dụng hệ quản trị cơ sở dữ liệu để cài đặt cơ sở dữ liệu Table View Stored procedure … Tạo báo cáo, thống kê theo biểu mẫu (Report) Sửa lỗi (Bug) phát sinh từ tester Developer Phần mềm sử dụng IDE (Integrite Development Environment) Visual studio 6.0 Visual studio.Net 2003/2005/2008 Borland Delphi NetBean Jbuilder PHP …. Developer Phần mềm sử dụng DBMS (Database Management System) Access SQL Server 2000/2005/2008 Oracle 9i/10i/11i My SQL DB2 (IBM) Developer Phần mềm sử dụng Report Tool Crystal Report Data Dynamic Report ComponentOne Report Project Management Tool Developer Role Workflow Developer Role Visual Team System Developer Role Tester Vai trò Kiểm lỗi phần mềm Kiểm lỗi bản đóng gói Kiểm lỗi tài liệu User guide Installation Guide Release Notes Troubleshooting Tester Công việc Chuẩn bị môi trường test Windows XP, 2000, 2003, 2008 Linux IE, FireFox, Netscape, Mozilla Test Database, Test data Viết test case Thực hiện test các test case trong từng môi trường khác nhau Mô tả Bug và chi tiết các bước để tạo ra bug Theo dõi quá trình Fix Bug Báo cáo kết quả test Tester Phần mềm sử dụng Web testing Test Manager Role Tester Role Automation Test Load testing Code Analysis Project Management Tool Tester Role Workflow Tester role Packer Vai trò Làm việc với Developer, Architect, Tester để chuẩn bị bản đóng gói Redistribute Component Runtime Library DB Script,… Đóng gói phầnmềm Làm việc với Tester để tiến hành kiểm lỗi và sửa lỗi bản đóng gói Packer Phần mềm sử dụng InstallShield Wise Install Project Management Tool Packer Role Workflow Packer role … Technical Writer Công việc Viết các tài liệu kỹ thuật Tài liệu khảo sát Tài liệu phân tích Tài liệu thiết kế Tài liệu hướng dẫn lập trình Tài liệu hướng dẫn đóng gói chương trình Tài liệu hướng dẫn người dùng Broche Installation guide User Manual Release Notes Upgrade or Hot fixing guide (Version History) Technical Writer Phần mềm sử dụng Microsoft Office eHelp/RoboHelp HTML Help/Help Workshop PageMaker Acrobat Writer/Distiller Project Management Tool Technical Role Workflow Technical role … Tóm tắt QTPM là các hoạt động liên quan đến sản xuất và tiến hóa một hệ thống phần mềm. Mô hình QTPM là sự biểu diễn trừu tượng của các QTPM. Các hành động thông dụng là: đặc tả, thiết kế và cài đặt, kiểm tra và tiến hóa. Các mô hình qui trình thông dụng mô tả sự tổ chức của các QTPM. Ví dụ: mô hình thác nước, phát triển tiến hóa, dựa trên thành phần.. Mô hình qui trình lặp mô tả QTPM như là một chu kỳ của các hoạt động.. Tóm tắt Thu thập yêu cầu là quá trình phát triển đặc tả phần mềm. Quá trình thiết kế và cài đặt chuyển bản đặc tả thành chương trình thực thi được. Kiểm tra bao gồm kiểm tra rằng hệ thống đáp ứng đặc tả của nó và nhu cầu người dùng. Tiến hóa liên quan đến việc thay đổi hệ thống sau khi nó được sử dụng. RUP là một mô hình qui trình thông dụng mà tách biệt các hoạt động từ các pha. Công nghệ CASE hỗ trợ các hoạt động của qui trình phần mềm. Tham khảo Bài giảng này có tham khảo: Slide bài giảng “Công nghệ Phần mềm”, Trần Ngọc Bảo, ĐH Sư phạm TpHCM. Slide bài giảng Kỹ nghệ phần mềm, ĐH Công nghệ, ĐHQG Hà Nội Câu hỏi và thảo luận ? 

File đính kèm:

  • pptNội dung kết quả từng giai đoạn trong quy trình phát triển phần mềm.ppt