Weiter zum Dokument

SE2007 Lecture 2 - Vorlesungsnotizen 2

Lecture
Kurs

Einführung in die Softwaretechnik (IN0006) (0821022409)

174 Dokumente
Studierenden haben 174 Dokumente in diesem Kurs geteilt
Akademisches Jahr: 2010/2011
Hochgeladen von:
0Follower
2Uploads
2upvotes

Kommentare

Bitte logge dich ein oder registriere dich, um Kommentare zu posten.

Text Vorschau

Modeling with UML: Basic Notations Software Engineering I Lecture 2 18 April 2007 Prof. Bernd Bruegge, Ph. Applied Software Engineering Technische Universitaet Muenchen © 2007 Bernd Bruegge Software Engineering Summer 2007 1 Odds and Ends (1) • Registration for the Exercises • Started yesterday • Any problems? • Deadline for registration • Friday, April 20 at 12:00 • First group meeting: • Monday, April 23 at 10:00 © 2007 Bernd Bruegge Software Engineering Summer 2007 2 Overview for the Lecture © 2007 Bernd Bruegge Software Engineering Summer 2007 4 Overview for the Lecture • Three ways to deal with complexity • Abstraction and Modeling • Decomposition • Hierarchy • Introduction into the UML notation • First pass on: • • • • • Use case diagrams Class diagrams Sequence diagrams Statechart diagrams Activity diagrams © 2007 Bernd Bruegge Software Engineering Summer 2007 5 Abstraction • Complex systems are hard to understand • The 7 +- 2 phenomena • Our short term memory cannot store more than 7+-2 pieces at the same time -> limitation of the brain • TUM Phone Number: 498928918204 • Chunking: • Group collection of objects to reduce complexity • 4 chunks: • State-code, city-code, TUM-code, Office-Part © 2007 Bernd Bruegge Software Engineering Summer 2007 7 Abstraction • Complex systems are hard to understand • The 7 +- 2 phenomena • Our short term memory cannot store more than 7+-2 pieces at the same time -> limitation of the brain • TUM Phone Number: 498928918204 • Chunking: • Group collection of objects to reduce complexity • State-code, city-code, TUM-code, Office-Part TUM Phone Number State-Code © 2007 Bernd Bruegge City-Code Software Engineering Summer 2007 TUM-code Office-Part 8 Model • A model is an abstraction of a system • A system that no longer exists • An existing system • A future system to be built. © 2007 Bernd Bruegge Software Engineering Summer 2007 10 We use Models to describe Software Systems • Object model: What is the structure of the system? • Functional model: What are the functions of the system? • Dynamic model: How does the system react to external events? • System Model: Object model + functional model + dynamic model © 2007 Bernd Bruegge Software Engineering Summer 2007 11 Issue-Modeling Issue: What is the Center of the Universe? Proposal2: The sun! Proposal1: The earth! Pro: Pro: Aristotle says so. Pro: Con: Jupiter’s moons rotate around Jupiter, not around Earth. Copernicus says so. Change will disturb the people. © 2007 Bernd Bruegge Software Engineering Summer 2007 13 Issue-Modeling Issue: What is the Center of the Universe? Resolution (1615): The church decides proposal 1 is right Proposal2: The sun! Proposal1: The earth! Pro: Pro: Aristotle says so. Pro: Con: Jupiter’s moons rotate around Jupiter, not around Earth. Copernicus says so. Change will disturb the people. © 2007 Bernd Bruegge Software Engineering Summer 2007 14 2. Technique to deal with Complexity: Decomposition • A technique used to master complexity (“divide and conquer”) • Two major types of decomposition • Functional decomposition • Object-oriented decomposition • Functional decomposition • The system is decomposed into modules • Each module is a major function in the application domain • Modules can be decomposed into smaller modules. © 2007 Bernd Bruegge Software Engineering Summer 2007 16 Decomposition (cont’d) • Object-oriented decomposition • The system is decomposed into classes (“objects”) • Each class is a major entity in the application domain • Classes can be decomposed into smaller classes • Object-oriented vs. functional decomposition Which decomposition is the right one? © 2007 Bernd Bruegge Software Engineering Summer 2007 17 Functional Decomposition • The functionality is spread all over the system • Maintainer must understand the whole system to make a single change to the system • Consequence: • Source code is hard to understand • Source code is complex and impossible to maintain • User interface is often awkward and non-intuitive. © 2007 Bernd Bruegge Software Engineering Summer 2007 19

War dieses Dokument hilfreich?

SE2007 Lecture 2 - Vorlesungsnotizen 2

Kurs: Einführung in die Softwaretechnik (IN0006) (0821022409)

174 Dokumente
Studierenden haben 174 Dokumente in diesem Kurs geteilt
War dieses Dokument hilfreich?
1
© 2007 Bernd Bruegge Software Engineering Summer 2007
Modeling with UML:
Basic Notations
Prof. Bernd Bruegge, Ph.D.
Applied Software Engineering
Technische Universitaet Muenchen
Software Engineering I
Lecture 2
18 April 2007