Bài giảng Kiến trúc phần mềm - Bài 7: Tài liệu kiến trúc phần mềm - Trần Minh Triết

Nội dung của bài giảng sử dụng:

Session 6:

Documenting a Software Architecture

trong bộ slide Software Architecture Essential

của GS. Ian Gorton

Software Engineering Institute

Carnegie Mellon University

pdf 16 trang phuongnguyen 11840
Bạn đang xem tài liệu "Bài giảng Kiến trúc phần mềm - Bài 7: Tài liệu kiến trúc phần mềm - Trần Minh Triết", để 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 Kiến trúc phần mềm - Bài 7: Tài liệu kiến trúc phần mềm - Trần Minh Triết

Bài giảng Kiến trúc phần mềm - Bài 7: Tài liệu kiến trúc phần mềm - Trần Minh Triết
CTT526 - Kiến trúc phần mềm
Tài liệu 
kiến trúc phần mềm
PGS.TS. Trần Minh Triết
tmtriet@fit.hcmus.edu.vn 
Trường Đại học Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
Bộ môn Công Nghệ Phần Mềm
Version 1.0 CuuDuongThanCong.com https://fb.com/tailieudientucntt
 Nội dung của bài giảng sử dụng:
Session 6:
Documenting a Software Architecture
trong bộ slide Software Architecture Essential
của GS. Ian Gorton 
Software Engineering Institute
Carnegie Mellon University
2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Architecture Documentation
 Architecture documentation is a thorny issue
 Commonly there is no documentation covering the 
architecture. 
 If it is, it’s out-of-date, inappropriate and basically not 
very useful. 
 Also projects that have masses of architecture related 
information 
 Sometimes invaluable, but often it’s out-of-date, 
inappropriate and not very useful! 
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Documenting an Architecture is 
good!
 Others can understand/evaluate the design. 
 We can understand the design after a period of time.
 Others in the project team and development 
organization can learn from the architecture.
 We can do analysis on the design, perhaps to assess 
its likely performance, or to generate standard metrics.
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
But it’s difficult 
 No universally accepted architecture 
documentation standard. 
 An architecture can be complex, and documenting 
it in a comprehensible manner is time consuming 
and non-trivial. 
 An architecture has many possible views. 
Documenting all the potentially useful ones is time 
consuming and expensive.
 An architecture design often evolves Keeping the 
architecture documents current is often forgotten, 
especially with time and schedule pressures in a 
project.
5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Think carefully about what to 
document
 Project complexity
 A small project may only need a ‘marketecture’
 Project longevity
 One-off stop gap software?
 Strategic, long-term, will evolve?
 Needs of stakeholders
 Small team, a whiteboard might be ok
 Large, dislocated team needs more
 Integrators? Testers? Programmers?
 Need to spend documentation dollars/euros wisely 
on high value products
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UML 2.0
 UML is a powerful way to document an architecture
 Provides a relatively formal, unambiguous description
 New features in UML 2.0 appropriate for architectures
 Good tools available, some free
 Can be used to depict various structural/behavioral 
architecture views
7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Component Diagram
8
id Component View
OrderProcessing
MailQueue
SendEmail
MailServer
OrderSystem
CustomerSystem OrderQueue
«table»
NewOrders
1
validate
1
readQ
1
writeQ
1
read
1
send
1
1
readQ
1
1
writeQ
1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Class Diagram
9
cd OrderProcessing
OrderReader
Validate Store
QueueWriter
1
1
1 1
1
1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sequence Diagram
10
sd Interactions
OrderReader
MailQueue
Validate
OrderQueue
Store QueueWriter
NewOrders CustomerSystem
readOrderData
success:=
validateOrder
success:=
newOrder
success:=
storeOrder
success:=
writeQueue
success:=
acknowledgeOrderSuccess
success:=
writeQueue
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Deployment Diagram
11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Component Interfaces
12
id Component View
OrderProcessing
MailQueue
SendEmail
MailServer
OrderSystem
CustomerSystem
OrderQueue
«table»
NewOrders
JDBC
SMTP
QueueRead
QueueRead
QueueWrite
CustomerServices
QueueWrite
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Component Decomposition
13
id Component View
OrderProcessing
validateOrder
getOrders writeConfirmation
writeOrder
MailQueue
SendEmail
MailServer
OrderSystem
CustomerSystem
validate
ProvidedInterface1
OrderQueue
«table»
NewOrders
JDBC
QueueWrite
QueueWrite
CustomerServices SMTP
QueueRead
QueueRead
cd Component View
OrderProcessing
getOrders
validateOrder
writeConfirmation
writeOrder
or: OrderReader
val: Validate
qw: 
QueueWriter
st: Store
«delegate»
«delegate»
«delegate»
«delegate»
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Document Template
 Documentation is easier if there’s a template to use
 Reduces start-up time for projects by providing 
ready-made document structures 
 familiarity gained with the document structure aids in 
the efficient capture of project design details. 
 help with the training of new staff
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Template Headings
15
Architecture Documentation Template
Project Name: XXX
1 Project Context
2 Architecture Requirements
2.1 Overview of Key Objectives
2.2 Architecture Use Cases
2.3 Stakeholder Architectural Requirements
2.4 Constraints
2.5 Non-functional Requirements
2.6 Risks
3 Solution
3.1 Relevant Architectural Patterns
3.2 Architecture Overview
3.3 Structural Views
3.4 Behavioral Views
3.5 Implementation Issues
4 Architecture Analysis
4.1 Scenario analysis
4.2 Risks
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Summary
 Some documentation is nearly always a good idea
 Trick is to produce ‘just enough’ and no more
 requires upfront planning and thinking 
 Commitment to keeps docs current
 UML 2.0 makes architecture documentation easier
 Some good UML 2.0 tools, try ‘em out.
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt

File đính kèm:

  • pdfbai_giang_kien_truc_phan_mem_bai_7_tai_lieu_kien_truc_phan_m.pdf