Architecture Studio Application

abusivefroggeryΛογισμικό & κατασκευή λογ/κού

16 Νοε 2012 (πριν από 4 χρόνια και 8 μήνες)

311 εμφανίσεις



















Architecture Studio

Team Sandcastle




Architectural
Design

Technical
Constraints

Business
Constraints

Quality
Attributes

Use Cases

T
-
Check
Results

Experiment
Results

Client
Inputs

Inspection
Meetings

Architecture

Key Takeaways



Inspect architecture against requirements and
iterate.



Customize ACDM for your team.



Decide on third party dependencies early.

Semester Goals



Complete architecture specification



Complete UI specification



Learn development technologies

Stage 3
Create/Refine
Architecture

Stage 4

Review
Architecture

Stage 5

Decide
Go/No
-
Go

Stage 6
Experiment

Library choices



NetBeans



Graphics2D



GMF

GMF

Process



4 ACDM cycles



2 week iterations



Weekly status meetings



Weekly stand
-
up meetings

0
200
400
600
800
1000
1200
1/12
2/12
3/12
4/12
Hours
Available
Semester
Planned
Value
Analyze
requirements

Detailed Design

Code

Test

Launch

Strategy

Planning

Implementation

Postmortem

TSPi

Cycle

Create
Detailed
Design

Team
Inspection

Inspection

(Team or
Peer)

Write
Functional Test

System test

Analyze
requirements

Experiment


(if necessary)

Code

Non
-
TSPi activities

TSPi

activities

Functional
test

Cycle 0


Learn TSPi and technologies


Set up development environment

Cycle 1


Implement base functionality

Cycle 2


Implement complex functionality

Cycle 3


Finish up all must have requirements


Deliver the product

3 weeks

4 weeks

4 weeks

1 week

1
1.5
2
2.5
3
3.5
4
2
4
6
8
10
12
Rating (1 to 4)

Weeks

Scoreboard

Productivity
Quality
Team Morale
Team Work
Metrics

Semester Goals



Learn quality management and deliver a quality product



Run a productive and well managed project



Deliver software with all must
-
have requirements



Learn process (
TSPi
)

Performance Tracking Key Takeaways



Customize defect metrics to what make sense to you.



Set measurement goals first, then collect data.



Use checklists during inspections.

Implementation Key Takeaways



Inspect critical design areas as a team.



Establish standards early, and follow them.



Work on the highest risks first.

Requirements

Elicitation and
Refinement

Client
documents

Client
meetings

Looked at
similar
products

Contextual
design

Paper
prototyping

User
Environment
Design

ACDM
book

Software
Architectures
course

Architectural
Drivers
Specification
inspections

Stage 1

Discover Architectural
Drivers

Stage 2

Establish Scope

Semester Goals



Gather requirements



Apply ACDM



Define and refine process

Key Takeaways



Ensure that the client and everyone on the team has

the same understanding of the requirements.



Prioritize the requirements with the client to refine

the scope of the project.



Inspect the requirements documents to improve the

quality of the documents, spread knowledge, and


clear confusion.



2 week iterations



Weekly status meetings

MSE 2009

Requirements

Implementation

Process

Process

Planning has a lot of overhead, but it definitely pays off.

Avoid analysis paralysis. Instead, decide on doing something, track it, and

gradually improve it.

Document your process in a way that’s easy to maintain and follow

(make use of checklists and process scripts).

Client


Architecture Studio is a standalone

desktop based application that allows

architects to document requirements and

architectural design diagrams for software

systems.


The application encourages good architectural

design practices by allowing architects to

document various aspects of the design

following the practices of the Architecture

Centric Design Method (ACDM).

Key Features



Capture requirements



Draw design diagrams



Manage element and relationship catalogs



Use custom notations



Export as document

Introduction

Mentors


Mel Rosso
-
Llopart

Matt Bass

Gabe Moreno

Team

Jaffer Haider

Soo
-
Yung Cho

Guido Zgraggen

Benjamas

Chotemateepirom

Samuel Ahn



Define and prioritize team and project goals.



Ensure that the team buys into the plan.



Plan at multiple levels
-

semester, iteration, week.



Tailor processes to your needs, but justify changes.



Have postmortem meetings; they are critical for improving processes.



Define roles, role goals, and responsibilities; beware of overlapping


responsibilities and poorly defined responsibilities.



Don't be afraid to try new things.



Prepare for semester transitions; otherwise you'll lose a lot of time.



Discuss team goals and personal goals and make sure they are in harmony.

General Takeaways

Process Takeaways

Planning Takeaways

Output

Output

Architecture Specification

User Interface Specification

Paper Prototype

Output

Architectural Drivers Specification



Use Cases



Quality Attribute Scenarios



Technical Constraints



Business Constraints

Tony Lattanze

Fall 08

Summer 09

Spring 09

0
0.5
1
1.5
2
2.5
3
Detailed
Design
Inspection
Personal
Code Review
Code
Inspection
Defects Removed per Hour

cycle 1
cycle 2
cycle 3
Code

24%

Design

19%

Experiment

13%

Design
inspection

11%

Miscellaneous

11%

Testing

11%

Bug fixing

11%

Time Allocation

Final Product