oad vorlesung 01 introduction
TRANSCRIPT
-
8/2/2019 Oad Vorlesung 01 Introduction
1/15
Object-OrientedAnalysis & Design (OAD)
OAD Introduction
Alexander FelfernigInstitute for Software Technology
Inffeldgasse 16b/2
-
8/2/2019 Oad Vorlesung 01 Introduction
2/15
Goals
Introduction to OAD Start: 16.15h (16.00h c.t.)
Course exams: altogether >= 50% (butalso the individual exams >= 50%)
-2-
-
8/2/2019 Oad Vorlesung 01 Introduction
3/15
Software Systems model part of the real world
are often large and complex must be maintainable
must be highly reliable
must be user-friendly must be efficient
to build high-quality systems we need
a process with clearly defined activities (e.g., Unified Process)
techniques for supporting the activities (e.g., UML)
tools for generating the products (e.g., Visual Paradigm)
-3-
-
8/2/2019 Oad Vorlesung 01 Introduction
4/15
Successful Software
Development means understanding the
requirements
prioritizing therequirements
tracing the changes knowing the risks
assuring the qualityof artifacts
-4-Approximately 40% of the total project budget is related to rework
costs triggered by low-quality requirement definitions![1]
-
8/2/2019 Oad Vorlesung 01 Introduction
5/15
Software Process goal: producing high-quality products
in a disciplined process
described by a set of activities thattransform requirements into software
requirements state
services to be provided: functional requirements
non-functional requirements (e.g., response times,usability, etc.)
challenge: requirements are incomplete, notunderstandable, unstructured, inconsistent
first activity: OOA (Object Oriented Analysis)
-5-
-
8/2/2019 Oad Vorlesung 01 Introduction
6/15
Why OOA? understanding of
what we want todevelop
what? vs. how?(analysis vs. design)
scenario vs.integratedstate model
object model vs.relational algebra
-6-
-
8/2/2019 Oad Vorlesung 01 Introduction
7/15
Requirements Engineering main activity in OOA
requirements document: relevantrequirements for the software system
requirements capture: abstraction
classification: clustering & prioritization validation/verification: right requirements? / requirements right?
feasibility: resources available?
late error discovery triggers high costs!
next phase: OOD (Object Oriented Design)
-7-
-
8/2/2019 Oad Vorlesung 01 Introduction
8/15
Why OOD? understanding of
how we willdevelopthe software
integrated statemodel vs.implementation
OCL constraintsvs. implementation
relational algebravs. database
-8-
-
8/2/2019 Oad Vorlesung 01 Introduction
9/15
Design logical design
partitioning of requirements tocomponents
how do components interact?
detailed design
each component is designed individually
how does a component solve its tasks?
-9-
-
8/2/2019 Oad Vorlesung 01 Introduction
10/15
Effective Teams
-10-
For details see[3]
-
8/2/2019 Oad Vorlesung 01 Introduction
11/15
Roles in Team Analysts (A): eliciting and investigating
requirements (relationship with customer)
Developers (D): designing and implementingsoftware
Managers (M): managing and configuring the
software engineering process
Testers (T): testing the software
General (G): further activities if needed
-11-
-
8/2/2019 Oad Vorlesung 01 Introduction
12/15
Enterprise Applications support typical problem solving scenarios in
enterprises (e.g., online selling applications) in contrast to technical & scientific applications
in contrast to the system programming level (operatingsystems, hardware, computer networks, etc.)
are data-intensive high data volumes (e.g., millions of customers and items)
not (!) computational intensive (in contrast to technical &scientific applications )
are Input/Output (I/O)-intensive major role of data/information collection and retrieval
no complex underlying algorithms
-12-
-
8/2/2019 Oad Vorlesung 01 Introduction
13/15
Enterprise Applications are transaction oriented
information/data used in a distributed environment (e.g.,
www.amazon.com) for instance, essential for functionalities related to booking,
payment, etc.
are end user oriented
applicable for users with different educational background(usability aspects, etc.)
optimal support for working processes crucial (e.g.,recommendations)
flexibility/adaptability important (e.g., sales and marketingrules regarding the recommended items have to becontinuously adapted)
-13-
-
8/2/2019 Oad Vorlesung 01 Introduction
14/15
Types of E-Applications operative
day-to-day business, e.g., bookkeeping, ordermanagement, material management, recommendation, etc.
administration, lower-level management
tactic
key metrics, statistics, e.g., # of new customers per period,monthly turnover, etc.
upper-level management
strategic
planning, decision support, e.g., market forecasting
high-level management
-14-
-
8/2/2019 Oad Vorlesung 01 Introduction
15/15
References1. D. Leffingwell. Calculating the return on investment
from more effective requirements management.American Programmer, 10(4):1316, 1997.
2. D. Yang, D. Wu, S. Koolmanojwong, A. Brown, and B.Boehm. WikiWinWin: A Wiki Based System for
Collaborative Requirements Negotiation, HICCS, p. 24,2008.
3. E. Demirrs, G. Sarmasik, and O. Demirrs. The Role
of Teamwork in Software Development: Microsoft CaseStudy, 23rd EUROMICRO Conference New Frontiersof Information Technology, IEEE, pp. 129-133, 1997.
-15-