new presentation process models
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