19
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)

Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)

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)

Topics for Today

• Software Process Workflows

• Iteration Workflows

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.

Activity Levels Across Phases

Artifacts Associated with Workflows

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)

Iteration Workflows

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 Workflow

Iteration Emphasis Across the Life Cycle

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.

Typical Build Sequence

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.

Assignment for Next Class Meeting

• Read Chapter 8 of Royce’ book, on workflows.– Learn the seven basic workflows for a modern software

development process.

– Study the artifacts associated with each basic workflow.

– Study the activities for the seven basic workflows for an iteration.