SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
SOFTWARE ENGINEERING
18BTCECC503
Prof. Nisha Vadodariya
Assistant Professor
CE Department
ATMIYA - Rajkot
UNIT 4-
QUALITY ASSURANCE AND CONFIGURATION
MANAGEMENT
SOFTWARE RELIABILITY
● The probability of failure-free operation of a computer
program in a specified environment for a specified time
● Reliability is the probability that a system performs
correctly during a specific time duration.
Objective of Reliability:
● To find the permanent structure of repeating failures.
● To find the number of failures occurring is the specific
period of time.
● To discover the main cause of failure.
● To conduct performance testing of various modules of
software product after fixing defects.
MEASUREMENT OF RELIABILITY
● Mean Time Between Failures (MTBF):
Measurement of reliability testing is done in terms of mean
time between failures (MTBF).
● Mean Time To Failure (MTTF):
The time between two consecutive failures is called as mean
time to failure (MTTF).
● Mean Time To Repair (MTTR):
The time taken to fix the failures is known as mean time to
repair (MTTR).
MTBF = MTTF + MTTR
MTTF = mean-time-to-failure,
MTTR = mean-time-to-repair
MTBF = MTTF + MTTR
TYPES OF SOFTWARE MAINTENANCE
● Software maintenance is the process of changing, modifying,
and updating software to keep up with customer needs.
● Software maintenance is done after the product has launched
for several reasons including improving the software overall,
correcting issues or bugs, to boost performance, and more.
● Using the right software maintenance techniques and strategies
is a critical part of keeping any software running for a long
period of time and keeping customers and users happy.
● Software maintenance is a part of the Software Development Life
Cycle. Its primary goal is to modify and update software
application after delivery to correct errors and to improve
performance. Software is a model of the real world. When the
real world changes, the software require alteration wherever
possible.
Need for Maintenance
Software Maintenance is needed for:-
● Correct errors
● Change in user requirement with time
● Changing hardware/software requirements
● To improve system efficiency
● To optimize the code to run faster
● To modify the components
● To reduce any unwanted side effects.
TYPES OF SOFTWARE MAINTENANCE
1. Corrective Maintenance
● Corrective maintenance aims to correct any remaining errors
regardless of where they may cause specifications, design,
coding, testing, and documentation, etc.
● This includes modifications done in order to fix problems
● Corrective maintenance deals with the repair of defects found in
day-to-day system functions
2. Adaptive Maintenance
● It contains modifying the software to match changes in the
ever-changing environment.
● This includes modifications applied to keep the software
product up-to-date
● Adaptive maintenance is the implementation of changes in a part of
the system, which has been affected by a change that occurred in
some other part of the system
3. Preventive Maintenance
● It involves the concept of reengineering & reverse engineering in
which an old system with old technology is re-engineered using
new technology. This maintenance prevents the system from
dying out.
● This includes modifications done in order to keep the software
usable over long period of time
● It includes new features, new user requirements for refining the
software and improve its reliability and performance.
● This includes changing the functionalities of as per the user’s
changing needs
4. Perfective Maintenance
● It defines improving processing efficiency or performance
or restricting the software to enhance changeability. This
may contain enhancement of existing system functionality,
improvement in computational efficiency, etc.
● Modifications to prevent future problems of software
● It aims to attend problems, which are not significant at this
moment but may cause serious issues in future
● It comprises documentation updating, code optimization
and code restructuring.
RE-ENGINEERING
When we need to
update the software
to keep it to the current
market, without
impacting its
functionality, it is
called software
re-engineering
It is a process where
the design of software
is changed and
programs are
re-written Reverse
Engineering
Forward
Engineering
Legacy software cannot keep tuning with the
latest technology available in the market
⚫ For example, initially UNIX was developed in
assembly language. When language C came into
existence, UNIX was re-engineered in C, because
working in assembly language was difficult.
Other than this, sometimes programmers notice
that few parts of software need more
maintenance than others and they also need
re-engineering
Obtain
specifications of
existing software
Reverse
Engineering
Change program
and/or data
structure
Program
Restructuring
Get
re-engineered
software
developed
Forward
Engineering
Decide what to re-engineer.
Is it whole software or a part
of it?
Perform Reverse
Engineering, in order to
obtain specifications of
existing software
Restructure Program if
required
For example, changing
function-oriented programs
into object-oriented programs
and restructure data as
required
Apply Forward engineering
concepts in order to get
re-engineered software
REVERSE ENGINEERING
● Reverse engineering can extract design information from
source code
● Software Reverse Engineering is a process of recovering the
design, requirement specifications and functions of a
product from an analysis of its code.
● The purpose of reverse engineering is to facilitate the
maintenance work by improving the understandability of a
system and to produce the necessary documents for a legacy
system.
● This kind of engineering is often referred to as backward
engineering.
Reverse Engineering Goals:
● Cope with Complexity.
● Recover lost information.
● Detect side effects.
● Facilitate Reuse.
Steps of Software Reverse Engineering:
1. Collection Information:
This step focuses on collecting all possible information
(i.e., source design documents etc.) about the software.
2. Examining the information:
The information collected in step-1 as studied so as to get
familiar with the system.
3. Extracting the structure:
This step concerns with identification of program structure
in the form of structure chart where each node corresponds
to some routine.
4. Recording the functionality:
During this step processing details of each module of the
structure, charts are recorded using structured language like
decision table, etc.
5. Recording data flow:
From the information extracted in step-3 and step-4, set of data
flow diagrams are derived to show the flow of data among the
processes.
6. Recording control flow:
High level control structure of the software is recorded.
7. Review extracted design:
Design document extracted is reviewed several times to ensure
consistency and correctness. It also ensures that the design
represents the program.
8. Generate documentation:
Finally, in this step, the complete documentation including SRS,
design document, history, overview, etc. are recorded for future use.
FORWARD ENGINEERING
● Forward engineering is a process of obtaining desired software
from the specifications, which were brought by reverse
engineering
● Forward engineering is a method by which we can create an
application according to the given requirements.
● In most cases, forward engineering does not simply create a
modern equivalent of an older program
● Rather, new user and technology requirements are integrated into
the reengineering effort
● The redeveloped program extends the capabilities of the older
application
● Forward engineering is same as software engineering process
with only one difference it is carried out always after reverse
engineering
● Another word for forward engineering is Reclamation or
Renovation.
● Here, forward engineering's primary goal is to fulfil the
re-engineering process to meet the needs of new consumers.
WHAT IS QUALITY?
Quality
Developed product meets it’s specification
Quality Management
Ensuring that required level of product quality is
achieved
Defining procedures and standards
Applying procedures and standards to the product and
process
Checking that procedures are followed
Collecting and analysing various quality data
SOFTWARE QUALITY MANAGEMENT
SYSTEM
● Software quality management also called Software quality
assurance.
● It is an umbrella activity that is applied throughout the software
process
● It is planned and systematic pattern of activities necessary to
provide high degree of confidence in the quality
● Software quality management consist
○ An SQA process
○ Specific quality assurance and quality control tasks
○ Effective software engineering practice
○ Control of all software work products
○ A procedure to ensure compliance with software development
standards
○ Measurement and reporting mechanisms
SQA ACTIVITIES
Prepare an SQA plan for a project
Participate in the development of the project’s software
process description
Review software engineering activities to verify compliance
with the defined software process
SQA produces high quality software.
SQA is beneficial for better reliability.
Improving the process of creating software.
Improves the quality of the software.
Ensure that deviations in software work and work products
are documented and handled according to a documented
procedure
Activities of Software Quality Management:
● Quality Assurance - QA aims at developing Organizational
procedures and standards for quality at Organizational
level.
● Quality Planning - Select applicable procedures and
standards for a particular project and modify as required to
develop a quality plan.
● Quality Control - Ensure that best practices and standards
are followed by the software development team to produce
quality products.
THE QUALITY STANDARDS: ISO 9000
● In order to bring quality in product and service, many
organizations are adopting Quality Assurance System
● ISO(International Standards Organization) standards are
issued by the International for Standardization (ISO) in
Switzerland
● ISO declared its 9000 series of standards in 1987
● The ISO 9000 standard determines the guidelines for
maintaining a quality system.
● The ISO standard mainly addresses operational methods and
organizational methods such as responsibilities, reporting,
etc.
● ISO 9000 defines a set of guidelines for the production
process and is not directly concerned about the product itself.
Types of ISO 9000 Quality Standards
The ISO 9000 series of standards is based on the assumption
that if a proper stage is followed for production, then good
quality products are bound to follow automatically.
1. ISO 9001:
● Proper documentation is an important part of an ISO 9001
Quality Management System.
● ISO 9001 is the quality assurance standard that applies to
software engineering
● It includes, requirements that must be present for an effective
quality assurance system
● ISO 9001 standard is applicable to all engineering discipline
● This standard applies to the organizations engaged in design,
development, production, and servicing of goods
2. ISO 9002:
● This standard applies to those organizations which do not design
products but are only involved in the production.
● Examples of these category industries contain steel and car
manufacturing industries that buy the product and plants designs
from external sources and are engaged in only manufacturing those
products.
● Therefore, ISO 9002 does not apply to software development
organizations.
3. ISO 9003:
● This standard applies to organizations that are involved only in the
installation and testing of the products.
SIX SIGMA
● Six Sigma is the process of producing high and improved
quality output
● Six Sigma is a disciplined, data-driven approach and
methodology for eliminating defects in any process - from
manufacturing to transactional and from product to service
● To achieve six sigma, a process must not produce more than
3.4 defects per million opportunities
● Six Sigma is a set of techniques driven by quality-control
methodology and has its main focus on identifying and
eliminating errors.
● Six sigma have two methodologies.
1. DMAIC : Used to enhance an existing business process.
(Define, Measure, Analyze, Improve, Control)
2. DMADV : used to create new product designs or process designs.
(Define, Measure, Analyze, Design, Verify)
DMAIC
● Define: Define the problem or process to improve upon
related to the customer and goals
● Measure: How can you measure this process in a
systematic way?
● Analyze: Analyze the process or problem and identify the
way in which it can be improved. What are the root causes
of problems within the process?
● Improve: Once you know the causes of the problems,
present solutions for them and implement them.
● Control: Utilize Statistical Process Control to continuously
measure your results and ensure you are improving
DMADV
● Define: Define the problem or process to improve upon related
to the customer and goals
● Measure: How can you measure this process in a systematic
way?
● Analyze: Analyze the process or problem and identify the way
in which it can be improved. What are the root causes of
problems within the process?
● Design: Avoid root causes of defects and meet the customer
requirements
● Verify: To verify the process, compare the process with the
standard plan and find differences
Example of Six Sigma Company
For over 100 years they have delivered food to every part of the
city, earning them a Six Sigma rating (a Forbes rating of 99.9 %
which means one error in 6 million transactions).
CMM (CAPABILITY MATURITY MODEL)
● CMM was developed by the Software Engineering Institute (SEI).
● Capability maturity model (CMM) that defines key activities
required at different levels of process maturity.
● It is not a software process model. It is a framework that is used
to analyze the approach and techniques followed by any
organization to develop software products.
● It also provides guidelines to further enhance the maturity of
the process used to develop those software products.
Key Process Areas (KPA’s):
● Each of these KPA’s defines the basic requirements
❖ The 5 levels of CMM are as follows:
Level 1: Initial.
• The software process is characterized as ad hoc and
occasionally
• Few processes are defined and success depends on individual
effort
• No KPA’s defined
Level 2: Repeatable
• The necessary process discipline is in place to repeat earlier
successes on Project
• Experience with earlier projects is used for managing new
similar natured projects.
Key Process Areas (KPA’s):
● Project Planning
● Configuration Management
● Requirements Management
● Software Quality Assurance
Level 3: Defined
• The software process for both management and engineering
activities is documented, standardized and integrated
• At this level, documentation of the standard guidelines and
procedures takes place.
• This level includes all characteristics defined for level 2
Key Process Areas (KPA’s):
● Peer Reviews
● Intergroup Coordination
● Organization Process Definition
● Organization Process Focus
● Training Programs
Level 4: Managed
• Detailed measures of the software process and product
quality are collected
• This level includes all characteristics defined for level 3
Key Process Areas (KPA’s):
● Software Quality Management
● Quantitative Management
Level 5: Optimizing
• This level includes all characteristics defined for level 4
• This is the highest level of process maturity in CMM and
focuses on continuous process improvement in the
organization using quantitative feedback.
Key Process Areas (KPA’s):
● Process Change Management
● Technology Change Management
● Defect Prevention
SQA PLAN
● The SQA Plan provides a road map for establishing software
quality assurance
● The plan serves as a template for SQA activities that are instituted
for each software project
SQA Plan consist:
● The purpose and scope of the plan
● A description of all software engineering work products (e.g., models,
documents, source code).
● All applicable standards that are applied during the software process
● The tools and methods that support SQA actions and tasks
● Methods for assembling and maintaining all SQA-related records
● Organizational roles and responsibilities relative to product quality
The SQA Plan contains the following sections:
1. Purpose
2. Reference
3. Software configuration management
4. Problem reporting and corrective action
5. Tools, technologies, and methodologies
6. Code control
7. Records: Collection, maintenance, and retention
8. Testing methodology
THE SCM PROCESS
The SCM (Software Configuration Management) is a set of
activities that have been developed to manage change
throughout the software life cycle
1. Planning and Identification Process
● This is the initial level of the SCM process to planning
properly for the development of the application and
identifies the configuration items as per the scope of the
project.
● To start meeting and welcome to change requests are the
basic criteria for this process.
● The project management plan is the input for this process and
approval of the plan is the exit criteria.
2. Version Control Process
Version control is important when you are working on a software
project over time.
● Many source and documentation files.
● The files change during development.
● You need to keep track of the different version of each file, and
possibly roll back to an earlier version.
● The version control indicates to store the different versions of
development/configuration by changing the scope or
requirements or code or software environment.
● This process provides several versions of that software product.
● A version control system implements or is directly integrated
with four major capabilities:
1. A project database that stores all relevant configuration
objects,
2. A version management capability that stores all version of
configuration object,
3. A make facility that enables the software engineer to
collect all relevant configuration objects, and
4. Construct a specific version of the software.
3. Change Control Process
● This process the new change request created by the client to
change some configurations on the software product
● i.e. to add or remove or edit on the configuration items as the
request is received by the team.
● As per approval of the change request the application will
develop and the request will be closed on status.
● Change Control in software development refers to the
transition from an existing state of the software product to
another improved state of the product.
● CCP (Change Control Process) mainly identifies, documents,
and authorizes changes to a software application.
Process of Change Management :
When any software application/product goes for any changes, it
undergoes a series of sequential processes as follows:
● Creating a request for change
● Reviewing and assessing a request for change
● Planning the change
● Testing the change
● Creating a change proposal
● Implementing changes
● Reviewing change performance
● Closing the process
Importance of Change Management :
● For improving performance
● For increasing engagement
● For enhancing innovation
● For including new technologies
● For implementing new requirements
● For reducing cost
Source of Change :
● Business reorganization
● New Market conditions
● New equipment
● Fixing any bugs/errors
● New customer needs
● Performance or reliability improvement
4. Configuration Audit
● Configuration auditing is an SQA activity that helps to ensure
that quality is maintained as changes are made.
5. Status Reporting
● Configuration Status reporting (sometimes also called status
accounting) providing accurate status and current
configuration data to developers, testers, end users,
customers and stakeholders through admin guides, user
guides, FAQs, Release Notes, Installation Guide, Configuration
Guide, etc.
USER INTERFACE DESIGN
User interface is the front-end application view to which user
interacts in order to use the software.
The software becomes more popular if its user interface is:
● Attractive and Simple to use
● Responsive in short time
● Clear to understand
● Consistent on all interface screens
Types of User Interface
There are two main types of User Interface:
● Text-Based User Interface or Command Line Interface
● Graphical User Interface (GUI)
1. Text-Based User Interface: This method relies primarily on
the keyboard. A typical example of this is UNIX.
Advantages
● Many and easier to customizations options.
● Typically capable of more important tasks.
Disadvantages
● Relies heavily on recall rather than recognition.
● Navigation is often more difficult.
Graphical User Interface (GUI): GUI relies much more heavily on
the mouse. A typical example of this type of interface is any
versions of the Windows operating systems.
Advantages
● Less expert knowledge is required to use it.
● The user may switch quickly from one task to another and can
interact with several different applications.
Disadvantages
● Typically decreased options.
● Usually less customizable. Not easy to use one button for tons
of different variations.
GUI Characteristics:
● Windows: Multiple windows allow different information to be
displayed simultaneously on the user's screen.
● Icons: Icons different types of information. On some systems,
icons represent files. On other icons describes processes.
● Menus: Commands are selected from a menu rather than typed
in command language.
● Pointing: A pointing device such as a mouse is used for
selecting choices from a menu or indicating items of interests
in a window.
● Graphics: Graphics elements can be mixed with text or the same
display.
UI Design Principles:
WEB APPLICATION
Definition of Web-application:
A web-application is an application program that is usually
stored on a remote server, and users can access it through
the use of Software known as web-browser.
It is a type of computer program that usually runs with the
help of a web browser and also uses many web technologies
to perform various tasks on the internet.
The Flow of the Web Application:
1. In general, a user sends a request to the web-server using web
browsers such as Google Chrome, Microsoft Edge, Firefox, etc over
the internet.
2. Then, the request is forwarded to the appropriate web application
server by the web-server.
3. Web application server performs the requested operations/ tasks like
processing the database, querying the databases; produces the result
of the requested data.
4. The obtained result is sent to the web-server by the web application
server along with the requested data/information or processed data.
5. The web server responds to the user with the requested or processed
data/information and provides the result to the user's screen .
Web Application Design
Interface Design
● One of the challenges of interface design for WebApps is the nature
of the user’s entry point.
Aesthetic Design
● Also called graphic design, is an artistic offer that complements
the technical aspects of WebApp design.
Content Design
● Generate content and design the representation for content to be
used within a WebApp.
Architecture Design
● It is tied to the goals established for a WebApp, the content to be
presented, the users who will visit, and the navigation that has been
established.
Component-Level Design
● Establish data interfaces with external corporate systems.
Navigation Design
● Define navigation pathways that enable users to access WebApp
content and functions.
CONCEPTUAL AND TECHNICAL DESIGN
ACCESSING A FUNCTION
What is Software Design?
● Software design is a process to convert the user requirements
into client requirements user interface form, that helps the
software developer in coding and implementation.
● The software design deals with portraying the client’s
requirement which is described in Software Requirement
Specification (SRS) document into a user interface form.
● To transform requirements into a working system designers
must satisfy both customers and therefore the system builders.
● The customers should understand what the system is to try to
do. At an equivalent time, the system builders must understand
how to try to.
A software design has two parts :
1. Conceptual Design :
● Conceptual design is an initial/starting phase in the process
of planning, during which the broad outlines of function and
sort of something are coupled.
● It tells the customers that what actually the system will do.
● It is written in the customer’s language and designed
according to the client’s requirements.
● It shows the conceptual model i.e, what should a system look
like.
● It describes that what will happen to the data in the system.
● It starts when a system requirement comes and the phase
looks for a potential solution.
● At the end of this phase, the solutions to the problems are
sent for review.
2. Technical Design :
● A Technical design is a phase in which the event team writes
the code and describes the minute detail of either the whole
design or some parts of it.
● It tells the designers that what actually the system will do.
● It describes any other thing that converts the requirements
into a solution to the customer’s problem.
● It describes the functions or methods of the system.
● It shows the data flow and the structure of the data.
● It includes the functioning and working of the conceptual
design.
● It starts after setting the system requirements.
● At the end of this phase, and after analyzing the technical
design, the specification is initiated.

Weitere ähnliche Inhalte

Ähnlich wie CH. 4.pdf

Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Ramandeep Singh
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptxjack952975
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewghayour abbas
 
Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptxAmarYa2
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Gurpreet singh
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadBhawani N Prasad
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceAnsh Kapoor
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notesAAKASH S
 

Ähnlich wie CH. 4.pdf (20)

Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overview
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptx
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Lecture 2.pptx
Lecture 2.pptxLecture 2.pptx
Lecture 2.pptx
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasad
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Slides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software EngineeringSlides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software Engineering
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
SE
SESE
SE
 

Kürzlich hochgeladen

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 

Kürzlich hochgeladen (20)

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 

CH. 4.pdf

  • 1. SOFTWARE ENGINEERING 18BTCECC503 Prof. Nisha Vadodariya Assistant Professor CE Department ATMIYA - Rajkot UNIT 4- QUALITY ASSURANCE AND CONFIGURATION MANAGEMENT
  • 2. SOFTWARE RELIABILITY ● The probability of failure-free operation of a computer program in a specified environment for a specified time ● Reliability is the probability that a system performs correctly during a specific time duration. Objective of Reliability: ● To find the permanent structure of repeating failures. ● To find the number of failures occurring is the specific period of time. ● To discover the main cause of failure. ● To conduct performance testing of various modules of software product after fixing defects.
  • 3. MEASUREMENT OF RELIABILITY ● Mean Time Between Failures (MTBF): Measurement of reliability testing is done in terms of mean time between failures (MTBF). ● Mean Time To Failure (MTTF): The time between two consecutive failures is called as mean time to failure (MTTF). ● Mean Time To Repair (MTTR): The time taken to fix the failures is known as mean time to repair (MTTR). MTBF = MTTF + MTTR
  • 4. MTTF = mean-time-to-failure, MTTR = mean-time-to-repair MTBF = MTTF + MTTR
  • 5. TYPES OF SOFTWARE MAINTENANCE ● Software maintenance is the process of changing, modifying, and updating software to keep up with customer needs. ● Software maintenance is done after the product has launched for several reasons including improving the software overall, correcting issues or bugs, to boost performance, and more. ● Using the right software maintenance techniques and strategies is a critical part of keeping any software running for a long period of time and keeping customers and users happy. ● Software maintenance is a part of the Software Development Life Cycle. Its primary goal is to modify and update software application after delivery to correct errors and to improve performance. Software is a model of the real world. When the real world changes, the software require alteration wherever possible.
  • 6. Need for Maintenance Software Maintenance is needed for:- ● Correct errors ● Change in user requirement with time ● Changing hardware/software requirements ● To improve system efficiency ● To optimize the code to run faster ● To modify the components ● To reduce any unwanted side effects.
  • 7. TYPES OF SOFTWARE MAINTENANCE
  • 8. 1. Corrective Maintenance ● Corrective maintenance aims to correct any remaining errors regardless of where they may cause specifications, design, coding, testing, and documentation, etc. ● This includes modifications done in order to fix problems ● Corrective maintenance deals with the repair of defects found in day-to-day system functions 2. Adaptive Maintenance ● It contains modifying the software to match changes in the ever-changing environment. ● This includes modifications applied to keep the software product up-to-date ● Adaptive maintenance is the implementation of changes in a part of the system, which has been affected by a change that occurred in some other part of the system
  • 9. 3. Preventive Maintenance ● It involves the concept of reengineering & reverse engineering in which an old system with old technology is re-engineered using new technology. This maintenance prevents the system from dying out. ● This includes modifications done in order to keep the software usable over long period of time ● It includes new features, new user requirements for refining the software and improve its reliability and performance. ● This includes changing the functionalities of as per the user’s changing needs
  • 10. 4. Perfective Maintenance ● It defines improving processing efficiency or performance or restricting the software to enhance changeability. This may contain enhancement of existing system functionality, improvement in computational efficiency, etc. ● Modifications to prevent future problems of software ● It aims to attend problems, which are not significant at this moment but may cause serious issues in future ● It comprises documentation updating, code optimization and code restructuring.
  • 11. RE-ENGINEERING When we need to update the software to keep it to the current market, without impacting its functionality, it is called software re-engineering It is a process where the design of software is changed and programs are re-written Reverse Engineering Forward Engineering
  • 12. Legacy software cannot keep tuning with the latest technology available in the market ⚫ For example, initially UNIX was developed in assembly language. When language C came into existence, UNIX was re-engineered in C, because working in assembly language was difficult. Other than this, sometimes programmers notice that few parts of software need more maintenance than others and they also need re-engineering
  • 13. Obtain specifications of existing software Reverse Engineering Change program and/or data structure Program Restructuring Get re-engineered software developed Forward Engineering Decide what to re-engineer. Is it whole software or a part of it? Perform Reverse Engineering, in order to obtain specifications of existing software Restructure Program if required For example, changing function-oriented programs into object-oriented programs and restructure data as required Apply Forward engineering concepts in order to get re-engineered software
  • 14. REVERSE ENGINEERING ● Reverse engineering can extract design information from source code ● Software Reverse Engineering is a process of recovering the design, requirement specifications and functions of a product from an analysis of its code. ● The purpose of reverse engineering is to facilitate the maintenance work by improving the understandability of a system and to produce the necessary documents for a legacy system. ● This kind of engineering is often referred to as backward engineering.
  • 15. Reverse Engineering Goals: ● Cope with Complexity. ● Recover lost information. ● Detect side effects. ● Facilitate Reuse.
  • 16.
  • 17. Steps of Software Reverse Engineering: 1. Collection Information: This step focuses on collecting all possible information (i.e., source design documents etc.) about the software. 2. Examining the information: The information collected in step-1 as studied so as to get familiar with the system. 3. Extracting the structure: This step concerns with identification of program structure in the form of structure chart where each node corresponds to some routine.
  • 18. 4. Recording the functionality: During this step processing details of each module of the structure, charts are recorded using structured language like decision table, etc. 5. Recording data flow: From the information extracted in step-3 and step-4, set of data flow diagrams are derived to show the flow of data among the processes. 6. Recording control flow: High level control structure of the software is recorded.
  • 19. 7. Review extracted design: Design document extracted is reviewed several times to ensure consistency and correctness. It also ensures that the design represents the program. 8. Generate documentation: Finally, in this step, the complete documentation including SRS, design document, history, overview, etc. are recorded for future use.
  • 20. FORWARD ENGINEERING ● Forward engineering is a process of obtaining desired software from the specifications, which were brought by reverse engineering ● Forward engineering is a method by which we can create an application according to the given requirements.
  • 21. ● In most cases, forward engineering does not simply create a modern equivalent of an older program ● Rather, new user and technology requirements are integrated into the reengineering effort ● The redeveloped program extends the capabilities of the older application ● Forward engineering is same as software engineering process with only one difference it is carried out always after reverse engineering ● Another word for forward engineering is Reclamation or Renovation. ● Here, forward engineering's primary goal is to fulfil the re-engineering process to meet the needs of new consumers.
  • 22. WHAT IS QUALITY? Quality Developed product meets it’s specification Quality Management Ensuring that required level of product quality is achieved Defining procedures and standards Applying procedures and standards to the product and process Checking that procedures are followed Collecting and analysing various quality data
  • 23. SOFTWARE QUALITY MANAGEMENT SYSTEM ● Software quality management also called Software quality assurance. ● It is an umbrella activity that is applied throughout the software process ● It is planned and systematic pattern of activities necessary to provide high degree of confidence in the quality ● Software quality management consist ○ An SQA process ○ Specific quality assurance and quality control tasks ○ Effective software engineering practice ○ Control of all software work products ○ A procedure to ensure compliance with software development standards ○ Measurement and reporting mechanisms
  • 24. SQA ACTIVITIES Prepare an SQA plan for a project Participate in the development of the project’s software process description Review software engineering activities to verify compliance with the defined software process SQA produces high quality software. SQA is beneficial for better reliability. Improving the process of creating software. Improves the quality of the software. Ensure that deviations in software work and work products are documented and handled according to a documented procedure
  • 25. Activities of Software Quality Management: ● Quality Assurance - QA aims at developing Organizational procedures and standards for quality at Organizational level. ● Quality Planning - Select applicable procedures and standards for a particular project and modify as required to develop a quality plan. ● Quality Control - Ensure that best practices and standards are followed by the software development team to produce quality products.
  • 26. THE QUALITY STANDARDS: ISO 9000 ● In order to bring quality in product and service, many organizations are adopting Quality Assurance System ● ISO(International Standards Organization) standards are issued by the International for Standardization (ISO) in Switzerland ● ISO declared its 9000 series of standards in 1987 ● The ISO 9000 standard determines the guidelines for maintaining a quality system. ● The ISO standard mainly addresses operational methods and organizational methods such as responsibilities, reporting, etc. ● ISO 9000 defines a set of guidelines for the production process and is not directly concerned about the product itself.
  • 27. Types of ISO 9000 Quality Standards
  • 28. The ISO 9000 series of standards is based on the assumption that if a proper stage is followed for production, then good quality products are bound to follow automatically. 1. ISO 9001: ● Proper documentation is an important part of an ISO 9001 Quality Management System. ● ISO 9001 is the quality assurance standard that applies to software engineering ● It includes, requirements that must be present for an effective quality assurance system ● ISO 9001 standard is applicable to all engineering discipline ● This standard applies to the organizations engaged in design, development, production, and servicing of goods
  • 29. 2. ISO 9002: ● This standard applies to those organizations which do not design products but are only involved in the production. ● Examples of these category industries contain steel and car manufacturing industries that buy the product and plants designs from external sources and are engaged in only manufacturing those products. ● Therefore, ISO 9002 does not apply to software development organizations. 3. ISO 9003: ● This standard applies to organizations that are involved only in the installation and testing of the products.
  • 30. SIX SIGMA ● Six Sigma is the process of producing high and improved quality output ● Six Sigma is a disciplined, data-driven approach and methodology for eliminating defects in any process - from manufacturing to transactional and from product to service ● To achieve six sigma, a process must not produce more than 3.4 defects per million opportunities ● Six Sigma is a set of techniques driven by quality-control methodology and has its main focus on identifying and eliminating errors.
  • 31. ● Six sigma have two methodologies. 1. DMAIC : Used to enhance an existing business process. (Define, Measure, Analyze, Improve, Control) 2. DMADV : used to create new product designs or process designs. (Define, Measure, Analyze, Design, Verify)
  • 32. DMAIC ● Define: Define the problem or process to improve upon related to the customer and goals ● Measure: How can you measure this process in a systematic way? ● Analyze: Analyze the process or problem and identify the way in which it can be improved. What are the root causes of problems within the process? ● Improve: Once you know the causes of the problems, present solutions for them and implement them. ● Control: Utilize Statistical Process Control to continuously measure your results and ensure you are improving
  • 33. DMADV ● Define: Define the problem or process to improve upon related to the customer and goals ● Measure: How can you measure this process in a systematic way? ● Analyze: Analyze the process or problem and identify the way in which it can be improved. What are the root causes of problems within the process? ● Design: Avoid root causes of defects and meet the customer requirements ● Verify: To verify the process, compare the process with the standard plan and find differences Example of Six Sigma Company For over 100 years they have delivered food to every part of the city, earning them a Six Sigma rating (a Forbes rating of 99.9 % which means one error in 6 million transactions).
  • 34. CMM (CAPABILITY MATURITY MODEL) ● CMM was developed by the Software Engineering Institute (SEI). ● Capability maturity model (CMM) that defines key activities required at different levels of process maturity. ● It is not a software process model. It is a framework that is used to analyze the approach and techniques followed by any organization to develop software products. ● It also provides guidelines to further enhance the maturity of the process used to develop those software products.
  • 35. Key Process Areas (KPA’s): ● Each of these KPA’s defines the basic requirements ❖ The 5 levels of CMM are as follows: Level 1: Initial. • The software process is characterized as ad hoc and occasionally • Few processes are defined and success depends on individual effort • No KPA’s defined
  • 36. Level 2: Repeatable • The necessary process discipline is in place to repeat earlier successes on Project • Experience with earlier projects is used for managing new similar natured projects. Key Process Areas (KPA’s): ● Project Planning ● Configuration Management ● Requirements Management ● Software Quality Assurance
  • 37. Level 3: Defined • The software process for both management and engineering activities is documented, standardized and integrated • At this level, documentation of the standard guidelines and procedures takes place. • This level includes all characteristics defined for level 2 Key Process Areas (KPA’s): ● Peer Reviews ● Intergroup Coordination ● Organization Process Definition ● Organization Process Focus ● Training Programs
  • 38. Level 4: Managed • Detailed measures of the software process and product quality are collected • This level includes all characteristics defined for level 3 Key Process Areas (KPA’s): ● Software Quality Management ● Quantitative Management
  • 39. Level 5: Optimizing • This level includes all characteristics defined for level 4 • This is the highest level of process maturity in CMM and focuses on continuous process improvement in the organization using quantitative feedback. Key Process Areas (KPA’s): ● Process Change Management ● Technology Change Management ● Defect Prevention
  • 40. SQA PLAN ● The SQA Plan provides a road map for establishing software quality assurance ● The plan serves as a template for SQA activities that are instituted for each software project SQA Plan consist: ● The purpose and scope of the plan ● A description of all software engineering work products (e.g., models, documents, source code). ● All applicable standards that are applied during the software process ● The tools and methods that support SQA actions and tasks ● Methods for assembling and maintaining all SQA-related records ● Organizational roles and responsibilities relative to product quality
  • 41. The SQA Plan contains the following sections: 1. Purpose 2. Reference 3. Software configuration management 4. Problem reporting and corrective action 5. Tools, technologies, and methodologies 6. Code control 7. Records: Collection, maintenance, and retention 8. Testing methodology
  • 42. THE SCM PROCESS The SCM (Software Configuration Management) is a set of activities that have been developed to manage change throughout the software life cycle
  • 43. 1. Planning and Identification Process ● This is the initial level of the SCM process to planning properly for the development of the application and identifies the configuration items as per the scope of the project. ● To start meeting and welcome to change requests are the basic criteria for this process. ● The project management plan is the input for this process and approval of the plan is the exit criteria.
  • 44. 2. Version Control Process Version control is important when you are working on a software project over time. ● Many source and documentation files. ● The files change during development. ● You need to keep track of the different version of each file, and possibly roll back to an earlier version. ● The version control indicates to store the different versions of development/configuration by changing the scope or requirements or code or software environment. ● This process provides several versions of that software product.
  • 45. ● A version control system implements or is directly integrated with four major capabilities: 1. A project database that stores all relevant configuration objects, 2. A version management capability that stores all version of configuration object, 3. A make facility that enables the software engineer to collect all relevant configuration objects, and 4. Construct a specific version of the software.
  • 46. 3. Change Control Process ● This process the new change request created by the client to change some configurations on the software product ● i.e. to add or remove or edit on the configuration items as the request is received by the team. ● As per approval of the change request the application will develop and the request will be closed on status. ● Change Control in software development refers to the transition from an existing state of the software product to another improved state of the product. ● CCP (Change Control Process) mainly identifies, documents, and authorizes changes to a software application.
  • 47. Process of Change Management : When any software application/product goes for any changes, it undergoes a series of sequential processes as follows: ● Creating a request for change ● Reviewing and assessing a request for change ● Planning the change ● Testing the change ● Creating a change proposal ● Implementing changes ● Reviewing change performance ● Closing the process
  • 48.
  • 49. Importance of Change Management : ● For improving performance ● For increasing engagement ● For enhancing innovation ● For including new technologies ● For implementing new requirements ● For reducing cost Source of Change : ● Business reorganization ● New Market conditions ● New equipment ● Fixing any bugs/errors ● New customer needs ● Performance or reliability improvement
  • 50. 4. Configuration Audit ● Configuration auditing is an SQA activity that helps to ensure that quality is maintained as changes are made. 5. Status Reporting ● Configuration Status reporting (sometimes also called status accounting) providing accurate status and current configuration data to developers, testers, end users, customers and stakeholders through admin guides, user guides, FAQs, Release Notes, Installation Guide, Configuration Guide, etc.
  • 51. USER INTERFACE DESIGN User interface is the front-end application view to which user interacts in order to use the software. The software becomes more popular if its user interface is: ● Attractive and Simple to use ● Responsive in short time ● Clear to understand ● Consistent on all interface screens Types of User Interface There are two main types of User Interface: ● Text-Based User Interface or Command Line Interface ● Graphical User Interface (GUI)
  • 52. 1. Text-Based User Interface: This method relies primarily on the keyboard. A typical example of this is UNIX. Advantages ● Many and easier to customizations options. ● Typically capable of more important tasks. Disadvantages ● Relies heavily on recall rather than recognition. ● Navigation is often more difficult.
  • 53. Graphical User Interface (GUI): GUI relies much more heavily on the mouse. A typical example of this type of interface is any versions of the Windows operating systems. Advantages ● Less expert knowledge is required to use it. ● The user may switch quickly from one task to another and can interact with several different applications. Disadvantages ● Typically decreased options. ● Usually less customizable. Not easy to use one button for tons of different variations.
  • 54. GUI Characteristics: ● Windows: Multiple windows allow different information to be displayed simultaneously on the user's screen. ● Icons: Icons different types of information. On some systems, icons represent files. On other icons describes processes. ● Menus: Commands are selected from a menu rather than typed in command language. ● Pointing: A pointing device such as a mouse is used for selecting choices from a menu or indicating items of interests in a window. ● Graphics: Graphics elements can be mixed with text or the same display.
  • 56. WEB APPLICATION Definition of Web-application: A web-application is an application program that is usually stored on a remote server, and users can access it through the use of Software known as web-browser. It is a type of computer program that usually runs with the help of a web browser and also uses many web technologies to perform various tasks on the internet.
  • 57. The Flow of the Web Application:
  • 58. 1. In general, a user sends a request to the web-server using web browsers such as Google Chrome, Microsoft Edge, Firefox, etc over the internet. 2. Then, the request is forwarded to the appropriate web application server by the web-server. 3. Web application server performs the requested operations/ tasks like processing the database, querying the databases; produces the result of the requested data. 4. The obtained result is sent to the web-server by the web application server along with the requested data/information or processed data. 5. The web server responds to the user with the requested or processed data/information and provides the result to the user's screen .
  • 60. Interface Design ● One of the challenges of interface design for WebApps is the nature of the user’s entry point. Aesthetic Design ● Also called graphic design, is an artistic offer that complements the technical aspects of WebApp design. Content Design ● Generate content and design the representation for content to be used within a WebApp. Architecture Design ● It is tied to the goals established for a WebApp, the content to be presented, the users who will visit, and the navigation that has been established. Component-Level Design ● Establish data interfaces with external corporate systems. Navigation Design ● Define navigation pathways that enable users to access WebApp content and functions.
  • 61. CONCEPTUAL AND TECHNICAL DESIGN ACCESSING A FUNCTION What is Software Design? ● Software design is a process to convert the user requirements into client requirements user interface form, that helps the software developer in coding and implementation. ● The software design deals with portraying the client’s requirement which is described in Software Requirement Specification (SRS) document into a user interface form. ● To transform requirements into a working system designers must satisfy both customers and therefore the system builders. ● The customers should understand what the system is to try to do. At an equivalent time, the system builders must understand how to try to.
  • 62. A software design has two parts : 1. Conceptual Design : ● Conceptual design is an initial/starting phase in the process of planning, during which the broad outlines of function and sort of something are coupled. ● It tells the customers that what actually the system will do. ● It is written in the customer’s language and designed according to the client’s requirements. ● It shows the conceptual model i.e, what should a system look like. ● It describes that what will happen to the data in the system. ● It starts when a system requirement comes and the phase looks for a potential solution. ● At the end of this phase, the solutions to the problems are sent for review.
  • 63. 2. Technical Design : ● A Technical design is a phase in which the event team writes the code and describes the minute detail of either the whole design or some parts of it. ● It tells the designers that what actually the system will do. ● It describes any other thing that converts the requirements into a solution to the customer’s problem. ● It describes the functions or methods of the system. ● It shows the data flow and the structure of the data. ● It includes the functioning and working of the conceptual design. ● It starts after setting the system requirements. ● At the end of this phase, and after analyzing the technical design, the specification is initiated.