Page 31 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 31
Unit 2: Software Processes and Models
process and it provides a definition of the process to be used for evaluation and improvement. Notes
A process model can be an aliased, validated and simulated, if executable. The process models
are used mainly for software process control (evaluation and improvement) in an organization,
but they can be also used for experimenting with software process theory and to ease process
automation.
2.1 Processes and Models
On the contrary to software life cycle models, software process models often stand for a
networked Sequence of activities, objects, transformations, and events that exemplify strategies
for accomplishing software development. Such models can be used to develop more precise and
formalized descriptions of software life cycle activities. Their power emerges from their utilization
of a sufficiently rich notation, syntax, or semantics, often suitable for computational processing.
Software process networks can be viewed as representing multiple interconnected Task chains
represent a non-linear sequence of actions that structure and transform available computational
objects (resources) into intermediate or finished products. On-linearity implies that the sequence
of actions may be non-deterministic, iterative, accommodate multiple/parallel alternatives, as
well as partially ordered to account for incremental progress. Task actions in turn can be viewed
a non-linear sequences of primitive actions which denote atomic units of computing work,
such as a user’s selection of a command or menu entry using a mouse or keyboard. Wino grad
and others have referred to these units uncooperative work between people and computers as
“structured discourses of work while task chains have become popularized under the name of
“workflow” Task chains can be employed to characterize either prescriptive or descriptive action
sequences. Prescriptive task chains are idealized plans of what actions should be accomplished,
and in what order. For example, a task chain for the activity of object-oriented software design
might include the following task actions:
• Develop an informal narrative specification of the system.
• Identify the objects and their attributes.
• Identify the operations on the objects.
• Identify the interfaces between objects, attributes, or operations.
• Implement the operations.
Circumstances or idiosyncratic clearly, this sequence of actions could entail multiple iterations and
non-procedural primitive action invocations in the course of incrementally progressing toward
an object-oriented software design. Task chains join or split into other task chains resulting
in an overall production network or web. The production web represents the “organizational
production system” that transforms raw computational, cognitive, and other organizational
resources into assembled, integrated and usable software systems. The production lattice therefore
structures how software system is developed, used, and maintained. However, prescriptive task
chains and actions cannot be formally guaranteed to anticipate all possible foul-ups that can
emerge in the real world of software development.
Figure 2.1: Processes and Models
Problem Compile
statement Code Unit test Release
Problem Problem
Debug
LOVELY PROFESSIONAL UNIVERSITY 25