Lecture for Chapter 3, Project Organization and Communication

advertisement
Using UML, Patterns, and Java
Object-Oriented Software Engineering
Chapter 3, Project Organization
and Communication
A Communication Example
Two missile electrical boxes manufactured by different
contractors were joined together by a pair of wires.
Box 1
Bernd Bruegge & Allen H. Dutoit
Pair of Wires
Object-Oriented Software Engineering: Using UML, Patterns, and Java
Box 2
2
A Communication Example (continued)
Thanks to a particular thorough preflight check, it was discovered
that the wires had been reversed."
Box 1
Bernd Bruegge & Allen H. Dutoit
Box 2
Object-Oriented Software Engineering: Using UML, Patterns, and Java
3
After the Crash...
...
The post-flight analysis revealed that the contractors had indeed
corrected the reversed wires as instructed.
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
4
A Communication Example (continued)
In fact, both of them had!
Box 1
Bernd Bruegge & Allen H. Dutoit
Box 2
Object-Oriented Software Engineering: Using UML, Patterns, and Java
5
Communication is important
You will spend more time communicating than modeling and
coding
A software engineer needs to learn the so-called soft skills:
technical writing, reading documentation, communication,
collaboration, management, presentations.
It’d be nice for each of you to (acquire and) demonstrate the
following skills:
 Management: Run a team meeting
 Presentation: Present a major aspect of your project
 Collaboration: Negotiate requirements with the client and with
members from your team
 Technical writing: Write part of the documentation
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
6
Have to organize well for effective communication...
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
7
Project components (developer’s perspective)

Work product
 Piece of code, a UC model, a design document, deliverables (to the
client) ...

Schedule
 Intermediate (internal) deadlines
 Alpha, beta, public release dates
 Project management software

Participant / project member
 Developer, tester, technical writer, product manager ...

Task
 Design a component, test a component, fix a bug, write User’s Guide
...
 Issue tracking software
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
8
Project organizations



Team based
Interaction via reporting, decision, and communication
Example organization





Management team
User Interface team
Design / architecture team
Database team
Quality assurance team
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
9
Roles


Each member may assume multiple roles
Role types
 Management roles

Project manager, team leader ...
 Development roles

System architect, object designer, implementor, tester ...
 Cross-functional roles

API engineer, document editor, configuration manager, tester ...
 Consultant roles

Client, end-user, application domain specialist, solution domain
specialist ...
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
10
Tasks and work products

Task: well-defined work assignment for a role
 Design a component, test a component, fix a bug, write User’s Guide
...

Work product: tangible item resulting from a task
 Piece of code, a UC model, a design document, deliverables (to the
client) ...
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
11
Schedule

Mapping of tasks onto time with dependencies specified
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
12
Schedule – Gannt chart
Bernd Bruegge & Allen H. Dutoit
Object-Oriented Software Engineering: Using UML, Patterns, and Java
13
Schedule – PERT chart
Sto rage sub syst em
sys tem anal ysis
1
5d
Nov 13
Nov 19
Bernd Bruegge & Allen H. Dutoit
Sto rage sub syst em
obj ect desi gn
2
5d
Nov 20
Nov 26
Object-Oriented Software Engineering: Using UML, Patterns, and Java
Sto rage sub syst em
tes t pl an
5
10d
Nov 27
Dec 10
Sto rage sub syst em
imp leme ntat ion
3
15d
Nov 27
Dec 17
14
Download