ch06lect1_UD - Using UML, Patterns, and Java...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6  System Design: Decomposing the  System
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Design is Difficult There are two ways of  constructing a software design  (Tony Hoare):  One way is to make it so simple that  there are obviously no deficiencies The other way is to make it so  complicated that there are no  obvious deficiencies.” Corollary (Jostein Gaarder): If our brain would be so simple that  we can understand it, we would be  too stupid to understand it. Sir Antony Hoare, * 1934 - Quicksort - Hoare logic for verification - CSP ( Communicating Sequential Processes) : modeling language for concurrent processes (basis for Occam ) . Jostein Gardner, * 1952, writer Uses metafiction in his stories: Fiction which uses the device of fiction - Best known for: „Sophie‘s World“.
Background image of page 2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Why is Design so Difficult? Analysis:  Focuses on the application domain Design:  Focuses on the solution domain The solution domain is changing very rapidly  Halftime knowledge in software engineering: About 3-5  years Cost of hardware rapidly sinking Design knowledge is a moving target Design window:  Time in which design decisions have to  be made.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 The Scope of System Design Bridge  the gap  between a problem and an  existing system in a  manageable way Problem  Existing System System Design How?  Use Divide & Conquer: 1) Identify design goals 2) Model the new system   design as a set of  subsystems 3-8) Address the major  design goals. 
Background image of page 4
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 System Design: Eight Issues System Design 2. Subsystem Decomposition Layers vs Partitions Coherence & Coupling 4. Hardware/ Software Mapping Identification of Nodes Special Purpose Systems Buy vs Build Network Connectivity 5. Persistent Data Management Storing Persistent Objects Filesystem vs Database Access Control ACL vs Capabilities Security 6. Global Resource Handlung 8. Boundary Conditions Initialization Termination Failure. 3. Identify Concurrency Identification of Parallelism (Processes, Threads) 7. Software Control Monolithic Event-Driven Conc. Processes 1. Identify Design Goals Additional NFRs Trade-offs
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 How the Analysis Models influence System  Design Nonfunctional Requirements  => Definition of Design Goals  Functional model  => Subsystem Decomposition Object model  => Hardware/Software Mapping, Persistent Data Management
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 53

ch06lect1_UD - Using UML, Patterns, and Java...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online