SYSTEM DYNAMICS MODELING OF AGILE CONTINUOUS DELIVERY PROCESS
1/3/2016 1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E....
-
Upload
norman-freeman -
Category
Documents
-
view
219 -
download
0
Transcript of 1/3/2016 1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E....
04/21/23 1998-Present Fayad KSU – SWE Process and Modeling
Software Process and Modeling
Dr. M.E. Fayad, ProfessorSoftware Engineering Department, Room #2022College of Computer and Information Sciences (CCISs)King Saud UniversityP.O. Box 51178Riyadh 11543http://www.engr.sjsu.edu/fayad, [email protected]
L1-S2 Introduction04/21/23 1998-Present Fayad KSU – SWE Process and Modeling
2
Lesson 1:Introduction
L1-S3 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
Lesson Objectives
Objectives
3
Discuss the following terms:
Standards
Methodology/paradigm/process Models
Methods
processes
Discuss the essential properties of a process
Explore Process Models
L1-S4 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
Standards imply regulations, guidelines, rules, laws, and so on.
Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A).
A standard alone is not sufficient on getting a task completed. Why?
4
Standards
[Fayad-Laitinen 1998]
L1-S5 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
Because standards focus on the attributes of the results instead of how the results will be achieved
A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards)
Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs)
5
Standards
[Fayad-Laitinen 1998]
L1-S6 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
A methodology is “a science of method or orderly arrangement” Webster.
A methodology is used to refer to the very highest level of the way we do things.
A methodology also refers to “a system of methods, as in particular science”
The methodology we will consider here cover only the development of software applications.
6
Methodology
[Fayad-Laitinen 1998]
L1-S7 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements.
Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90].
Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92].
Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics.
7
Methods or Techniques
L1-S8 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
Software engineering methods can be divided into three major categories:
1. Process-Oriented Methods [Yourdon89]
2. Data-Oriented Methods [Martin90]
3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..]
8
Methods or Techniques
L1-S9 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
9
POM vs. OOM
L1-S10 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
10
Method Provides Foundation for Software Engineering
Step-By-Step Process
Notation That SymbolizesObject-Oriented Principles
Communication Medium ForNon-Programmers
Framework For ModelingThe Program
Standards For TransitioningThe Problem BetweenSoftware Engineers
Requirements
PreliminaryDesign
DetailedDesign
Code andUnit Test
Integration andSystem Testing
Maintenance
pac k age Fac toria l_Pac k age is s ubty pe Argument_SubTy pe is In teger range 0 .. In teger' Las t; s ubty pe Res ul t_SubTy pe is In teger range 1 .. In teger' Las t;
func tion Fac toria l_Of (Value : Argument_Subty pe) re turn Res ul t_Subty pe;
end Fac toria l_Pac k age;
SoftwareReqmts
SpecSoftwareDesign
Document
SoftwareDesign
Document
SoftwareChangeProposal
L1-S11 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
11
The Myth of the Single Software Development Method
FIDO
Requirements Such AsSizeReliabilitySafetyCostScheduleMaintainability
Require DifferentMethodsToolsQuality AssuranceMaterialsPersonnelDocumentation
L1-S12 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
12
How Many OO Methods Exist?
.
UML
L1-S13 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
13
Engineering Process Hierarchy
Engineering
Computer Electronics
SoftwareHardware
SASD OOT
UML
Scientific Area
Standards
Methodologies(Macrodevelopment Processes)
Techniques (Methods)(Minidevelopment Processes)
Processes(Microdevelopment Processes
OMT
Identify Classes
IdentifyAttributes
L1-S14 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
14
Processes are Important for a new OO Teams New methods and tools introduce confusion Processes define exactly who, what, when, and how
– “big-picture”
x x xx x
o o o
o
o
x
x
oo
o
x
Big Play
x x xx xo o o oo
x
x
oo o
x
Long Kick
L1-S15 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
15
Method vs. Process
Processes take OO methods out of the classroom and put them to workProcesses take OO methods out of the classroom and put them to work
• Theoretical
• Ideas
• Predictions
• Practical
• Concrete Actions
• Metrics
L1-S16 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
Software engineering life cycles or phased software development models, such as
– Waterfall model
– Prototyping
– Spiral Model
– Automatic Programming
– Reuse Models
– Incremental Model
– Fountain Model
– XP Model
– Software Stability Model 16
Software Engineering
L1-S17 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
17
Waterfall ModelWaterfall Model
RequirementsAnalysis
Design
Coding
RequirementsSpecifications
Testing
L1-S18 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
18
Prototyping
Requirements Specifications
RequirementsAnalysis
Coding
Demonstration
Design Coding
Testing
Maintenance
DesignPrototype
Coding
Design Code
Test
Maintenance
Requirements
BuildPrototype
DocumentRequirements
TestPrototype
L1-S19 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
19
Spiral Model
Commitment
Partition
Cumulative Cost
Progress Through StepsDetermineObjectives,Alternatives,Constraints
Review
RiskAnalysis
RiskAnalysis
RiskAnalysis
Prototype 2Prototype 3Risk
Anal. Pt 1
Operational Prototype
Simulations, Models, BenchmarksConcept ofOperation Software
Requirements
RequirementsValidation
SoftwareProductDesign
Design Validationand Verification
DetailedDesign
Code
UnitTest
AcceptanceTestImple-
mentation Develop, VerifyNext-levelProduct
Plan Next Phases
Integration andTest Plan
DevelopmentPlan
Requirements Plan Life-Cycle Plan
Evaluate Alternatives,Identify, Resolve Risks
Integra-tion
and Test
[Boehm 87]
L1-S20 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
.
AUTOMATIC PROGRAMMING
RequirementsAnalysis
FormalSpecifications
AutomaticallyGenerated Code
20
L1-S21 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
.
REUSABLE MODULES
DecomposeApplication Domain
Specify ModuleRequirements
Module Design
Module Code
Module Test
ApplicationRequirements
Configure ReusableModules
Customize ReusableModules
Integrate Modules
Testing
OTI-93F-0014
21
L1-S22 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
.
INCREMENTAL MODEL
ProductDesign
Verification
Increment 3
Increment 2
Operations andMaintenance
Revalidation
DetailedDesign
Verification
Code
Unit Test
IntegrationProduct
Verification
Implementation
System Test
Increment 1
DetailedDesign
Verification
Code
Unit Test
Integration
DetailedDesign
Verification
Code
SystemFeasibility
Validation
Software Plans &Reqmts
Validation
22
L1-S23 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
.
Coding
Design
SoftwareRequirementsSpecification
RequirementsAnalysis
SystemTesting
Testing
Coding
ModuleSpecification
MaintenanceFurther
Development
ModuleDesign
Real-World Systems Real-World Entity
[Henderson-Sellers90]
ProgramUse
MaintenanceFurther
Development Acceptanceinto Library
FOUNTAIN MODEL
23
L1-S24 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
What are the differences between requirement analysis and software design?
What are the requirement analysis and software design?
24
Analysis & Design
L1-S25 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
25
Analysis & Design
Fuzzy line
• Problem space• Analysis• One problem• The “What”
• Solution space• Design• Many solutions• The “How”
L1-S26 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
List all the major process activities in the lifecycle phases: Requirement analysis, software design, software construction, software testing, software maintenance
List all major activities in software project management: Software planning, Staffing, Controlling and tracking the project, etc.
T/F
– Software processes should be fixed.
– Software process should be measurable.
– Software process specifies the why and ignore the how.
Define:
– Automatic Programming and Fountain Model 26
Discussion Questions
L1-S27 Introduction04/21/23 1998-06 Fayad KSU – SWE Process and Modeling
The manager’s roles and responsibilities in software process
Measure process rather than people
The top five excuses for no process documentation
Process assessment
Process improvement models
The trouble with process assessment
How to use processes as a baseline for improvement
Software process hierarchy
How to document process
Recommendations for documenting processes27
Questions for the Next Lecture