Upload
dwayne-parks
View
215
Download
2
Tags:
Embed Size (px)
Citation preview
Eighth Hour Lecture7:30 – 8:20 pm, Thursday,
September 13
Workflows of the Process(from Chapter 8 of Royce’ book)
Key Principles Revisited
• Architecture-first approach– Requirements, analysis,
design, implementation and assessment activities performed before construction phase.
– Downstream focus on completeness and quality.
• Iterative life-cycle process– Two or more iterations each
workflow.
• Round-trip engineering– Environment activities
raised to a first-class workflow.
• Demonstration-based approach– Implementation and
assessment activities are initiated early, reflecting emphasis on constructing executable subsets of the evolving architecture.
Seven Software Process Workflows
• Management– Controlling the process.
• Environment– Automating the process.
• Requirements– Analysis and evolving
requirements artifacts.
• Design– Modeling and evolving the
architectures and design artifacts.
• Implementation– Programming and evolving
the implementation and deployment artifacts.
• Assessment– Assessing trends in process
and product quality.
• Deployment– Transitioning the end
products to the use.
Not Carried Over from Conventional Process (Royce)
• Documentation emphasis– Most documentation should be a by-product.
• Quality assurance– Quality assurance is worked into all activities,
not accomplished as a separate workflow.
Management WorkflowsEnvironment Workflows
(to be covered in Part III of Royce’ Book, Software Management
Disciplines)
Iterations
• An iteration is defined in terms of a set of allocated usage scenarios.– Needed components are developed and integrated.– Demonstrations are made.– Assessments are made.– Results are prepared for next iteration.
• Activities are carried on currently.• An iteration workflow includes a sequence of
seven elements.
Iteration Emphasis
• Inception and Elaboration Phases– Emphasis is on management, requirements, and
design activities.
• Construction Phase– Emphasis of in design, implementation, and
assessment.
• Transition Phase– Emphasis is on assessment and deployment.
Iteration Workflow
• Management element
– Planning for the release, use case selection, detail assignments.
• Environment
– Evolving the change order database for new baselines for product, test and environment components.
• Requirements
– Analyzing the requirements artifact set, elaborate use cases and evaluation criteria.
• Design– Evolving the architecture and
baseline design, design and test models, updating design set artifacts.
• Implementation– Developing and acquiring new
components, integration and testing.
• Assessment– Evaluating the results of the
iteration: compliance, quality, performance. Change decisions.
• Deployment– Transitioning the release to
users, IV&V contractor, customer, regulators.
Iteration versus Increment
• An iteration represents the state of the overall architecture and the complete deliverable system.
• An increment represents the current work in progress that will be combined with the preceding iteration to form the next iteration.
General Comments• The preceding material is somewhat simplistic in three basic ways.
– ReleasesThere is not just one basic release for an iteration. Also you may have different releases for the software development laboratory, possibly for different developmental hardware configurations, one for the hardware integration laboratory, one for the project test and evaluation laboratory, one for quality control or manufacturing organization, one for the customer’s evaluation and demonstration laboratory, etc…
– Hardware Development SupportThe hardware group may make almost insatiable demands on the software group for ancillary software – drivers, I/O routines, instrumentation programs, debuggers, small test programs, analyzers, etc…
– Environment, Test, and other Support SoftwareThe customer may require delivery also for development tools, design models, and test tools and cases. Releases of these software elements will also have to be managed and controlled, concurrently with the basic project software.
In Summary…..
• The Conventional Software Development Process– Uses Waterfall Model (sequential steps).– Is relatively easy to understand and control, at least for a
while early in project development.– Generally doesn’t work very well in real life.
• The Modern Software Development Process– Uses much concurrency and multiple iterations.– Can be chaotic if not monitored and controlled very
carefully.– Requires very competent configuration management.– Can be made to work well if the project is very well
managed.