software eng 1

Upload: genius1507

Post on 03-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Software Eng 1

    1/7

    SOFTWARE PROJECT

    Software Process Model

    IF UNS 2010

    Software Process

    The roadmap to building high quality software

    Adapted to meet the needs of software engineers andmanagers

    Provides a framework1 for managing activities

    Different types of projects require different softwareprocesses

    Work products are produced by the software process

    The best indicators of how well a software process hasworked are the quality, timeliness, and long-termviability1 of the resulting software product

    1 kerangka (kerja) 2 kelangsungan hidup

    Common Process Framework

    Communication customer collaboration and requirement gathering

    Planning establishes engineering work plan, describes technical risks, lists

    resource requirements, work products produced, and defines

    Modeling creation of models to help developers and customers

    understand the requires and software design

    Construction code generation and testing

    Deployment software delivered for customer evaluation and feedback

    SE Umbrella Activities

    Software project tracking and control

    Risk management

    Software quality assurance

    Measurement

    Software configuration management

    Reusability management

    Work product preparation and production

  • 7/29/2019 Software Eng 1

    2/7

    Software Engineering Institute (SEI)

    Capability Maturity Model Integration (CMMI)

    5th levelOptimized

    4th levelQuantitatively

    Managed

    3r level Defined

    2nd level Managed

    1st

    level Performed

    0-level Incomplete/Initiate

    SEI CMMIwww.sei.cmu.edu/cmmi

    Level 0: Incomplete process is not performed or does not achieve all goals defined for level 1

    Level 1: Performed work tasks required to produce required work products are being conducted

    Level 2: Managed people doing work have access to adequate resources to get job done, stakeholders are

    actively involved, work tasks and products are monitored, reviewed, and evaluated forconformance to rocess descri tion

    Level 3: Defined management and engineering processes documented, standardized, and integrated into

    organization-wide software process

    Level 4: Quantitatively Managed software process and products are quantitatively understood and controlled using detailed

    measures

    Level 5: Optimizing continuous process improvement is enabled by quantitative feedback from the process and

    testing innovative ideas

    SEI CMMI Focus

    Level Focus

    Optimized Continuous process improvement

    Quantitatively Managed Quantitative Management

    Defined Process Standardization

    Managed Basic Project Management

    Performed

    The Primary GOAL:

    High Quality

    Remember:

    High quality = projects timeliness

    Why?

    Less rework!

  • 7/29/2019 Software Eng 1

    3/7

    Process Model

    Prescriptive Models

    Specialized Models

    Unified Process

    Prescriptive Models

    Originally proposed to bring order to the chaos of

    software development Called prescriptive because:prescribe a set of process elements (activities, actions,

    tasks, work products, quality assurance etc for eachpro ect

    each process model also prescribes a workflow

    They brought order to software engineering work andprovide reasonable guidance to software teams

    Yet, they have not provided a definitive answer to theproblems of software development in an ever changingcomputing environment

    Prescriptive Models

    The Waterfall Model

    Incremental Model

    Evolutionary Process Model

    The Waterfall Model

    Also called as Sequence Linear model

    old fashioned but reasonable approach when

    requirements are well understood/defined

  • 7/29/2019 Software Eng 1

    4/7

    The Waterfall model

    Analysis Design Implementation Testing

    System/information

    engineering

    The Waterfall model

    Analysis

    Design

    Implementation

    Testing

    The waterfall model challenge

    Inflexible partitioning of the project into distinctstages makes it difficult to respond to changing

    customer requirements. Therefore, this model is only appropriate when-

    changes will be fairly limited during the designprocess.

    Few business systems have stable requirements.

    The waterfall model is mostly used for large

    systems engineering projects where a system isdeveloped at several sites.

    Incremental Model

    Incremental Model

    delivers software in small but usable pieces, each

    piece builds on pieces already delivered

    Model

    makes heavy use of reusable software

    components with an extremely short

    development cycle

  • 7/29/2019 Software Eng 1

    5/7

    Incremental model

    Analysis Design Implementation Testing

    System/information

    engineering

    Analysis DesignImplementati

    onTesting

    Analysis DesignImplementati

    onTesting

    RAD Model

    Analysis

    Design

    Analysis

    Design

    Implementation

    Testing

    Testing

    Team #1

    Team #n

    Evolutionary Process Model

    Prototyping Modelgood first step when customer has a legitimate need,

    but is clueless about the details, developer needs toresist pressure to extend a rough prototype into aproduction product

    Spiral Modelcouples iterative nature of prototyping with the

    controlled and systematic aspects of the linearsequential model

    Concurrent Development Model

    similar to spiral model often used in development ofclient/server applications

    Discussion

    Incremental Model Problem ?

    RAD Model Problem ?

    Prototyping Model Problem ?

    Spiral Model Problem ?

    Concurrent Development Problem ?

  • 7/29/2019 Software Eng 1

    6/7

    Discussion

    Incremental Model Applicability ?

    RAD Model Applicability ?

    Prototyping Model Applicability ?

    Spiral Model Applicability ?

    Concurrent Development Applicability ?

    Specialized Process Model

    Component-Based Development

    spiral model variation in which applications are builtfrom prepackaged software components called classes

    Formal Methods Model ,

    design, and verify computer-based systems

    Aspect-Oriented Programmingprovides a process for defining, specifying, designing,

    and constructing software aspects like user interfaces,security, and memory management that impact manyparts of the system being developed

    CBSE

    Based on systematic reuse where systems areintegrated from existing components or COTS

    (Commercial-off-the-shelf) systems. Process stages

    Component analysis;

    Requirements modification;

    System design with reuse;

    Development and integration.

    This approach is becoming increasingly used ascomponent standards have emerged

    Unified Process Model

    Use-case driven, architecture centric, iterative, andincremental software process

    Attempts to draw on best features of traditionalsoftware process models and implements many

    Phases Inception phase (customer communication and planning

    Elaboration phase (communication and modeling)

    Construction phase

    Transition phase (customer delivery and feedback)Production phase (software monitoring and support)

  • 7/29/2019 Software Eng 1

    7/7

    UP: Iteration and Workflow

    Business Modeling

    Analysis & Design

    Phases

    Process Workflows

    Requirements

    Elaboration TransitionInception Construction

    Management

    Environment

    Implementation

    Test

    Preliminary

    Iteration(s)

    Iter.

    #1

    Supporting Workflows

    Iter.

    #2

    Iter.

    #n

    Iter.

    #n+1

    Iter.

    #n+2

    Iter.

    #m

    Iter.

    #m+1

    Deployment

    Configuration Mgmt

    UP Work Products

    Inception phase Vision document

    Initial use-case model

    Inial project glossary Inial business case Inial risk assessment

    Elaboration phase Use-case model Funconal and non-

    functional requirements

    Analysis model Soware architecture

    Project plan (phases anditerations)

    Business model Prototypes

    escr pt on

    Executable architecturalprototype

    Preliminary design model Revise risk list Project plan (iteraon plan,workflow, milestones)

    Preliminary user manual

    UP Work Products

    Construction phase

    Design model Soware components Integrated soware

    Transition phase

    Delivered sowareincrement

    Beta test reports increment

    Test plan Test cases Support documentaon

    (user, installation,

    increment)

    User feedback