Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm

Định nghĩa chung về phần mềm

Phần mềm (Software - SW) như một khái niệm đối nghĩa với phần cứng (Hardware - HW), tuy nhiên, đây là 2 khái niệm tương đối

Từ xưa, SW như thứ được cho không hoặc bán kèm theo máy (HW)

Dần dần, giá thành SW ngày càng cao và nay cao hơn HW

Phần mềm là

Các lệnh (chương trình máy tính) khi được thực hiện thì cung cấp những chức nă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ư liệu mô tả thao tác và cách sử dụng chương trình

SW đối nghĩa với HW

Vai trò SW ngày càng thể hiện trội

Máy tính là . . . chiếc hộp không có SW

Ngày nay, SW quyết định chất lượng một hệ thống máy tính (HTMT), là chủ đề cốt lõi, trung tâm của HTMT

Hệ thống máy tính gồm HW và SW

 

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 8

Trang 8

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 9

Trang 9

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm trang 10

Trang 10

Tải về để xem bản đầy đủ

ppt 115 trang duykhanh 9540
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm

Bài giảng Nhập môn công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm
(6) Tư liệu của mỗi pha không chỉ dùng cho pha sau , mà chính là đối tượng quan trọng cho kiểm tra và đảm bảo chất lượng của từng quy trình và của chính phần mềm 
 HUT, Falt . of IT 
78 
 Dept. of SE, 2001 
Suy nghĩ mới về vòng đời phần mềm 
(7) Cần chuẩn hóa mẫu biểu , cách ghi chép tạo tư liệu cho từng pha , nhằm đảm bảo chất lượng phần mềm 
(8) Thao tác bảo trì phần mềm là việc xử lý quay vòng trở lại các pha trong vòng đời phần mềm nhằm biến đổi , sửa chữa , nâng cấp phần mềm 
 HUT, Falt . of IT 
79 
 Dept. of SE, 2001 
Các phương pháp luận và  kỹ thuật cho từng pha 
 HUT, Falt . of IT 
80 
 Dept. of SE, 2001 
3.5 Quy trình phát triển phần mềm 
Common process framework - Khung quy trình chung 
Umbrella activities 
Framework activities - Hoạt động khung 
Task sets - Tập tác vụ 
Tasks - Tác vụ 
Milestones , deliverables 
SQA points - Điểm KTCL 
 HUT, Falt . of IT 
81 
 Dept. of SE, 2001 
3.5.1 Capability Maturity Model ( CMM ) by SEI : Mô hình thuần thục khả năng 
Level 1: Initial ( Khởi đầu ). Few processes are defined . Success depends on individual effort 
Level 2: Repeatable ( Lặp lại ). Basic project management processes . Repeat earlier succeses on projects with similar applications 
Level 3: Defined ( Xác định ). Use a documented and approved version of the organization’s process for developing and supporting software 
 HUT, Falt . of IT 
82 
 Dept. of SE, 2001 
CMM ( cont .) 
Level 4: Managed ( Quản trị ). Both SW process and products are quantitatively understood and controlled using detailed measures 
Level 5: Optimizing ( Tối ưu ). Continuous process improvement is enabled by quantitative feedback from the process and from testing innovative ideas and technologies 
18 key process areas ( KPAs ) for CMM 
 HUT, Falt . of IT 
83 
 Dept. of SE, 2001 
18 KPAs of CMM 
LEVEL 2: Repeatable 
1. SW configuration 
 management 
2. SW quality 
 assurance 
3. SW subcontract 
 management 
4. SW project tracking 
 and oversight 
5. SW project 
 planning 
6. Requirements 
 management 
7. Peer reviews 
8. Intergroup 
 coordination 
9. SW product 
 engineering 
10. IntegratedSW 
 management 
11. Training program 
12. Organization 
 process definition 
13. Organization 
 process focus 
LEVEL 3: Defined 
14. 
 SW quality 
 Management 
15. 
 Quantitative 
 process 
 management 
LEVEL 4: Managed 
LEVEL 5: Optimizing 
16. 
 Process 
 change 
 management 
17. 
 Technology 
 change 
 management 
18. 
 Defect 
 prevention 
 HUT, Falt . of IT 
84 
 Dept. of SE, 2001 
3.5.2 Mô hình tuyến tính 
Phân tích 
Thiết kế 
Lập trình 
Kiểm thử 
Công nghệ học 
Hệ thống / Thông tin 
Điển hình là mô hình vòng đời cổ điển 
( mô hình thác nước ) Classic life cycle / 
waterfall model : là mô hình hay đựoc dùng nhất 
 HUT, Falt . of IT 
85 
 Dept. of SE, 2001 
Mô hình tuyến tính 
Công nghệ học Hệ thống / Thông tin và mô hình hóa ( System / Information engineering and modeling ): thiết lập các yêu cầu , ánh xạ một số tập con các yêu cầu sang phần mềm trong quá trình tương tác giữa phần cứng , người và CSDL 
Phân tích yêu cầu ( Requirements analysis ): hiểu lĩnh vực thông tin , chức năng , hành vi , tính năng và giao diện của phần mềm sẽ phát triển . Cần phải tạo tư liệu và bàn thảo với khách hàng , người dùng 
 HUT, Falt . of IT 
86 
 Dept. of SE, 2001 
Mô hình tuyến tính 
Thiết kế ( Design ): là quá trình nhiều bước với 4 thuộc tính khác nhau của một chương trình : cấu trúc dữ liệu , kiến trúc phần mềm , biểu diễn giao diện và chi tiết thủ tục ( thuật toán ). Cần tư liệu hóa và là một phần quan trọng của cấu hình phần mềm 
Tạo mã / lập trình ( Code generation / programming ): Chuyển thiết kế thành chương trình máy tính bởi ngôn ngữ nào đó . Nếu thiết kế đã được chi tiết hóa thì lập trình có thể chỉ thuần túy cơ học 
 HUT, Falt . of IT 
87 
 Dept. of SE, 2001 
Mô hình tuyến tính 
Kiểm thử ( Testing ): Kiểm tra các chương trình và môđun cả về lôgic bên trong và chức năng bên ngoài , nhằm phát hiện ra lỗi và đảm bảo với đầu vào xác định thì cho kết quả mong muốn 
Hỗ trợ / Bảo trì ( Support / Maintenance ): Đáp ứng những thay đổi , nâng cấp phần mềm đã phát triển do sự thay đổi của môi trường , nhu cầu 
 HUT, Falt . of IT 
88 
 Dept. of SE, 2001 
Điểm yếu của Mô hình tuyến tính 
Thực tế các dự án ít khi tuân theo dòng tuần tự của mô hình , mà thường có lặp lại ( như mô hình của Boehm ) 
Khách hàng ít khi tuyên bố rõ ràng khi nào xong hết các yêu cầu 
Khách hàng phải có lòng kiên nhẫn chờ đợi thời gian nhất định mới có sản phẩm . Nếu phát hiện ra lỗi nặng thì là một thảm họa ! 
 HUT, Falt . of IT 
89 
 Dept. of SE, 2001 
3.5.3 Mô hình chế thử ( Prototyping model ) 
Nghe Khách 
trình bày 
Tạo / sửa 
bản mẫu 
Khách kiểm tra 
bản mẫu 
 HUT, Falt . of IT 
90 
 Dept. of SE, 2001 
Mô hình chế thử : Khi nào ? 
Khi mới rõ mục đích chung chung của phần mềm , chưa rõ chi tiết đầu vào hay xử lý ra sao hoặc chưa rõ yêu cầu đầu ra 
Dùng như “ Hệ sơ khai ” để thu thập yêu cầu người dùng qua các thiết kế nhanh 
Các giải thuật , kỹ thuật dùng làm bản mẫu có thể chưa nhanh , chưa tốt , miễn là có mẫu để thảo luận gợi yêu cầu của người dùng 
 HUT, Falt . of IT 
91 
 Dept. of SE, 2001 
3.5.4 Mô hình phát triển ứng dụng nhanh ( Rapid Application Development : RAD ) 
Là quy trình phát triển phần mềm gia tăng , tăng dần từng bước ( Incrimental software development ) với mỗi chu trình phát triển rất ngắn (60-90 ngày ) 
Xây dựng dựa trên hướng thành phần ( Component - based construction ) với khả năng tái sử dụng ( reuse ) 
Gồm một số nhóm ( teams ), mỗi nhóm làm 1 RAD theo các pha : Mô hình nghiệp vụ , Mô hình dữ liệu , Mô hình xử lý , Tạo ứng dụng , Kiểm thử và đánh giá ( Business , Data , Process , Appl . Generation , Test ) 
 HUT, Falt . of IT 
92 
 Dept. of SE, 2001 
Mô hình phát triển ứng dụng nhanh 
Business 
Modeling 
Data 
Modeling 
Process 
Modeling 
Application 
Generation 
Testing & 
Turnover 
60 - 90 days 
Business 
Modeling 
Data 
Modeling 
Process 
Modeling 
Application 
Generation 
Testing & 
Turnover 
Business 
Modeling 
Data 
Modeling 
Process 
Modeling 
Application 
Generation 
Testing & 
Turnover 
Team #1 
Team #2 
Team #3 
 HUT, Falt . of IT 
93 
 Dept. of SE, 2001 
RAD : Business modeling 
Luồng thông tin được mô hình hóa để trả lời các câu hỏi : 
Thông tin nào điều khiển xử lý nghiệp vụ ? 
Thông tin gì được sinh ra ? 
Ai sinh ra nó ? 
Thông tin đi đến đâu ? 
Ai xử lý chúng ? 
 HUT, Falt . of IT 
94 
 Dept. of SE, 2001 
RAD : Data and Process modeling 
Data modeling : các đối tượng dữ liệu cần để hỗ trợ nghiệp vụ ( business ). Định nghĩa các thuộc tính của từng đối tượng và xác lập quan hệ giữa các đối tượng 
Process modeling : Các đối tượng dữ liệu được chuyển sang luồng thông tin thực hiện chức năng nghiệp vụ . Tạo mô tả xử lý đễ cập nhật ( thêm , sửa , xóa , khôi phục ) từng đối tượng dữ liệu 
 HUT, Falt . of IT 
95 
 Dept. of SE, 2001 
RAD : Appl . Generation and Testing 
Application Generation : Dùng các kỹ thuật thế hệ 4 để tạo phần mềm từ các thành phần có sẵn hoặc tạo ra các thành phần có thể tái dụng lại sau này . Dùng các công cụ tự động để xây dựng phần mềm 
Testing and Turnover : Kiểm thử các thành phần mới và kiểm chứng mọi giao diện ( các thành phần cũ đã được kiểm thử và dùng lại ) 
 HUT, Falt . of IT 
96 
 Dept. of SE, 2001 
RAD : Hạn chế ? 
Cần nguồn nhân lực dồi dào để tạo các nhóm cho các chức năng chính 
Yêu cầu hai bên giao kèo trong thời gian ngắn phải có phần mềm hoàn chỉnh , thiếu trách nhiệm của một bên dễ làm dự án đổ vỡ 
RAD không phải tốt cho mọi ứng dụng , nhất là với ứng dụng không thể môđun hóa hoặc đòi hỏi tính năng cao 
Mạo hiểm kỹ thuật cao thì không nên dùng RAD 
 HUT, Falt . of IT 
97 
 Dept. of SE, 2001 
3.5.5 Các mô hình tiến hóa :  gia tăng , xoắn ốc , xoắn WINWIN , ... 
Phần lớn các hệ phần mềm phức tạp đều tiến hóa theo thời gian : môi trường thay đổi , yêu cầu phát sinh thêm , hoàn thiện thêm chức năng , tính năng 
Các mô hình tiến hóa ( evolutionary models ) có tính lặp lại . Kỹ sư phần mềm tạo ra các phiên bản ( versions ) ngày càng hoàn thiện hơn , phức tạp hơn 
Các mô hình : incremental , spiral , WINWIN spiral , concurrent development model 
 HUT, Falt . of IT 
98 
 Dept. of SE, 2001 
Mô hình gia tăng ( The incremental model ) 
Kết hợp mô hình tuần tự và ý tưởng lặp lại của chế bản mẫu 
Sản phẩm lõi với những yêu cầu cơ bản nhất của hệ thống được phát triển 
Các chức năng với những yêu cầu khác được phát triển thêm sau ( gia tăng ) 
Lặp lại quy trình để hoàn thiện dần 
 HUT, Falt . of IT 
99 
 Dept. of SE, 2001 
Mô hình gia tăng 
Ph©n tÝch 
ThiÕt kÕ 
LËp tr×nh 
KiÓm thö 
System / info . 
Engineering 
Calendar time 
Ph©n tÝch 
ThiÕt kÕ 
LËp tr×nh 
KiÓm thö 
Ph©n tÝch 
ThiÕt kÕ 
LËp tr×nh 
KiÓm thö 
Ph©n tÝch 
ThiÕt kÕ 
LËp tr×nh 
KiÓm thö 
Gia tăng 1 
Gia tăng 2 
Gia tăng 3 
Gia tăng 4 
Xuất xưởng 2 
Xuất xưởng 1 
Xuất xưởng 3 
XX 4 
 HUT, Falt . of IT 
100 
 Dept. of SE, 2001 
Mô hình xoắn ốc ( spiral ) 
Giao tiếp 
 khách hàng 
Lập kế hoạch 
Phân tích rủi ro 
Kỹ nghệ 
Xây dựng & 
Xuất xưởng 
Khách hàng 
đánh giá 
Bảo trì 
Nâng cấp 
Làm mới 
Khái niệm 
 HUT, Falt . of IT 
101 
 Dept. of SE, 2001 
Mô hình xoắn ốc ( tiếp ) 
Giao tiếp khách hàng : giữa người phát triển và khách hàng để tìm hiểu yêu cầu , ý kiến 
Lập kế hoạch : Xác lập tài nguyên , thời hạn và những thông tin khác 
Phân tích rủi ro : Xem xét mạo hiểm kỹ thuật và mạo hiểm quản lý 
Kỹ nghệ : Xây dựng một hay một số biểu diễn của ứng dụng 
 HUT, Falt . of IT 
102 
 Dept. of SE, 2001 
Mô hình xoắn ốc ( tiếp ) 
Xây dựng và xuất xưởng : xây dựng , kiểm thử , cài đặt và cung cấp hỗ trợ người dùng ( tư liệu , huấn luyện , . . .) 
Đánh giá của khách hàng : Nhận các phản hồi của người sử dụng về biểu diễn phần mềm trong giai đoạn kỹ nghệ và cài đặt 
 HUT, Falt . of IT 
103 
 Dept. of SE, 2001 
Mô hình xoắn ốc : Mạnh và yếu ? 
Tốt cho các hệ phần mềm quy mô lớn 
Dễ kiểm soát các mạo hiểm ở từng mức tiến hóa 
Khó thuyết phục khách hàng là phương pháp tiến hóa xoắn ốc có thể kiểm soát được 
Chưa được dùng rộng rãi như các mô hình tuyến tính hoặc chế thử 
 HUT, Falt . of IT 
104 
 Dept. of SE, 2001 
Mô hình xoắn ốc WINWIN 
Nhằm thỏa hiệp giữa người phát triển và khách hàng , cả hai cùng “ Thắng ” ( win - win ) 
Khách thì có phần mềm thỏa mãn yêu cầu chính 
Người phát triển thì có kinh phí thỏa đáng và thời gian hợp lý 
Các hoạt động chính trong xác định hệ thống : 
Xác định cổ đông ( stakeholders ) 
Xác định điều kiện thắng của cổ đông 
Thỏa hiệp điều kiện thắng của các bên liên quan 
 HUT, Falt . of IT 
105 
 Dept. of SE, 2001 
Mô hình xoắn ốc WINWIN 
1. Xác định mức 
 tiếp của cổ đông 
2. Xác định điều kiện 
 thắng của cổ đông 
3 a . Hòa hợp điều kiện thắng 
3 b . Thiết lập mục tiêu mức tiếp 
 và các ràng buộc , dự kiến 
4. Đánh giá tiến trình và 
 dự kiến sản phẩm , 
 giải quyết rủi ro 
5. Xác định mức tiếp của 
 sản phâm và quy trình , 
 kể cả phân chia nhỏ 
7. Xét duyệt và đánh giá 
 6. Kiểm định sản phẩm 
 và quy trình 
 HUT, Falt . of IT 
106 
 Dept. of SE, 2001 
Mô hình phát triển đồng thời  ( The concurrent development model ) 
Xác định mạng lưới những hoạt động đồng thời ( Network of concurrent activities ) 
Các sự kiện ( events ) xuất hiện theo điều kiện vận động trạng thái trong từng hoạt động 
Dùng cho mọi loại ứng dụng và cho hình ảnh khá chính xác về trạng thái hiện trạng của dự án 
Thường dùng trong phát triển các ứng dụng khách / chủ ( client / server applications ): system and componets are developed concurrently 
 HUT, Falt . of IT 
107 
 Dept. of SE, 2001 
3.5.6 Mô hình theo thành phần ( Component - based model ) 
Gắn với những công nghệ hướng đối tượng ( Object - oriented technologies ) qua việc tạo các lớp ( classes ) có chứa cả dữ liệu và giải thuật xử lý dữ liệu 
Có nhiều tương đồng với mô hình xoắn ốc 
Với ưu điểm tái sử dụng các thành phần qua Thư viện / kho các lớp : tiết kiệm 70% thời gian , 80% giá thành , chỉ số sản xuất 26.2/16.9 
Với UML như chuẩn công nghiệp đang triển khai 
 HUT, Falt . of IT 
108 
 Dept. of SE, 2001 
Mô hình theo thành phần 
Giao tiếp 
 khách hàng 
Lập kế hoạch 
Phân tích rủi ro 
Kỹ nghệ 
Xây dựng & 
Xuất xưởng 
Khách hàng 
đánh giá 
Xác định 
thành phần 
ứng viên 
Tìm 
thành phần 
từ thư viện 
Lấy 
thành phần 
nếu có 
Xây dựng 
thành phần 
nếu kh . có 
Đặt 
thành phần 
vào thư viện 
Xây dựng 
bước lặp thứ n 
của hệ thống 
 HUT, Falt . of IT 
109 
 Dept. of SE, 2001 
3.5.7 Mô hình hình thức ( Formal model ) 
Còn gọi là CNHPM phòng sạch ( Cleanroom SE ) 
Tập hợp các công cụ nhằm đặc tả toán học phần mềm máy tính từ khâu định nghĩa , phát triển đến kiểm chứng 
Giúp kỹ sư phần mềm phát hiện và sửa các lỗi khó 
Thường dùng trong phát triển SW cần độ an toàn rất cao ( y tế , hàng không , . . .) 
 HUT, Falt . of IT 
110 
 Dept. of SE, 2001 
Mô hình hình thức : Điểm yếu ? 
Cần nhiều thời gian và công sức để phát triển 
Phí đào tạo cao vì ít người có nền căn bản cho áp dụng mô hình hình thức 
Khó sử dụng rộng rãi vì cần kiến thức toán và kỹ năng của khách hàng 
 HUT, Falt . of IT 
111 
 Dept. of SE, 2001 
3.5.8 Các kỹ thuật thế hệ 4 ( Fourth generation techniques ) 
Tập hợp các công cụ cho phép xác định đặc tính phần mềm ở mức cao , sau đó sinh tự động mã nguồn dựa theo đặc tả đó 
Các công cụ 4 GT điển hình : ngôn ngữ phi thủ tục cho truy vấn CSDL ; tạo báo cáo ; xử lý dữ liệu ; tương tác màn hình ; tạo mã nguồn ; khả năng đồ họa bậc cao ; khả năng bảng tính ; khả năng giao diện Web ; vv 
 HUT, Falt . of IT 
112 
 Dept. of SE, 2001 
4 GT : How ? 
Từ thu thập yêu cầu cho đến sản phẩm : đối thoại giữa khách và người phát triển là quan trọng 
Không nên bỏ qua khâu thiết kế . 4 GT chỉ áp dụng để triển khai thiết kế qua 4 GL 
Mạnh : giảm thời gian phát triển và tăng năng suất 
Yếu : 4 GT khó dùng hơn ngôn ngữ lập trình , mã khó tối ưu và khó bảo trì cho hệ thống lớn cần kỹ năng của kỹ sư phần mềm 
Tương lai : 4 GT với mô hình theo thành phần 
 HUT, Falt . of IT 
113 
 Dept. of SE, 2001 
3.5.9 Sản phẩm và quy trình ( Product and process ) 
Quy trình yếu thì sản phẩm khó mà tốt , song không nên coi trọng quá mức vào quy trình hoặc quá mức vào sản phẩm 
Sản phẩm và quy trình cần được coi trọng như nhau 
 HUT, Falt . of IT 
114 
 Dept. of SE, 2001 
Bài tập Phần I và Đồ án I 
Xem lại các khái niệm , mô hình của phần mềm và CNHPM 
Đồ án môn học I ( cho 13 nhóm , nạp báo cáo , tư liệu tìm được trên Web và thư viện ): 
Tìm hiểu và viết báo cáo , trình bày về mô hình phát triển phần mềm (10 mô hình / 10 nhóm ) 
Chuẩn ISO 9001 cho SE 
Chuẩn CMM ( www . sei . com ) 
Các kỹ thuật lập trình ( cấu trúc , mô đun , . . .) 
 HUT, Falt . of IT 
115 
 Dept. of SE, 2001 

File đính kèm:

  • pptbai_giang_nhap_mon_cong_nghe_phan_mem_phan_1_gioi_thieu_chun.ppt