Se Module 1 - Part 1
Se Module 1 - Part 1
ENGINEERING
Module 1 - Part 1
www.teachics.org
TABLE OF ●
●
Software and Software Engineering
Software Process- Generic process model
CONTENT ● Process Improvement
S
Software
Software can be described as a collection of instruction that are executed to get desired functionalities.
Characteristics of software
www.teachics.org
Software
Types of software
www.teachics.org
Software Engineering
Software engineering can be defined as systematic and disciplined engineering approach applied for building and
maintaining software.
www.teachics.org
Software Engineering Practice
Essence of Practice
General steps in carrying out software engineering are,
● Understand the problem through communication.
● Plan a solution by modelling and designing.
● Carry out the plan (coding).
● Examine result for correctness (testing).
Customer Myths
● General requirements and not a detailed one is needed for starting programming.
● Software is easy to change.
www.teachics.org
Software Process
Software process comprises activities performed to create
a software product.
www.teachics.org
Software Process
Process Framework Activities
● Communication - Communicate with stakeholders and customers to obtain objectives of the system and
requirements for the software.
● Planning - Software project plan has details of resources needed, tasks and risk factors likely to occur,
schedule.
● Modeling - Architectural models and design to better understand the problem and for working towards the
best solution.
● Construction - Generation of code and testing of the system to rectify errors and ensuring all specified
requirements are met.
● Deployment - Entire software product or partially completed product is delivered to customer for
evaluation and feedback.
www.teachics.org
Software Process
Umbrella Activities
Activities that occur throughout a software process for better management and tracking of the project.
● Software project tracking and control - Compare progress of the project with the plan and take steps to
maintain planned schedule.
● Risk management - Evaluate risks that can affect the outcome and quality of the software product.
● Software quality assurance (SQA) - Conduct activities to ensure quality of the product.
● Technical reviews - Assessment of errors and correction done at each stage of activity.
● Measurement - All the measurements of project and product features.
● Software configuration management (SCM) - Controlling and tracking changes in the software.
● Reusability management - Back up work products for reuse and apply mechanism to achieve reusable
software components.
● Work product preparation and production - Project planning and other activities used to create work
product is documented.
www.teachics.org
Software Process
Process flow
Process flow determines how activities, actions and tasks are arranged with respect to sequence and time.
→ Iterative Process Flow - Repeats one or more activities before starting next.
www.teachics.org
Software Process
www.teachics.org
Software Process
Defining a Framework Activities Identifying a task set
Consider communication activity. Task set is the actual work to be done to achieve
For small project, this can be defined as having tasks set: an objective of engineering action.
For small project, consider elicitation action in
● Making phone call with stakeholder
communication activity, this may include:
● Discuss requirements and note it down
● Organize requirements ● Prepare list of stakeholders of the project
www.teachics.org
Software Process
Process patterns
Patterns used to describe problems and their solutions in the context of software process.
Problems can arise at different levels such as:
www.teachics.org
Software Process
An example
● Process measurement.
● Process analysis.
● Process change.
Different approaches towards process assessment include,
● CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration).
● Standard CMMI Appraisal Method for Process Improvement ( SCAMPI).
● CMM Based Appraisal for Internal Process Improvement (CBA IPI).
● SPICE(ISO/ IEC15504).
● ISO 9001:2000 for software.
www.teachics.org
Process Improvement
CMM (Capability Maturity Model) and CMMI (Capability Maturity Model Integration)
An approach based on which a process maturity is determined.
www.teachics.org
Process Improvement
Standard CMMI Appraisal Method for Process Improvement ( SCAMPI)
Method used for providing quality ratings with respect to CMMI.
www.teachics.org
Process Improvement
SPICE(ISO/ IEC15504) ISO 9001:2000 for software
Assist organizations in developing an objective They evaluate the ability of an organization to
evaluation of the effectiveness of a software consistently provide products that meet customer
process. requirements.
www.teachics.org