Chapter 4: Process Models

Ace your homework & exams now with Quizwiz!

Prescriptive Process Models

- Waterfall - Incremental Process - Evolutionary Process - Concurrent

What Is The Work Product?

From the point of view of a software engineer, the work product is a customized description of the activities and tasks defined by the process.

The Waterfall Method Situations

When well-defined adaptations or enhancements to an existing system must be made (e.g, an adaptation to accounting software that has been madated because of changes to government regulations). It may aterm-32lso occur in a limited number of new development efforts, but only when the requirements are well defined and reasonably stable.

In the spiral model, the arrows

pointing inward along the axis separating the deployment region from the communication region intigate a potential for local iteration along the same path.

Commercial Off-The-Shelf (COTS) Components

Developed by vendors who offer them as products, provide targeted functionality with well-defined interfaces that enable the component to be integrated into the software that is to be built.

The Waterfall Model Phases

- Communciation: project initiation, requirements gathering; - Planning: estimating, scheduling, tracking; - Modeling: analysis, design; - Construction: code, test; - Deployment: delivery, support, feedback.

Specialized Process Models

- Component-Based Development - The Formal Methods Model - Aspect-Oriented Software Development

Disadvantages of Prototyping

- Stakeholders are unaware that the prototype is held together haphazardly, in the rush to get it working you haven't considered overall software quality or long-term maintainability. - As a software engineer, you often make implementation compromises in order to get a prototype working quickly. An inappropriate operating system or programming language may be used simply because it is available and known; an inefficient algorithm may be implemented simply to demonstrate capability.

Disadvantages of Waterfall

1. Sequential flow is rarely seen in the real projects. It may cause confusion. 2. Difficult for the customer to state all the requirements explicitly. Natural uncertainty exists. 3. The customer must have patience. A working version won't be available untul late in the project time span.

Anchor Point Milestones

A combination of work products and conditions that are attained along the path of the spiral

What Is A Process Model?

A process model provides a specific roadmap for software engineering work.

V-Model

A variation in the representation of the waterfall model.

The Concurrent Development Model or Concurrent Engineering

Allows a software team to represent iterative and concurrent elements of any of the process models described. For example, during early stages of design (a major software engineering action that occurs during the modeling activity), an inconsistency in the requirements model is uncovered. This generates the event analysis model correction, which will trigger the requirements analysis action from the done state into the awaiting changes state.

The Incremental Model

Combines the elements' linear and parallel process flows. It should be noted that the process flow for any increment can incorporate the prototyping paradigm discussed in the next subsection.

The Prototyping Paradigm Circle

Communication -> Quick Plan | Modeling Quick Design -> Construction of prototype -> Deployment & Delivery Feedback -> Communication.

The Component-Based Development Model

Incorporates many of the characteristics of the spiral model. It is evolutionary in nature, demanding an iterative approach to the creation of software. However, the component-based development model comprises applications from prepackaged software components.

The First Increment Is ...

Often a core product. That is, basic requirements are adddressed but many supplementary features (some known, others unknown) remain undelivered.

Evolutionary Process Models

Produce an increasingly more complete version of the software with each iteration.

Who Does The Process Model?

Software engineers and their managers adapt a process model to their needs and follow it. In addition the people who have requested the software have a role to play in the process of defining, building, and testing it.

Prescriptive/Traditional Process Model

Strives for structure and order in software development. Activites and tasks are performed sequentially with defined guidelines for progress.

The Spiral Model

The spiral model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model.

How Do I Ensure That I've Done It Right?

There are a number of software process assessment mechanisms that enable organizations to determine the "maturity" of their software process. However, the quality, timeliness, and long-term viability of the product you build are the best indicators of the efficacy of the process that you use.


Related study sets

Conflict of Interest in Health Care

View Set

Med Surge Sensory : Practice Questions

View Set

Marketing Ch.15 Practice Questions

View Set

Chapter 9 - Teaching and Counseling

View Set

Environmental Science: Acid Rain and Air Pollution

View Set

Property & Casualty - PA - Insurance Regulation

View Set