0% found this document useful (0 votes)
38 views19 pages

Se Module 1 - Part 1

Uploaded by

rnscreation2.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views19 pages

Se Module 1 - Part 1

Uploaded by

rnscreation2.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

SOFTWARE

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.

Software → programs + documentation + operating procedures

Characteristics of software

● Software is developed,not manufactured


● Does not wear out
● Has reusable components
● Flexible

www.teachics.org
Software
Types of software

● System software - software that provides a ● Product-line software - a group of products


platform to other software such as Microsoft sharing common features that are used to satisfy
Windows, GNU/Linux, macOS. specific needs of a mission like MS Office
● Application software - programs designed supporting home use, business use, enterprise
for end users like Notepad, Firefox, Media use etc.
players. ● Web application software - programs that are run
● Engineering/Scientific software - software on web servers and are accessed through a web
built with techniques and formulae specific browser, examples are Gmail, Facebook etc.
to specific scientific or engineering field, ● Artificial Intelligence software - software that is
examples are MATLAB, AUTOCAD. capable of intelligent behaviour, like in Robotics,
● Embedded software - programs that control Game Playing etc.
machines or devices such as Traffic light ● Legacy software system - software systems that
control mechanism, Motorcycle dashboard were developed decades ago which becomes
display. costly and risky to maintain and evolve.

www.teachics.org
Software Engineering
Software engineering can be defined as systematic and disciplined engineering approach applied for building and
maintaining software.

It is a layered technology comprising

● Quality focus as its central support element since improving quality


of process and products through quality improvement techniques is
the main focus of an organization.
● Process layer provides framework for management of software
project.
● Method layer includes methods such as communication, design,
coding and other technical aspects for development of software.
● Tools layer provides supporting tools for Method and Process layers.

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).

Principle of best Practice


● Software should provide value to users.
● Keep the software design simple.
● Vision of the project should be kept in mind throughout.
● Keep your work products in an understandable format for others to work with them easily.
● Design in a way that can incorporate changes in future.
● Build reusable components.
● Think before acting or learn before starting.
www.teachics.org
Software Myths (False Belief)
Management Myths
● Software practitioners follow the book of standards and procedures for software development.
● If a delay occurs, programmers can be added at any point.
● Outsourcing helps.

Customer Myths
● General requirements and not a detailed one is needed for starting programming.
● Software is easy to change.

Developer’s Myths (Practitioner’s Myths)


● Software developing is all about coding.
● Only a finished software can be tested.
● Software engineering has plentiful documentation and will slow down the process.

www.teachics.org
Software Process
Software process comprises activities performed to create
a software product.

It deals with technical and management aspects of


software development.

Software process includes


● Tasks– focus on small, specific objective.
● Action– set of tasks that produce major work
product.
● Activities– group of related tasks and actions for a
major objective.
A process framework for software engineering defines five
framework activities. In addition a set of umbrella activities
are applied throughout the process.

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.

→ Linear Process Flow - Executes each activity in sequence.

→ Iterative Process Flow - Repeats one or more activities before starting next.

www.teachics.org
Software Process

→ Evolutionary process flow → Parallel process flow


Carry out activities in a circular way. Execute one or more activities in parallel with each other.

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

● Mail stakeholder for review and approval


● Organize a meeting for stakeholders
● Discuss requirements
For large projects - extended actions such as feasibility
● Finalize requirements list
study, elicitation of requirements, elaboration of
requirements, specification documents, validation etc. ● Make a list of issues raised
For large projects - steps may be added such as
interviewing each stakeholder separately before
group meeting, more techniques are applied in
discussing requirement, etc.

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:

● Problems associated with a complete process model


● Within a framework activity
● Within an action in an activity
Patterns can be described using a pattern template which include

● Pattern name ● Initial context


● Intent ● Problem
● Forces and Types ● Solution
○ Stage pattern ● Resulting context
○ Task pattern ● Related patterns
○ Phase pattern ● Known uses or examples

www.teachics.org
Software Process
An example

● Pattern name – requirements unclear.


● Intent – an approach to build a prototype so that stakeholder can assess and determine specific
requirements.
● Type – phase pattern.
● Initial context – stakeholders have been identified, communication mode has been selected, initial
understanding of problem and scope of project determined.
● Problem – recognized that stakeholder has a general idea of requirements and cannot place specific
requirements.
● Solution – prototyping can help the stakeholder to be more specific about requirements and hence
prototype can be evolved.
● Resulting context – a prototype fulfilling basic requirements is approved by stakeholder and the prototype
may be evolved or thrown for making a new one which will become the finished product.
● Related patterns – customer communication , iterative design , requirement extraction.
● Known uses/examples – unclear requirements problem can be solved through prototyping.
www.teachics.org
Process Improvement
● Software process assessment - ensure their ability to control cost, time and quality of a software.
● Assessment is done to improve the software process.
Software Process Improvement (SPI) Cycle includes,

● 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.

CMM maturity levels CMMI maturity levels


1. Initial Level. 1. Initial.
2. Repeatable Level. 2. Managed.
3. Defined Level. 3. Defined.
4. Managed Level. 4. Quantitatively Managed.
5. Optimizing Level. 5. Optimized.

www.teachics.org
Process Improvement
Standard CMMI Appraisal Method for Process Improvement ( SCAMPI)
Method used for providing quality ratings with respect to CMMI.

Assessment Phases Appraisal Process


1. Initiating. ● Preparation.
2. Diagnosing. ● On-site activities.
3. Establishing. ● Findings.
4. Acting. ● Ratings
5. Learning. ● Final reporting, etc.

CMM Based Appraisal for Internal Process Improvement (CBA IPI)


It is an SEI CMM(Capability Maturity Model) based assessment method that provides diagnostics, enables and
encourages an organization to understand its maturity.

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.

Levels Follows PDCA cycle


1. Not performed. 1. Planning.
2. Performed informally. 2. Doing.
3. Planned and tracked. 3. Checking.
4. Well defined. 4. Acting.
5. Quantitatively controlled.
6. Continuously improved.

www.teachics.org

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy