SOFTWARE PROCESSES Flashcards
Give examples of project constraints
staff, money, time, computing resources,
Describe project planning
Project planning is the art of scheduling the necessary activities, in time, space and across staff in order to have in mind:
project risk
profit
customer satisfaction
worker satisfaction
long-tern company goals
What information must a project plan include?
resources needed (people, money, equipment, etc)
dependency & timing of work (flow graph, work packages)
rate of delivery (reports, code, etc)
Give examples of deliverables an SE project must produce to make it more visible
Design documents/ prototypes
Reports
Project/status meetings
Client surveys (e.g. satisfaction level)
What is a software process?
A structured set of activities required to develop a
software system
What steps are a part of all software processes?
Specification – defining what the system should do;
Design and implementation – defining the organization of the system and implementing the system;
Validation – checking that it does what the customer wants;
Evolution – changing the system in response to changing customer needs.
What is a software process model?
A software process model is an abstract representation
of a process. It presents a description of a process from
some particular perspective.
What do software descriptions entail
Activities in these processes such as specifying
a data model, designing a user interface, etc. and the
ordering of these activities
Products, which are the outcomes of a process activity;
Roles, which reflect the responsibilities of the people
involved in the process;
Pre- and post-conditions, which are statements that are true before and after a process activity has been enacted or a product produced.
What are the different types of software process models
Plan-driven processes are processes where all of the
process activities are planned in advance and progress
is measured against this plan. AKA Heavy-weight
In Agile Processes planning is incremental and it is
easier to change the process to reflect changing customer requirements. AKA Light-Weight
Give examples of Heavy-Weight models
Waterfall Model
Boehm’s Spiral Model
V-shaped Model
Describe the waterfall model
Separate and distinct phases of specification and development.
Heavily oriented toward documentation (documentation-intensive)
Progress often measured through documentation completion and reviews (many)
Gantt charts
Lockstep approach
Illustrate the different phases of the waterfall method
*See notes
What are some of the problems involved with waterfall models
Inflexible partitioning of the project into distinct stages
makes it difficult to respond to changing customer
requirements.
But many issues are true too, such as risk addressing.
In which situations is the waterfall model used?
This model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.
The waterfall model is mostly used for large systems
engineering projects where a system is developed at
several sites.
In those circumstances, the plan-driven nature of the waterfall model helps coordinate the work.
Describe the Boehm’s spiral model
Process is represented as a spiral rather than as a
sequence of activities with backtracking.
Each loop in the spiral represents a phase in the process.
No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.
Risks are explicitly assessed and resolved throughout the process.
This was the motivation behind developing the Spiral Model - Risk