Saturday, January 25, 2014

SOFTWARE PROCESS MODELLING



What is Software Process?
Software process means the set of activities required to produce a software system, executed by a group of people organized according to a given organization structure and counting on the support of techno-conceptual tools.
This process manages, develop and maintain software system. It is done by looking the actors, their role and artefacts produced. Two key international standards that prescribe processes for developing and maintaining software are IEEE 1974-1991 and ISO/IEC 12207.

Software Process Modeling
In modeling we need to make design, architecture, etc to make understand information in concise form.  Each representation describe, at different detail levels means finished, ongoing or proposed process and it provides definition of process to be used for evaluating and improvement.
Curtis et al. present some of the specific goals and benefits of modeling the software process.
1.             Ease of understanding and communication: requiring a process model containing enough information for its representation. It formalizes the process, thus proving a basis for training.
2.             Process management support and control: requiring a project-specific software process and monitoring, management and co-ordination.
3.             Provision for automated orientation for process performance: requiring and effective software development environment, providing user orientations, instructions and reference material.
4.             Provision for automated execution support: Requiring automated process parts, co-operative work support, a compilation of metrics and process integrity assurance.
5.             Process improvement support: requiring the reuse of well-defined and effective software processes, the comparison of alternative processes and process development support.

ELEMENT AND APPROACHES OF SOFTWARE PROCESS MODELLING
There are two main sub models in process modeling: the production and management process, first one related to construction and maintenance and second is responsible for estimating, planning and controlling the necessary resources (people, time, technologies etc.).
The four element of software process modeling are
1. Agent or Actor: is an entity who executes the process
2. Role: describes a set of agent or group responsibilities, rights and skills.
3. Activity: is the stage of process.
4. Artefact or Product: is the (sub)product and the “raw material” of a process.

Modelling Approaches
The type of information in a process model can be structured from different viewpoint.
Curtis presents the following list of information perspectives commonly found in the literature.
Function:  shows which process elements are being implemented and which information entity flows are important for the above process elements.
Behavioral: under which condition the process elements are implemented.
Organizational: represents where and by whom in the organization the process elements are implemented.
Informative: represents the information entities output or manipulated by a process, including their structure and relationships.

OVERVIEW OF PRESCRIPTIVE SOFTWARE PROCESS MODELS
Prescriptive model goal is to define the requirement and recommendation for executing the process, and in other words” How should the software be developed”.  This model divided into two categories:  manual prescriptive models and automated prescriptive models.
Manual prescriptive models belonging to this category a) traditional structure methodologies; b) object-oriented methodologies; c) knowledge engineering methodologies; d) organizational design methodologies; e) software cycle development process standards; f) software process evaluation standard or model-based methods.
Automated prescriptive models perform activities related to assistance, support, management and computer-assisted software production technique. This model  belongs to this category include: ALF; activity-oriented programs IPSE; rules Marvel; PMDB; SOCCA; Petri nets, SPADE; Imperative programs, TRIAD. It can be divided into two categories, a) activity-oriented models and b) people-oriented models.
Activity-oriented model includes TRIAD, Marvel, IPSE 2.5, SPADE; which  focus on the functions, activities of information about parts of the management, development and software life-cycle support processes.

People-oriented model includes SOOCA, ALF, PMDB; which focus on the specification of the people involved in the software process and their relationship.




Finally, by Table 1, it is confirm that all the prescriptive models considered lack a define and fully comprehensive software process modeling procedure. The producer should provide a formally integrated model of both the organization environment and the software process.

No comments:

Post a Comment