Chuong1_1 Noi dung cong viec va ket qua cua tung giai doan trong

Download Report

Transcript Chuong1_1 Noi dung cong viec va ket qua cua tung giai doan trong

Đại Học Sư Phạm Tp. Hồ Chí Minh
NỘI DUNG KẾT QUẢ TỪNG GIAI ĐOẠN
TRONG QUY TRÌNH PHÁT TRIỂN PHẦN
MỀM
1
Tài liệu
• Pressman, Software Engineering,
chapter 2
• Ivan Sommerville, Software
Engineering, chapter 2
2
Mục tiêu
• 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
3
Quy trình ptpm
• Xây dựng phần mềm cần phải thực
hiện theo trình tự nào?
• Cần bao nhiêu người tham gia? vai
trò của từng thành viên? tổ chức
quản lý các thành viên?
• Giao tiếp giữa các thành viên trong
hệ thống?
4
Quy trình ptpm
5
Quy trình ptpm
Bộ phận phát
triển phần mềm
Development
Bộ phận tiếp
nhận yêu cầu của
khách hàng
Business Analyst
6
Quy trình ptpm
7
Qui trình ptpm
• Một tập các hoạt động để phát triển một hệ thống
phần mềm
– Đặc tả;
– Phân tích;
– Thiết kế;
– Cài đặt;
– Kiểm tra.
• Một mô hình Quy trình CNPM là một cách trình bày
trừu tượng của một qui trình. Nó biểu diễn một mô
tả của một qui trình từ một góc nhìn cụ thể nào đó.
8
Giai đoạn khảo sát
Khảo sát
Nội dung: • Xác định quy trình xử lý
nghiệp vụ
Phân tích
• Thu thập biểu mẫu thống
kê
Thiết kế
Kết quả:
Tài liệu đặc tả kiến trúc hệ
thống:
• Yêu cầu chức năng
• Yêu cầu phi chức năng
• Kiến trúc hệ thống
Cài đặt
Kiểm tra
Triển khai
Bảo trì
9
Giai đoạn khảo sát (tt)
Xét Hệ thống quản lý giáo vụ tại trường đại học
• Qui trình xử lý nghiệp vụ
–
–
–
–
Xử lý nhập học
Xử lý nhập điểm
Xử lý sinh viên tốt nghiệp
Quản lý giảng viên
• Báo biểu thống kê
–
–
–
–
–
–
Hồ sơ sinh viên
Hồ sơ giảng viên
Bảng điểm sinh viên
Bảng điểm theo lớp
Danh sách lớp
….
10
Giai đoạn khảo sát (tt)
Kết quả
• Yêu cầu chức năng:
–
–
–
–
Lưu trữ những thông tin gì ?
Tra cứu theo tiêu chuẩn nào ?
Xử lý tính toán theo công thức nào ?
Kết xuất, thống kê ?
• Yêu cầu phi chức năng:
– Cài đặt trên môi trường nào ? Windows ? Web ?
– Sử dụng hệ quản trị cơ sở dữ liệu nào ?
• Access/SQL Server/Oracle/DB2…
– Sử dụng công nghệ gì ?
• Java/.NET/Delphi/PHP/…
11
Giai đoạn khảo sát (tt)
Xét hệ thống quản lý
giáo vụ trường đại
học:
• Kiến trúc hệ thống:
– Windows Application
– Database Server
Windows App
Windows App
Database
Server
12
Giai đoạn khảo sát (tt)
Xét hệ thống quản lý giáo vụ trường đại học:
• Kiến trúc hệ thống:
– Web Server
– Database Server
– Client
Client 2
Client 1
Client 3
Web Server
Database
Server
13
Giai đoạn phân tích
Khảo sát
• Phân tích khả thi
Nội dung:
Phân tích
• Xây dựng mô hình dữ liệu
mức quan niệm
• Xây dựng mô hình xử lý
Kết quả:
Thiết kế
Cài đặt
Hồ sơ phân tích:
• Mô hình ERD (CDM)
• Mô hình DFD
Kiểm tra
Triển khai
• Phương án triển khai hệ thống
Bảo trì
14
Giai đoạn phân tích (tt)
Xét hệ thống quản lý giáo vụ tại trường đại học:
• Mô hình thực thể kết hợp (ERD)
Quan Huyen
Tinh Thanh
MaQuan <pi> <M>
TenQuan
<M>
MaTinh <pi> <M>
TenTinh
<M>
SinhVien
Khoa
MaSV
<pi> <M>
HoTenSV
NgaySinh
NoiSInh
MaKhoa <pi> <M>
TenKhoa
CDM – Conceptual Data
Model
ERD – Entity Relationship
Diagram
0,n
Dang Ky Hoc Mon
Lan
HocKy
NienKhoa
Diem
...
0,n
MonHoc
MaMon <pi> <M>
TenMon
0,n
Nganh
Mon hoc nganh
SoTinChi
0,n
MaNganh <pi> <M>
TenNganh
15
Giai đoạn phân tích (tt)
Xét hệ thống quản lý giáo vụ tại trường đại học:
• Mô hình xử lý DFD
Người dùng
Nhập
thông tin
SV
Thông tin sinh viên
Hồ sơ sinh viên
Yêu cầu tạo mới
nhập sinh viên
Hồ sơ sinh viên
Kiểm tra
thông tin
SV
16
Giai đoạn phân tích (tt)
Xét hệ thống quản lý giáo vụ trường đại học:
• Phương án triển khai - PA1
Database Server
Module Sinh viên
Module Giảng viên
Printer Server
17
Giai đoạn phân tích (tt)
Xét hệ thống quản lý giáo vụ trường đại học:
• Phương án triển khai – PA2
Module Sinh viên
Module Giảng viên
Database Server
Printer Server
18
Giai đoạn phân tích (tt)
Xét hệ thống quản lý giáo vụ trường đại học:
• Phương án triển khai – PA3
Module Giảng viên
(NV A phụ trách)
Module Sinh viên
(NV B phụ trách)
Database Server
Printer Server
19
Giai đoạn thiết kế
Nội dung:
Khảo sát
Phân tích
Kết
quả:
• Thiết kế dữ liệu
• Thiết kế xử lý
• Thiết kế giao diện
Thiết kế
Cài đặt
Hồ sơ thiết kế:
• Mô hình PDM
• Kiến trúc Module
• Hệ thống chức năng
• Hệ thống giao diện
Kiểm tra
Triển khai
Bảo trì
20
Giai đoạn thiết kế (tt)
Xét hệ thống quản lý giáo vụ tại trường đại học:
• Mô hình vật lý (PDM)
Quan Huyen
MaQuan <pk>
MaTinh
<fk>
TenQuan
Tinh Thanh
MaTinh <pk>
TenTinh
SinhVien
MaSV
MaQuan
MaKhoa
MaNganh
HoTenSV
NgaySinh
NoiSInh
PDM – Physical Data Model
<pk>
<fk3>
<fk1>
<fk2>
Khoa
MaKhoa <pk>
TenKhoa
Nganh
Dang Ky Hoc Mon
MaSV
<pk,fk1>
MaMon
<pk,fk2>
Lan
HocKy
NienKhoa
Diem
MaNganh <pk>
MaKhoa
<fk>
TenNganh
Mon hoc nganh
MonHoc
MaMon <pk>
TenMon
MaMon
<pk,fk1>
MaNganh <pk,fk2>
SoTinChi
21
Giai đoạn thiết kế (tt)
Kiến trúc phân hệ - Module
Hệ thống
quản lý Sinh viên
Phân hệ Sinh viên
Phân hệ Giảng viên
22
Giai đoạn thiết kế (tt)
Hệ thống chức năng Module Quản lý
Sinh viên
Quản lý sinh viên
Quản lý khóa học
Danh sách SV
Quản lý đăng ký
học phần
Quản lý học phí
23
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ sinh viên:
24
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ sinh viên:
25
Giai đoạn thiết kế (tt)
Module quản lý sinh viên:
26
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ sinh viên:
27
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ sinh viên:
28
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ Giảng viên:
29
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ Giảng viên:
30
Giai đoạn thiết kế (tt)
Hệ thống giao diện phân hệ Giảng viên:
31
Giai đoạn cài đặt
Khảo sát
Nội dung: • Tạo CSDL
• Tạo giao diện
Phân tích
• Cài đặt các xử lý
Thiết kế
Kết quả:
• Source code:
Cài đặt
Giao diện
DLL
ActiveX Control
Sample Database
• Chương trình: EXE, Web App
Kiểm tra
Triển khai
Bảo trì
32
Giai đoạn kiểm tra
Khảo sát
• Kiểm lỗi
• Kiểm lỗi phân hệ
Phân tích
• Kiểm lỗi hệ thống
Thiết kế
Nội dung:
Cài đặt
• Roadmap
• Test plan
• Test case
• Bug
• Test report
Kết quả:
Kiểm tra
Triển khai
Bảo trì
33
Giai đoạn triển khai
Khảo sát
• Đóng gói sản phẩm
Phân tích
Thiết kế
• Chương trình cài đặt
• Tài liệu hướng dẫn cài
đặt
• Tài liệu hướng dẫn cấu
hình hệ thống
• Cài đặt thử nghiệm với
dữ liệu thật của khách
hàng
• Hướng dẫn sử dụng
Cài đặt
Nội dung:
Kiểm tra
Kết quả:
Triển khai
Bảo trì
34
Sưu liệu/Tài liệu liên quan
• 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)
35
Bài tập tình huống
Kết quả khảo sát hiện trạng hệ thống quản lý nhân sự
tiền lương tại một doanh nghiệp thu thập được các
thông tin sau:
• Mỗi nhân viên có một mã nhân viên duy nhất, và có họ
tên, ngày tháng năm sinh và được lãnh lương theo hệ
bậc lương của mình. Đồng thời một nhân viên thì chỉ
thuộc biên chế của một và chỉ một phòng ban. Ví dụ:
Nhân viên tên A có mã số NV1 thuộc biên chế phòng
Tổng Hợp (với mã phòng TH) sinh năm 1986 lãnh
lương chuyên viên chính.
• Thông tin cần quản lý về phòng ban bao gồm: tên
phòng ban, mã phòng ban và số lương nhân viên và
người trưởng phòng.Ví dụ: phòng Tổng Hợp có mã TH,
số lượng nhân viên là 5 có trưởng phòng là Nhân Viên
A.
• Mức lương gồm tên, số tiền và mô tả yêu câu công
việc. Ví dụ: Mức lương chuyên viên chính là 2,5 triệu
VNĐ, cần tối thiểu 5 năm kinh nghiệm.
36
36
Bài tập tình huống
Kết quả khảo sát hiện trạng hệ thống quản lý nhân sự tiền
lương tại một doanh nghiệp thu thập được các thông tin
sau:
• Mỗi nhân viên có một mã nhân viên duy nhất, và có họ tên,
ngày tháng năm sinh và được lãnh lương theo hệ bậc lương
của mình. Thông tin cần quản lý về phòng ban bao gồm: tên
phòng ban, mã phòng ban và số lương nhân viên và người
trưởng Mức lương gồm tên, số tiền và mô tả yêu câu công
việc.
• Ngoài các chức năng thêm, xóa, sửa nhân viên, phòng ban,
mức lương và lưu vào hệ thống. Hằng tháng cần có báo cáo
bảng lương tổng hợp của toàn công ty và bảng lương chi tiết
cho từng người.
• Các chức năng cần có phản hồi trong vòng 30 giây và dùng
tối đa là 3 lần click chuột là có thể sử dụng. Ứng dụng cần
được triển khai trên web và chạy tốt với IE và Firefox?
• Xác định các yêu cầu nào là chức năng, phi chức năng?Vẽ hệ
thống phân cấp nhóm chức năng?
• Vẽ sơ đồ Use case, ERD và sitemap?
37
37
Giai đoạn bảo trì
Khảo sát
• Hỗ trợ sữa lỗi
Phân tích
• Theo dõi thay đổi yêu cầu
• Nâng cấp
Thiết kế
Cài đặt
Nội dung:
• Tài liệu hướng dẫn giải
quyết sự cố
• Tài liệu hướng dẫn nâng
cấp
• Hostfix / Service Pack
Kiểm tra
Triển khai
Kết quả:
Bảo trì
38
Mô hình thác nước mở rộng
Khảo sát
Phân tích
Thiết kế
Cài đặt
Kiểm tra
Triển khai
Bảo trì
39
Mô hình dựa trên component
• Dựa trên việc tái sử dụng có tính hệ thống trong
đó hệ thống được tích hợp từ các thành phần đã
có.
• Các bước
–
–
–
–
–
Phân tích thành phần;
Chỉnh sửa yêu cầu;
Thiết kế hệ thống với ý tưởng tái sử dụng;
Phát triển và tích hợp.
Kiểm tra
• Cách tiếp cận này đang ngày càng được sử dụng
nhiều khi các chuẩn thành phần dần thống nhất.
40
Phát triển xoắn ốc
• Qui trình được biểu diễn ở dạng xoắn ốc thay
vì một dãy các hoạt động với quay lui.
• Mỗi lần lặp trong xoắn ốc biểu diễn một pha
trong qui trình.
• Không có các pha cố định như đặc tả hay
thiết kế - số lần lặp trong xoắn ốc được chọn
phụ thuộc vào nhu cầu.
• Các rủi ro được đánh giá và giải tỏa một cách
rõ ràng xuyên suốt qui trình.
41
Quy trình xoắn ốc
Lập kế hoạch
Tiếp xúc
Khách hàng
Đánh giá
của khách hàng
Phân tích rủi ro
Phân tích, thiết kế
Xây dựng
và triển khai
42
Hoạt động trong qui trình
•
•
•
•
Đặc tả phần mềm
Thiết kế và cài đặt phần mềm
Kiểm tra phần mềm
Tiến hóa phần mềm
43
Đặc tả phần mềm
• Quá trình lập ra những dịch vụ nào là
cần thiết và ràng buộc trong quá trình
vận hành và phát triển hệ thống.
• Qui trình kỹ thuật thu thập yêu cầu
– Nghiên cứu thực tế;
– Phân tích và suy luận ra yêu cầu;
– Đặc tả yêu cầu;
– Kiểm tra yêu cầu.
44
Thiết kế và cài đặt phần mềm
• Quá trình chuyển đặc tả hệ thống thành
hệ thống thực hiện được.
• Thiết kế phần mềm
– Thiết kế một cấu trúc phần mềm nhằm
hiện thực hóa đặc tả;
• Cài đặt
– Chuyển cấu trúc này thành một chương
trình thực thi đượ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.
45
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
46
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).
47
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.
48
Qui trình gỡ lỗi
49
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.
50
Qui trình kiểm tra
51
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.
52
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.
53
Rational Unified Process (RUP)
54
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.
55
Mô hình pha của RUP
56
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ó.
57
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
58
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.
59
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.
60
Tổ chức nhân sự
Project Manager
Architect
Tester
Developer
Product Manager
61
Development Teams
Infrastructure
Architect
Solution
Architect
Developer
Tester
End User
Project Manager
62
Tổ chức nhân sự
63
Vai trò của các thành viên
64
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
65
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
66
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
67
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
68
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.
69
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
70
Project Manager
• Phần mềm sử dụng
– Source Code Management
• Visual Sourcesafe
– Visual Team System 2005
• Project Manager Role
71
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)
72
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
73
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
74
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
75
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ý
76
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
77
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
78
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
• ….
79
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)
80
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
81
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
82
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
83
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
84
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
85
Packer
• Phần mềm sử dụng
– InstallShield
– Wise Install
– Project Management Tool
• Packer Role
– Workflow
• Packer role
–…
86
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)
87
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
–…
88
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..
89
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.
90
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
91
Câu hỏi và thảo luận
92