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

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  
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  
Version 1.0  
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
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
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
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
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 spe/euros wisely  
on high value products  
6
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
Component Diagram  
id Component View  
OrderProcessing  
read  
writeQ  
«table»  
MailQueue  
1
1
NewOrders  
1
readQ  
1
1
SendEmail  
1
CustomerSystem  
OrderQueue  
1
send  
1
readQ  
MailServer  
OrderSystem  
8
Class Diagram  
cd OrderProcessing  
OrderReader  
QueueWriter  
1
1
1
1
1
Valida
Store  
9
Sequence Diagram  
sd Interactions  
OrderReader  
Validate  
Store  
QueueWriter  
NewOrders  
CustomerSystem  
OrderQueue  
MailQueue  
readOrderData  
success:=  
validateOrder  
success:=  
newOrder  
success:=  
storeOrder  
success:=  
writeQueue  
success:=  
writeQueue  
10  
Deployment Diagram  
11  
Component Interfaces  
id Component View  
OrderProcessing  
QueueWrite  
JDBC  
«table»  
MailQueue  
NewOrders  
QueueRead  
QueueWrite  
SendEmail  
OrderQueue  
CustomerServices  
SMTP  
QueueRead  
MailServer  
CustomerSystem  
OrderSystem  
12  
Component Decomposition  
id Component View  
cd Component View  
OrderProcessing  
JDBC  
QueueWrite  
«table»  
MailQueue  
OrderProcessing  
NewOrders  
getOrders  
writeConfirmation  
«delegate»  
qw:  
QueueWriter  
validateOrder writeOrder  
or: OrderReader  
val: Validate  
«delegate»  
QueueRead  
writeConfirmation  
OrderQueue  
st: Store  
SMTP  
CustomerServices  
QueueRead  
«delegate»  
validateOrder  
«delegate»  
MailServer  
writeOrder  
validate  
CustomerSystem  
OrderSystem  
ProvidedInterface1  
13  
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  
Template Headings  
Architecture Documentation Template  
Project Name: XXX  
1
Project Context  
2
Architecture Requirements  
Overview of Key Objectives  
Architecture Use Cases  
Stakeholder Architectural Requirements  
Constraints  
Non-functional Requirements  
Risks  
Solution  
2.1  
2.2  
2.3  
2.4  
2.5  
2.6  
3
3.1  
3.2  
3.3  
3.4  
3.5  
4
Relevant Architectural Patterns  
Architecture Overview  
Structural Views  
Behavioral Views  
Implementation Issues  
Architecture Analysis  
Scenario analysis  
4.1  
4.2  
Risks  
15  
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  
pdf 16 trang yennguyen 20540 Free
Bạn đang xem tài liệu "Bài giảng Kiến trúc phần mềm - Chương: 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

File đính kèm:

  • pdfbai_giang_kien_truc_phan_mem_chuong_tai_lieu_kien_truc_phan.pdf