ch03lect1 ud

14
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication

Upload: ahmet-balkan

Post on 31-Oct-2014

449 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ch03lect1 ud

Usi

ng U

ML

, Pat

tern

s, a

nd J

ava

Ob

ject

-Ori

ente

d S

oftw

are

En

gin

eeri

ng

Chapter 3, Project Organization and Communication

Page 2: Ch03lect1 ud

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.

Page 3: Ch03lect1 ud

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."

Page 4: Ch03lect1 ud

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."

Page 5: Ch03lect1 ud

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

Page 6: Ch03lect1 ud

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

Page 7: Ch03lect1 ud

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7

Have to organize well for effective communication...

Page 8: Ch03lect1 ud

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

Page 9: Ch03lect1 ud

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

Page 10: Ch03lect1 ud

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 ...

Page 11: Ch03lect1 ud

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) ...

Page 12: Ch03lect1 ud

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12

Schedule

Mapping of tasks onto time with dependencies specified

Page 13: Ch03lect1 ud

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13

Schedule – Gannt chart

Page 14: Ch03lect1 ud

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14

Schedule – PERT chart

Storage subsystemsystem analysis1Nov 13

5dNov 19

Storage subsystemobject design2Nov 20

5dNov 26

Storage subsystemtest plan5Nov 27

10dDec 10

Storage subsystemimplementation3Nov 27

15dDec 17