new presentation process models

Upload: anshumanmahapatra

Post on 09-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 New Presentation Process Models

    1/21

    S.E process modelsS.E process models

    (advanced seminar).(advanced seminar).

    by:by:Anshuman Mahapatra.Anshuman Mahapatra.

  • 8/8/2019 New Presentation Process Models

    2/21

    Process models.Process models.

    We would have a look at three broad categories ofWe would have a look at three broad categories of

    process models in this presentation:process models in this presentation:

    1.1. Traditional models.Traditional models.

    2.2. Agile models.Agile models.

    3.3. Innovative models.Innovative models.

  • 8/8/2019 New Presentation Process Models

    3/21

    Traditional process models.Traditional process models.

  • 8/8/2019 New Presentation Process Models

    4/21

    Waterfall modelWaterfall model

    Can be represented or graphically modelled as a cascade.Can be represented or graphically modelled as a cascade.

    Advantages:Advantages:

    simple, easy to execute, requirement already defined..simple, easy to execute, requirement already defined..

    Disadvantages:Disadvantages:

    blocking states, no change, no customer feedback, inconsistent.blocking states, no change, no customer feedback, inconsistent.

    Suitable for:Suitable for:

    --simple hardware products.simple hardware products.

    Not suitable for:Not suitable for:

    software products because of the complexity issue.software products because of the complexity issue.

  • 8/8/2019 New Presentation Process Models

    5/21

    Incremental modelIncremental model

    Combines elements ofCombines elements ofwater fall modelwater fall model applied in anapplied in an interactive fashioninteractive fashion..

    AdvantageAdvantagess

    not require complete instructions, feedbacknot require complete instructions, feedback

    DisadvantagesDisadvantages

    less defined objective, problems to future.less defined objective, problems to future.

    Suitable forSuitable for--

    risky to develop whole project at oncerisky to develop whole project at once

    Not suitable forNot suitable for--

  • 8/8/2019 New Presentation Process Models

    6/21

    OOP ModelOOP Model Involves development of applications in slices rather than layers.Involves development of applications in slices rather than layers.

    Advantages :Advantages :

    Reduced complexityReduced complexity

    Increased reusabilityIncreased reusability

    Disadvantages :Disadvantages :

    Limited to only oop oriented languages.Limited to only oop oriented languages.

    Suitable for :Suitable for : OOP programming language based applications.OOP programming language based applications.

    Not suitable :Not suitable :

    Applications with more integrated components.Applications with more integrated components.

  • 8/8/2019 New Presentation Process Models

    7/21

    CMMI ModelCMMI Model

    Involves continuous processInvolves continuous process improvementimprovement..

    Advantages:Advantages:

    -- helps a process grow and makes it flexible.helps a process grow and makes it flexible.

    -- reduces the chances of system errors.reduces the chances of system errors.

    Disadvantages:Disadvantages:

    -- takes a lot of time.takes a lot of time.

    -- lasting changes need continuous efforts.lasting changes need continuous efforts.

    Suitable for:Suitable for:

    -- Projects with long time in hand for completion.Projects with long time in hand for completion.

    Not suitable for:Not suitable for: Projects that have strict specifications.Projects that have strict specifications.

  • 8/8/2019 New Presentation Process Models

    8/21

    Evolutionary models.Evolutionary models.

    These models are developed after a gradual developmentalThese models are developed after a gradual developmentalprocess.process.

    Development takes place in stages.Development takes place in stages.

    Involves two main process models:Involves two main process models:

    Rapid prototyping model.Rapid prototyping model.

    Spiral modelSpiral model

  • 8/8/2019 New Presentation Process Models

    9/21

    Rapid prototyping modelRapid prototyping model

    Involves building a working replica of the entire system.Involves building a working replica of the entire system.

    Advantages:Advantages:

    Requires short time period generally {60Requires short time period generally {60--90 days}.90 days}.

    Disadvantages:Disadvantages:

    Sufficient work power needed and must work with equal speed.Sufficient work power needed and must work with equal speed.

    Building components problematic if not modularised properly.Building components problematic if not modularised properly.

    Suitable for:Suitable for: Large projects with tight time frame.Large projects with tight time frame.

    Not suitable for:Not suitable for:

    applications with high technical risks.applications with high technical risks.

  • 8/8/2019 New Presentation Process Models

    10/21

    Spiral model.Spiral model. Combination of waterfall and iterative prototyping models, more rapid inCombination of waterfall and iterative prototyping models, more rapid in

    nature.nature.

    Advantages:Advantages:

    Most realistic, controls cost risks, early functionality.Most realistic, controls cost risks, early functionality.

    Disadvantages:Disadvantages:

    Less defined, uncomfortable for management, incompatibility with auditLess defined, uncomfortable for management, incompatibility with audit

    process.process.

    Suitable for:Suitable for: Across all applications, one with many computations, one in which risksAcross all applications, one with many computations, one in which risks

    are too high.are too high.

    Not suitable for:Not suitable for:

    Not for small business applications as success rate is not guaranteed.Not for small business applications as success rate is not guaranteed.

  • 8/8/2019 New Presentation Process Models

    11/21

    Agile process models.Agile process models.

  • 8/8/2019 New Presentation Process Models

    12/21

    An agile view of processAn agile view of process

    AgileAgile -->> Active, dynamic and quick processActive, dynamic and quick process

    Four key issuesFour key issues in agilein agile

    Self organizingSelf organizing team that have control over the work they performteam that have control over the work they perform

    CommunicationCommunication and collaboration between team members and customersand collaboration between team members and customers

    Accepting changesAccepting changes

    rapid deliveryrapid delivery of software that satisfies the customerof software that satisfies the customer

  • 8/8/2019 New Presentation Process Models

    13/21

    Agile CharacteristicsAgile Characteristics

    TheyThey deliver software frequently.deliver software frequently.

    Every release should work and be deployable to production.Every release should work and be deployable to production.

    The line between "design" and "development" is intentionallyThe line between "design" and "development" is intentionally fuzzyfuzzy

    (Confused)(Confused)

    Face to face communication is the dominant form of communication.Face to face communication is the dominant form of communication.

    BusinessBusiness peoplepeople andand developersdevelopers workwork closelyclosely togethertogether;;

    SimplicitySimplicity,, "the"the artart ofof maximizingmaximizing thethe amountamount ofof workwork notnot done",done", isis anan importantimportant designdesign goalgoal;; andand

    TheThe methodologymethodology expects,expects, andand supports,supports, changeschanges toto requirementsrequirements..

    Examples of Agile MethodologiesExamples of Agile Methodologies

    Extreme Programming, SCRUM, FDD etcExtreme Programming, SCRUM, FDD etc..

  • 8/8/2019 New Presentation Process Models

    14/21

    Human factors for Agile softwareHuman factors for Agile software

    developmentdevelopment CompetenceCompetence

    Common focusCommon focus

    CollaborationCollaboration

    DecisionDecision--making abilitymaking ability

    FuzzyFuzzy--problem solving abilityproblem solving ability

    Mutual trust and respectMutual trust and respect

    SelfSelf--organizationorganization

  • 8/8/2019 New Presentation Process Models

    15/21

    Agile Process ModelsAgile Process Models Extreme Programming (XP)Extreme Programming (XP)

    Adaptive Software Development (ASD)Adaptive Software Development (ASD)

    Dynamic Systems Development Method (DSDM)Dynamic Systems Development Method (DSDM)

    ScrumScrum

    CrystalCrystal

    Feature Driven Development (FDD)Feature Driven Development (FDD)

    Agile Modeling (AM)Agile Modeling (AM)

  • 8/8/2019 New Presentation Process Models

    16/21

    Extreme Programming (XP)Extreme Programming (XP)

    XP uses an object oriented approachXP uses an object oriented approach

    It has four framework activitiesIt has four framework activities

    1. Planning1. Planning

    2. Design2. Design

    3.Coding3.Coding

    4.Testing4.Testing

    XP is a used toXP is a used to quicklyquickly develop quality software program todevelop quality software program tocustomers.customers.

    The goal of this methodology is toThe goal of this methodology is to deliverdeliverwhat the customer iswhat the customer islooking for in the quickest way.looking for in the quickest way.

  • 8/8/2019 New Presentation Process Models

    17/21

    Adaptive Software DevelopmentAdaptive Software Development

    FeaturesFeatures ASD as a technique forASD as a technique forbuilding complex software and systemsbuilding complex software and systems..

    ASD focusASD focus on human collaboration and Selfon human collaboration and Self--organizationorganization..

    ASD life cycleASD life cycle

    1.1. SpeculationSpeculation

    2. Collaboration2. Collaboration3.Learing3.Learing

  • 8/8/2019 New Presentation Process Models

    18/21

    Dynamic Systems DevelopmentDynamic Systems Development

    Method Life CycleMethod Life Cycle

    FeasibilityFeasibility studystudy establishesestablishes basicbasic businessbusiness requirementsrequirements andand constraintsconstraints

    BusinessBusiness studystudy

    establishesestablishes f unctionalfunctional andand informationinformation requirementsrequirements neededneeded totoprovideprovide businessbusiness valuevalue

    FunctionalFunctional modelmodel iterationiteration

    producesproduces setset of of incrementalincremental prototypesprototypes toto demonstratedemonstratefunctionalityfunctionality toto customercustomer

    Design and build iterationDesign and build iteration

    revisits prototypes to ensure they provide business value for endrevisits prototypes to ensure they provide business value for endusersusers

    may occur concurrently with functional model iterationmay occur concurrently with functional model iteration

    ImplementationImplementation

    latest iteration placed in operational environmentlatest iteration placed in operational environment

  • 8/8/2019 New Presentation Process Models

    19/21

    Scrum PrinciplesScrum Principles

    AreAre usedused toto guideguide developmentdevelopment activitiesactivities withinwithin aa processprocess..

    FrameFrame workwork ActivitiesActivities

    Requirements,Requirements,

    Analysis,Analysis, DesignDesign

    EvolutionEvolution andand

    DeliveryDelivery

  • 8/8/2019 New Presentation Process Models

    20/21

    Scrum with ExtremeScrum with Extreme

    ProgrammingProgramming

    Scrum works well as a

    wrapperaround

    Extreme Programming

  • 8/8/2019 New Presentation Process Models

    21/21

    Feature Driven Design.Feature Driven Design.

    Develop overall modelDevelop overall model contains set of classes depicting business model of application to be builtcontains set of classes depicting business model of application to be built

    Build features listBuild features list features extracted from domain modelfeatures extracted from domain model

    features are categorized and prioritizedfeatures are categorized and prioritized

    work is broken up into two week chunkswork is broken up into two week chunks

    Plan by featurePlan by feature features assessed based on priority, effort, technical issues, schedulefeatures assessed based on priority, effort, technical issues, schedule

    dependenciesdependencies

    Design by featureDesign by feature classes relevant to feature are chosenclasses relevant to feature are chosen

    class and method prologs are writtenclass and method prologs are written

    preliminary design detail developedpreliminary design detail developed

    Build by featureBuild by feature class owner translates design into source code and performs unit testingclass owner translates design into source code and performs unit testing

    integration performed by chief programmerintegration performed by chief programmer