Chương 1: Quy trình phần mềm
Tập hợp các hoạt động cấu trúc (có thứ tự)
4 bước chính:
+đặc tả
+Phát triển: Thiết kế triển khai
+Kiểm thử
+Nâng cấp
hình quy trình phần mềm: cái nhìn trừu tượng về một quy trình
+Waterfall: bao gồm nhìu bước, sau khi xong bước này thì mới làm bước tiếp theo
+ Reuse: Intergration (ghép các cái mình muốn lại or tạo cái mới) vs Configuration (cấu hình lại)
Đặc tả bao gồm:
+Thu thập phân tích iu cầu
+Dặc tả iu cầu
+Kiểm thử yêu cầu
Phát triển bao gồm:
+thiết kế
+triển khai
Làm xen kẽ or làm riêng 2 cái
Kiểm thử: V and V (verification build đúng vs validation đúng yêu cầu)
Nâng cấp: nhu cầu thay đổi
+ Sử dụng propotype (mẫu mockup) bao gồm UI/UX và 1 số tình năng bản
+ Tiêu chí CMM: đánh giá Quy trình chuẩn ko
Level 1: ko cần quy trình
Level 2: PM nhưng điều hành mỗi quy trình khác nhau
Level 3: chuẩn quy trình của cty
Level 4: Đo lường process tốt, xấu,
Level 5: Dựa vào bước 4 để điều chỉnh process cho phù hợp
------------------------------------------------------------------
Chương 2: Quy trình Yêu cầu kỹ thuật
4 bước:
- Thu thập nhu cầu: giao tiếp với stalkholder
+ Các stalkholder ko mình mún gì/ tbằng ngôn ngữ của họ/ bị đụng độ với nhau/ nh
hưởng bởi chính sách/ các stalkholder khác tham gia vào
+ Discovery: thu thập iu cầu (pp interview, ngồi quan sát nghiệp vụ liên quan) -> tả các đoạn
văn cấu trúc -> scenarios
- Đặc tả yêu cầu: ghi xuống tài liệu các yêu cầu của user hệ thống
template tabular), ngôn ngữ giống lập trình, UML(use cases), toán học.
+ Sau khi tài liệu đặc tả yêu cầu bao gồm (yêu cầu ngừi dùng hệ thống) -> Được dùng cho
các user khác nhau
- Phân tích yêu cầu
- Kiểm thử yêu cầu
Các phương pháp kiểm tra: dựa vào kinh nghiệm review lại, phát triển 1 cái prototytpe, tạo
test-case
- Quản yêu cầu
Stalkholder: tham gia vào việc dùng hệ thống, ràng buộc pháp
----------------------------------------------------------------
Chương 6: hình hóa hệ thống
Đưa ra hình trừu trượng của hệ thống, nhiều góc nhìn hệ thống khác nhau đưa ra hình
khác nhau
Phối hợp nhiều góc nhìn (mô hình) khác nhau
Sử dụng hình UML, đội kỹ thuật thể giao tiếp với khác nhau
- Góc nhìn ngữ cảnh (external context model): từ ngoài nhìn vào
- Góc nhìn interaction: các thành phần nào tương tác với thành phần nào
- Góc nhìn tổ chức (structural): lớp cha lớp con
- Góc nhìn behavior: khi event thì hệ thống xử ntn
Use-case: tả interaction giữa các hệ thống
Sequence: tả interaction giữa các thành phần
Activity: tả interaction
Class: góc nhìn tổ chức
State: góc nhìn behavior
Góc nhìn ngữ cảnh (external context model)
- Context Model: đưa ra boundaries đường hoạt động để cho biết tổ chức hoạt động đến mức
độ nào/ Góc nhìn về hội tổ chức thảnh hưởng đến boundaries/
- Các hệ thống (component) tương tác với nhau ntn, ko chỉ ra cách phát triển
- Process model chỉ ra hệ thống nào làm trước làm sau (activity diagram)
Góc nhìn Interaction
- Các thành phần hệ thống ơng tác với nhau ntn (usecase sequence)
- Usecase Actor/ mqh include / mqh extend
Credit card thừa kế tất cả phương thức của ATM card holder
Góc nhìn tổ chức (class package diagram)
- Biểu diễn các thành phần của hệ thống, mối quan hệ giửa các components
- Tĩnh động
Góc nhìn behavior
- Sequence state diagarm( bao gồm nhìn state, mỗi state tên tính từ, action tương
ứng với state đó, dùng trigger để chuyển state/ activity digaram con của state diagram)
- Collaboration diagram
- Phản hồi lại sự kiện khi stimulus:
+ data mới đến
+ event
- Biểu diễn bởi đồ thị data-driven (chuyển từ sequence) event-driven (state diagram) ->
kích hoạt bởi trigger(stimulus)
-------------------------------------------------------------------
Chương 7: Thiết kế kiến trúc
+ Kiến trúc nhỏ: chỉ bao gồm các class -> function
+Kiến trúc lớn: phức tạp -> non-function
minimize Coupling (độc lập giữa các class/module) maximizing cohesion(tính gắn kết trong
một class/module)
Quyết định thiết kế hệ thống gồm các tiêu chí:
+Hiệu suất: những thành phần kernel (trọng yếu) gom lại 1 chỗ, ít communication
+Bảo mật: Dùng kiến trúc tầng với tầng qutrong nằm bên trong tầng khác
+An Toàn: Tính năng quan trọng như (database) gom lại 1 chỗ
+Availability: duplicate module phân tán ra
+Dễ bảo trị: tách ra thành các giá trị nhỏ (fine-grain) dễ thay thế
Views về Architecture (có nhiều view nhìu diagram)
- hình 4+1:
+ góc nhìn logic: gồm những object nào, thành phần nào
+ Process: interaction nào
+ khi hoạt động (implementation): implement ntn, bao nhíu class, class tương tác ntn
+ khi triển khai (deployment): triển khai trên hardware ntn, tầng mạng nào,…
- -> (chưa tương tác) -> +1 use-case
Mẫu thiết kế (pattern): tả kiến trúc được người dùng dùng nhìu
+ MVC: model (database), view(giao diện), controller -> tách rời điều khiển database
+ Layered: hệ thống thông tin
+ Reposity: sở dữ liệu tập trung 1 nơi, tách ra thành các subsystem sử dụng database con
+ Client-Sever: cần hạ tầng mạng
+ Kiến trúc pipe and filter: dùng nhíu trong machine learning
Các kiểu application
- Transaction
- Event
- Language
----------------------------------------------------------------------------
Chương 8: Thiết kế hiện thực

Preview text:

Chương 1: Quy trình phần mềm
Tập hợp các hoạt động có cấu trúc (có thứ tự) Có 4 bước chính: +đặc tả
+Phát triển: Thiết kế và triển khai +Kiểm thử +Nâng cấp
Mô hình quy trình phần mềm: cái nhìn trừu tượng về một quy trình
+Waterfall: bao gồm nhìu bước, sau khi xong bước này thì mới làm bước tiếp theo
+Incremental: chia làm nhíu pharse nhỏ (waterfall thu nhỏ), mỗi phrase ra một phiên bản
+ Reuse: Intergration (ghép các cái mình muốn lại or tạo cái mới) vs Configuration (cấu hình lại) Đặc tả bao gồm:
+Thu thập và phân tích iu cầu +Dặc tả iu cầu +Kiểm thử yêu cầu Phát triển bao gồm: +thiết kế +triển khai
 Làm xen kẽ or làm riêng 2 cái
Kiểm thử: V and V (verification build đúng vs validation đúng yêu cầu)
Nâng cấp: nhu cầu thay đổi
+ Sử dụng propotype (mẫu mockup) bao gồm UI/UX và 1 số tình năng cơ bản
+ Tiêu chí CMM: đánh giá Quy trình có chuẩn ko Level 1: ko cần quy trình
Level 2: có PM nhưng điều hành mỗi quy trình khác nhau
Level 3: Có chuẩn quy trình của cty
Level 4: Đo lường process có tốt, xấu, …
Level 5: Dựa vào bước 4 để điều chỉnh process cho phù hợp
------------------------------------------------------------------
Chương 2: Quy trình Yêu cầu kỹ thuật 4 bước: -
Thu thập nhu cầu: giao tiếp với stalkholder
+ Các stalkholder ko rõ mình mún gì/ mô tả bằng ngôn ngữ của họ/ bị đụng độ với nhau/ ảnh
hưởng bởi chính sách/ có các stalkholder khác tham gia vào
+ Discovery: thu thập iu cầu (pp interview, ngồi quan sát nghiệp vụ liên quan) -> mô tả các đoạn
văn có cấu trúc -> scenarios -
Đặc tả yêu cầu: ghi xuống tài liệu các yêu cầu của user và hệ thống
Bằng ngôn ngữ tự nhiên (dễ viết nhưng lằng nhằng), ngôn ngữ tự nhiên có cấu trúc(dùng
template tabular), ngôn ngữ giống lập trình, UML(use cases), toán học.
+ Sau khi có tài liệu đặc tả yêu cầu bao gồm (yêu cầu ngừi dùng và hệ thống) -> Được dùng cho các user khác nhau - Phân tích yêu cầu - Kiểm thử yêu cầu
Các phương pháp kiểm tra: dựa vào kinh nghiệm review lại, phát triển 1 cái prototytpe, tạo test-case - Quản lý yêu cầu
Stalkholder: có tham gia vào việc dùng hệ thống, có ràng buộc pháp lý
----------------------------------------------------------------
Chương 6: Mô hình hóa hệ thống
Đưa ra mô hình trừu trượng của hệ thống, có nhiều góc nhìn hệ thống khác nhau đưa ra mô hình khác nhau
Phối hợp nhiều góc nhìn (mô hình) khác nhau
Sử dụng mô hình UML, đội kỹ thuật có thể giao tiếp với khác nhau -
Góc nhìn ngữ cảnh (external context model): từ ngoài nhìn vào -
Góc nhìn interaction: các thành phần nào tương tác với thành phần nào -
Góc nhìn tổ chức (structural): lớp cha lớp con -
Góc nhìn behavior: khi có event thì hệ thống xử lý ntn
Use-case: mô tả interaction giữa các hệ thống
Sequence: mô tả interaction giữa các thành phần Activity: mô tả interaction Class: góc nhìn tổ chức State: góc nhìn behavior 
Góc nhìn ngữ cảnh (external context model) -
Context Model: đưa ra boundaries đường hoạt động để cho biết tổ chức hoạt động đến mức
độ nào/ Góc nhìn về xã hội và tổ chức có thể ảnh hưởng đến boundaries/ -
Các hệ thống (component) tương tác với nhau ntn, ko chỉ ra cách phát triển -
Process model chỉ ra hệ thống nào làm trước làm sau (activity diagram)  Góc nhìn Interaction -
Các thành phần hệ thống tương tác với nhau ntn (usecase và sequence) -
Usecase có Actor/ mqh include / mqh extend
Credit card thừa kế tất cả phương thức của ATM card holder 
Góc nhìn tổ chức (class và package diagram) -
Biểu diễn các thành phần của hệ thống, mối quan hệ giửa các components - Tĩnh và động  Góc nhìn behavior -
Sequence và state diagarm( bao gồm nhìn state, mỗi state có tên là tính từ, có action tương
ứng với state đó, dùng trigger để chuyển state/ activity digaram là con của state diagram) - Collaboration diagram -
Phản hồi lại sự kiện khi stimulus: + Có data mới đến + Có event -
Biểu diễn bởi đồ thị data-driven (chuyển từ sequence) và event-driven (state diagram) ->
kích hoạt bởi trigger(stimulus)
-------------------------------------------------------------------
Chương 7: Thiết kế kiến trúc
+ Kiến trúc nhỏ: chỉ bao gồm các class -> function
+Kiến trúc lớn: phức tạp -> non-function
minimize Coupling (độc lập giữa các class/module) và maximizing cohesion(tính gắn kết trong một class/module)
Quyết định thiết kế hệ thống gồm các tiêu chí:
+Hiệu suất: những thành phần kernel (trọng yếu) gom lại 1 chỗ, ít communication
+Bảo mật: Dùng kiến trúc tầng với tầng qutrong nằm bên trong tầng khác
+An Toàn: Tính năng quan trọng như (database) gom lại 1 chỗ
+Availability: duplicate module phân tán ra
+Dễ bảo trị: tách ra thành các giá trị nhỏ (fine-grain) dễ thay thế 
Views về Architecture (có nhiều view nhìu diagram) - Mô hình 4+1:
+ góc nhìn logic: gồm những object nào, thành phần nào
+ Process: có interaction nào
+ khi hoạt động (implementation): implement ntn, có bao nhíu class, class tương tác ntn
+ khi triển khai (deployment): triển khai trên hardware ntn, tầng mạng nào,… -
-> (chưa tương tác) -> +1 use-case 
Mẫu thiết kế (pattern): mô tả kiến trúc được người dùng dùng nhìu
+ MVC: model (database), view(giao diện), controller -> tách rời điều khiển và database
+ Layered: hệ thống thông tin
+ Reposity: cơ sở dữ liệu tập trung 1 nơi, tách ra thành các subsystem sử dụng database con
+ Client-Sever: cần hạ tầng mạng
+ Kiến trúc pipe and filter: dùng nhíu trong machine learning  Các kiểu application - Transaction - Event - Language
----------------------------------------------------------------------------
Chương 8: Thiết kế và hiện thực