oad vorlesung 01 introduction

Upload: flitsch

Post on 06-Apr-2018

240 views

Category:

Documents


0 download

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-