14
March 30, 2022 1 March 30, 2022 March 30, 2022 Azusa, Azusa, CA CA Sheldon X. Liang Ph. D. Software Engineering Software Engineering in CS in CS at at APU APU Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/ CS 470 Software Engineering I CS 470 Software Engineering I

April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

Embed Size (px)

Citation preview

Page 1: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20231

April 21, 2023April 21, 2023 Azusa, CAAzusa, CA

Sheldon X. Liang Ph. D.

Software Engineering Software Engineering in CS in CS at at APUAPU

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

CS 470 Software Engineering ICS 470 Software Engineering I

Page 2: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20232

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

Page 3: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20233

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

Prescriptive Models• Prescriptive process models advocate an orderly approach to

software engineering

That leads to a few questions …

• If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change?

• Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?

Page 4: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20234

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

The Waterfall Model

CommunicationPlanning

ModelingConstruction

Deploymentanalysisdesign code

test

project initiationrequirement gathering estimating

schedulingtracking

deliverysupportfeedback

Page 5: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20235

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process ModelsThe Incremental Model

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

increment # 1

increment # 2

delivery of1st increment

delivery of2nd increment

delivery ofnth increment

increment # n

project calendar time

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

Page 6: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20236

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

The RAD Model

Communication

Planning

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtesting

Deployment

60 - 90 days

Team # 1

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtesting

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtesting

Team # 2

Team # n

integrationdeliveryfeedback

Page 7: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20237

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process ModelsEvolutionary Models: Prototyping

Communication

Quick plan

Constructionofprototype

Modeling Quick design

Delivery& Feedback

Deployment

communication

Quickplan

ModelingQuick design

Constructionof prototype

Deploymentdelivery &feedback

Page 8: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20238

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

Evolutionary Models: The Spiral

communication

planning

modeling

constructiondeployment delivery feedback

start

analysisdesign

codetest

estimationschedulingrisk analysis

Page 9: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 20239

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process ModelsEvolutionary Models: Concurrent

Under review

B as elined

Done

Under

revis ion

A w ait ing

c hanges

Under

developm ent

none

Modeling ac t iv it y

represents the stateof a software engineeringactivity or task

Page 10: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 202310

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

Still Other Process Models

• Component based development—the process to apply when reuse is a development objective

• Formal methods—emphasizes the mathematical specification of requirements

• AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects

• Unified Process—a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

Page 11: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 202311

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

The Unified Process (UP)

software incrementRelease

Inception

Elaboration

construction

transition

production

Page 12: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 202312

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models

Inception Elaboration Construction Transition Production

UP Phases

Workflows

Requirements

Analysis

Design

Implementation

Test

Iterations #1 #2 #n-1 #n

Support

UP Phases

Page 13: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

April 21, 202313

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process ModelsUP Work Products

Inception phase

Elaboration phase

Construction phase

Transition phase

Vision documentInitial use-case modelInitial project glossaryInitial business caseInitial risk assessment.Project plan, phases and iterations.Business model, if necessary.One or more prototypesInception

Use-case modelSupplementary requirements including non-functionalAnalysis modelSoftware architecture Description.Executable architectural prototype.Preliminary design modelRevised risk listProject plan including iteration plan adapted workflows milestones technical work productsPreliminary user manual

Design modelSoftware componentsIntegrated software incrementTest plan and procedureTest casesSupport documentation user manuals installation manuals description of current increment

Delivered software incrementBeta test reportsGeneral user feedback

Page 14: April 30, 2015 1 April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

Thank you very much!

Questions?

April 21, 202314

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

CS 470 Prescriptive Process ModelsCS 470 Prescriptive Process Models