answersLogoWhite

0

A software process model is a simplified description of a software process which is
presented from a particular perspective. Models, by their very nature, are
simplifications so a software process model is an abstraction of the actual process
which is being described. Process models may include activities which are part of
the software process, software products and the roles of people involved in software
engineering.


Some examples of the types of software process model which may be
produced are:

1. A workflow model. This shows the sequence of activities in the process
along with their inputs, outputs and dependencies. The activities in this
model represent human actions.

2. A dataflow or activity model This represents the process as a set of activities
each of which carries out some data transformation. It shows how the input
to the process such as a specification is transformed to an output such as a
design. The activities here may be at a lower-level than activities in a
workflow model. They may represent transformations carried out by people
or by computers.

3. A role/action model This represents the roles of the people involved in the
software process and the activities for which they are responsible.

4. Iterative Processes This prescribes the construction of initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. Iterative processes are preferred by commercial developers because it allows a potential of reaching the design goals of a customer who does not know how to define what they want.

5. Capability Maturity Model Integration (CMMI) is one of the leading models and based on best practice. Independent assessments grade organizations on how well they follow their defined processes, not on the quality of those processes or the software produced. CMMI has replaced CMM.


There are a number of different general models or paradigms of software
development:

1. The waterfall approach This takes the above activities and represents them as
separate process phases such as requirements specification, software design,
implementation, testing and so on. After each stage is defined it is 'signedoff'
and development goes on to the following stage.


2. Evolutionary development This approach interleaves the activities of
specification, development and validation. An initial system is rapidly
developed from very abstract specifications. This is then refined with
customer input to produce a system which satisfies the customer's needs.
The system may then be delivered. Alternatively, it may be re-implemented
using a more structured approach to produce a more robust and maintainable
system.

3. Formal transformation This approach is based on producing a formal
mathematical system specification and transforming this specification, using
mathematical methods to a program. These transformations are 'correctness preserving'.

This means that you can be sure that the developed program
meets its specification.

4. System assembly from reusable components This technique assumes that
parts of the system already exist. The system development process focuses
on integrating these parts rather than developing them from scratch.

User Avatar

Wiki User

15y ago

What else can I help you with?

Related Questions

What is software process line?

software process line and software product line


What is lines software?

software process line and software product line


Why and how software matrices can improve the software process?

Correct definition of metrics will help validate the goal of the software process and how that is being tracked


What is the process of setting up the software to work with the?

The process of setting up software to work with a computer is known as installation.


Year of software evolution?

Software evolution is an ongoing process


How do software monitors work?

Best way to create a software update process for my software?


What is software process and why it is difficult to improve it?

Software process is a process by which any organization can develop their software by some specific steps. It is difficult to improve because, legacy system follows this steps for years.


When can one use unified software development process?

The Unified Software Development Process is used when a person or business is working toward developing new software. The process has four distinct phases.


What is software process why is it difficult to improve it?

Software process is a process by which any organization can develop their software by some specific steps. It is difficult to improve because, legacy system follows this steps for years.


What is a good software package to use for process management?

A good software package to use for process management is the IBM business process manager. This IBM software not only provides the basic interface to manage your process, it goes a step further and includes additional plugin software's to make your current process even more efficient.


What is the process of setting up software to work with a computer?

The process of setting up software to work with a computer is known as installation.


Difference between writing software and developing software?

Writing software is a part of developing software. The actual process of writing code can be called "writing software." "Developing software" includes includes the entire process of turning an idea into a program: everything from requirements and specifications to writing software.