SlideShare a Scribd company logo
UsingUML,Patterns,andJava
Object-OrientedSoftwareEngineering
Chapter 3, Project Organization
and Communication
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Pair of WiresBox 1 Box 2
A Communication Example
"Two missile electrical boxes manufactured by different
contractors were joined together by a pair of wires.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Box 1 Box 2
A Communication Example (continued)
Thanks to a particular thorough preflight check, it was discovered
that the wires had been reversed."
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
After the Crash...
...
"The postflight 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 5
“In fact, both of them had.”
Box 1 Box 2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Communication is important
In large system development efforts, you will spend more time
communicating than 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 during its
development phase.
♦ Collaboration: Negotiate requirements with the client and with
members from your team and other teams.
♦ Technical writing: Write part of the documentation of your
software
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Have to organize well for effective communication...
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
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 9
Project organizations
♦ Team based
♦ Interaction via reporting, decision, and communication
♦ Example organization
 Management team
 User Interface team
 Database team
 Control team
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
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 11
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 12
Schedule
♦ Mapping of tasks onto time with dependencies specified
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
Schedule – Gannt chart
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
Schedule – PERT chart
Storage subsystem
system analysis
1
Nov 13
5d
Nov 19
Storage subsystem
object design
2
Nov 20
5d
Nov 26
Storage subsystem
test plan
5
Nov 27
10d
Dec 10
Storage subsystem
implementation
3
Nov 27
15d
Dec 17

More Related Content

PPT
Ch07lect1 ud
PPT
Ch11lect1 ud
PPT
Ch10lect1 ud
PPT
Ch04lect1 ud
PPT
Ch01lect1 ud
PPT
Ch08lect3 ud
PPT
Ch10lect2 ud
PPT
Ch03lect2 ud
Ch07lect1 ud
Ch11lect1 ud
Ch10lect1 ud
Ch04lect1 ud
Ch01lect1 ud
Ch08lect3 ud
Ch10lect2 ud
Ch03lect2 ud

What's hot (20)

PPT
Ch08lect2 ud
PPT
Ch09lect2 ud
PPT
Ch09lect1 ud
PPT
Ch05lect1 ud
PPT
Ch06lect1 ud
PPT
Ch08lect1 ud
PPT
Ch02lect1 ud
PPT
Ch05lect2 ud
PPTX
PPT
Design Pattern For C# Part 1
PPTX
Design pattern
PPT
JAVA design patterns and Basic OOp concepts
PPT
Design Patterns
PPTX
Gof design patterns
PPT
Software Design Patterns
PPTX
Design patterns
PDF
Generative Software Development. Overview and Examples
PDF
DAE Tools 1.8.0 - Introduction
PDF
Design Patterns Presentation - Chetan Gole
PPTX
Software design patterns ppt
Ch08lect2 ud
Ch09lect2 ud
Ch09lect1 ud
Ch05lect1 ud
Ch06lect1 ud
Ch08lect1 ud
Ch02lect1 ud
Ch05lect2 ud
Design Pattern For C# Part 1
Design pattern
JAVA design patterns and Basic OOp concepts
Design Patterns
Gof design patterns
Software Design Patterns
Design patterns
Generative Software Development. Overview and Examples
DAE Tools 1.8.0 - Introduction
Design Patterns Presentation - Chetan Gole
Software design patterns ppt
Ad

Viewers also liked (10)

PPT
ASP.NET System design 2
PPT
Abbott's Textual Analysis : Software Engineering 2
PPT
organization charts....rules
PDF
Object Modeling with UML: Behavioral Modeling
PDF
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
PPT
Texture mapping
PPTX
Object Oriented Software Engineering
PDF
2-Software Design (Object Oriented Software Engineering - BNU Spring 2017)
PDF
3-Software Anti Design Patterns (Object Oriented Software Engineering - BNU S...
PDF
Object oriented software engineering concepts
ASP.NET System design 2
Abbott's Textual Analysis : Software Engineering 2
organization charts....rules
Object Modeling with UML: Behavioral Modeling
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Texture mapping
Object Oriented Software Engineering
2-Software Design (Object Oriented Software Engineering - BNU Spring 2017)
3-Software Anti Design Patterns (Object Oriented Software Engineering - BNU S...
Object oriented software engineering concepts
Ad

Similar to Ch03lect1 ud (20)

PPT
Software Engineering Lec 3-project managment
PPT
software engineering chapte r one Btech
PPT
ch01lect1.ppt
PPT
Lo 11
PPT
L30_Project_Organization_ch13lect1.ppt
PPT
OOSE Ch1 Introduction
PPT
L35_LifecycleModeling_ch15lect1.ppt
PPT
L35_LifecycleModeling_ch15lect1.ppt
PPTX
OOSE-UNIT-1.pptx
PPT
Ch14lect4 (1)
PPT
Health
PPT
Software Engineering Lec 2
PPT
Lo 06
PPT
uml moddelling ,use case,class diagram,interaction diagrametc.
PPT
UML and Machine Theory with examples and
PPT
Sequence of Unified modelling language for MSA
PPT
Sequence diagram to assist learners to understand UML
PPT
ch02lect1.ppt
PPT
ch02lect1.ppt learning education for all students
PPT
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
Software Engineering Lec 3-project managment
software engineering chapte r one Btech
ch01lect1.ppt
Lo 11
L30_Project_Organization_ch13lect1.ppt
OOSE Ch1 Introduction
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
OOSE-UNIT-1.pptx
Ch14lect4 (1)
Health
Software Engineering Lec 2
Lo 06
uml moddelling ,use case,class diagram,interaction diagrametc.
UML and Machine Theory with examples and
Sequence of Unified modelling language for MSA
Sequence diagram to assist learners to understand UML
ch02lect1.ppt
ch02lect1.ppt learning education for all students
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt

Ch03lect1 ud

  • 2. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Pair of WiresBox 1 Box 2 A Communication Example "Two missile electrical boxes manufactured by different contractors were joined together by a pair of wires.
  • 3. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Box 1 Box 2 A Communication Example (continued) Thanks to a particular thorough preflight check, it was discovered that the wires had been reversed."
  • 4. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 After the Crash... ... "The postflight analysis revealed that the contractors had indeed corrected the reversed wires as instructed."
  • 5. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 “In fact, both of them had.” Box 1 Box 2
  • 6. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Communication is important In large system development efforts, you will spend more time communicating than 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 during its development phase. ♦ Collaboration: Negotiate requirements with the client and with members from your team and other teams. ♦ Technical writing: Write part of the documentation of your software
  • 7. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Have to organize well for effective communication...
  • 8. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 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
  • 9. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Project organizations ♦ Team based ♦ Interaction via reporting, decision, and communication ♦ Example organization  Management team  User Interface team  Database team  Control team
  • 10. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 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 ...
  • 11. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 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) ...
  • 12. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Schedule ♦ Mapping of tasks onto time with dependencies specified
  • 13. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Schedule – Gannt chart
  • 14. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Schedule – PERT chart Storage subsystem system analysis 1 Nov 13 5d Nov 19 Storage subsystem object design 2 Nov 20 5d Nov 26 Storage subsystem test plan 5 Nov 27 10d Dec 10 Storage subsystem implementation 3 Nov 27 15d Dec 17