software production 0721330 1 (0721330) lecture 3: dr. samer odeh hanna (phd) office: 318
DESCRIPTION
Software Production What is a process? A group of homogeneous tasks that are related together in which an outcome can be identified. People, equipment, input, methods, and environment that work together to produce output. The set of activities, methods, and practices that are used in the production and evolution of software. Set of activities, organized in steps, in order to transform users needs into operational software. Steps, partially ordered, are in interaction and aim to achieve a goal.TRANSCRIPT
Software Production 0721330 1
(0721330)Lecture 3:
Dr. Samer Odeh Hanna (PhD)http://philadelphia.edu.jo/academics/shanna
office: 318
Software Production 0721330 2
IEEE Std 1074: Standard for Software Lifecycle
IEEE Std 1074
Project Management
Pre-Development
Develop-ment
Post-Development
Cross-Development
(Integral Processes)
> Project Initiation>Project Monitoring &Control> Software Quality Management
> Concept Exploration> System Allocation
> Requirements Analysis> Design> Implemen- tation
> Installation> Operation & Support> Maintenance> Retirement
> V & V> Configuration Management> Documen- tation> Training
Process Group
Processes
Software Production 0721330 3
What is a process?
A group of homogeneous tasks that are related together in which an outcome can be identified.
People, equipment, input, methods, and environment that work together to produce output.
The set of activities, methods, and practices that are used in the production and evolution of software.
Set of activities, organized in steps, in order to transform users needs into operational software.
Steps, partially ordered, are in interaction and aim to achieve a goal.
Software Production 0721330 4
Processes, Activities and Tasks
Activities are carried out by human agents (team) and are supported by tools.
Agent: physical or virtual entity which is able to act in an
environment, can communicate directly with other agents, has own resources, and carries out activities related to a role.
Role: Describes a set of responsibilities and obligations assumed by an agent.
Software Production 0721330 5
Processes, Activities and Tasks Process Group: Consists of Set of Processes Process: Consists of Activities Activity: Consists of sub activities and tasks
ProcessGroup
Process
Activity
Development
Design
Task
DesignDatabase
Make aPurchase
Recommendation
Software Production 0721330 6
Example The Design Process is part of Development The Design Process consists of the following
Activities Perform Architectural Design Design Database (If Applicable) Design Interfaces Select or Develop Algorithms (If Applicable) Perform Detailed Design (= Object Design)
The Design Database Activity has the following Tasks Review Relational Databases Review Object-Oriented Databases Make a Purchase recommendation ....
UML Class Diagram of the IEEE Standard
Process group
Activity
Work Product
Resource
Task
Process
Money
Time
Participant
producesconsumes
Phase
*
*
**
*
Software life cycle
*
Discussing the process groups of the IEEE standard
Project Management During project management, the project manager
initiates, monitors, and controls the project through the software life cycle.
Project management processes
Project Management
The Project Initiation Process creates the infrastructure for the project.
During this phase, the task plan, schedule, budget, organization, and project environment are defined.
The project environment includes: project standards, communication infrastructure, meeting and reporting procedure, development methodology, and development tools.
Most of the information generated during this process is documented in the Software Project Management Plan (SPMP).
The Project Initiation Process is complete as soon as a stable environment for the project is established.
Project Management
The Project Monitoring and Control Process ensures that the project is executed according to the task plan and budget.
If the project manager observes any deviation from the schedule, he will take corrective action such as reallocating some of the resources, changing procedures, or replanning the schedule. The SPMP is updated to reflect any of these changes.
The Project Monitoring and Control Process is active throughout the lifecycle.
Project Management
The Software Quality Management Process ensures that the system under construction meets the required quality standards (which were selected during Project Initiation).
This process is executed by a separate quality management team to avoid conflict in interest (i.e. the goal of the developers is to complete the system on time, and the goal of the quality management team is to ensure that the system is not considered complete until it meets the required quality standard).
The Software Quality Management Process is active throughout most of the lifecycle.
Pre-Development
During Pre-Development, management and a client identify an idea or a need.
This can be addressed with a new development effort (greenfileld engineering), or a change to the interface of an existing system (interface engineering), or software replacement of an existing business process (reengineering).
The system Allocation Process establishes the initial system architecture and identifies hardware, software, and operational requirements.
The subsystem decomposition is the foundation of the communication infrastructure among the project members.
Pre-Development
The requirements, subsystem decomposition, and communication infrastructure are described in the problem statement, which serves as input for the development process.
The pre-Development processes are depicted in the following table.
Pre-Development Processes
Questions