Software Process Flashcards
Types of life cycle models
1) Sequential Models: Waterfall Model
2) Phased Models: Evolutionary, Incremental
3) Iterative Models: Spiral
4) Other Models: Agile, Formal Transformation, Component-Reuse
Sequential models: waterfall
requirements - design - implementation - integration - operation/maintenance
Phased models: Evolutionary Development
work with customer making various different versions of a system until it is complete
Phased models: Incremental Development
delivery is broken down into increments with each
increment delivering part of the required functionality
Phased models: Iterative Development
Process is represented as a spiral rather than as a sequence of activities with backtracking. each loop represents a phase.
Agile
lightweight and flexible way to make software that is people based rather than plan based
agile manifesto
● Individuals and interactions over processes and tools
● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan
formal methods model
a set of activities that leads to formal mathematical specification of computer software
Z Formal specification Language
applies types sets, relations, and functions within the context of first-order predicate logical to build schema- a means for structuring the formal specification (IDK GAY AND PROBS NOT IMPORTANT)
Software Evolutionary Changes
Maintenance:
1. repair software faults
2. adapt software to dif environment (ex. upgrade OS)
Reengineering:
1. add or modify system functionality
2. improve system structure/performance
CASE (Computer-Aided Software Engineering) classification
● Functional perspective: Tools classified according to their specific function
● Process perspective (activity-based): Tools classified according to process activities that are supported
● Integration perspective: Tools classified according to their organization into integrated units
ex. group into either specification, design, implementation, verification
Case Integration
Tools: support individual process tasks
Work benches: support process phase
Environment: support all or main part of software process