0% found this document useful (0 votes)
11 views51 pages

Software Engineer Notes Unit 2

Software Engineer notes

Uploaded by

premrajora90501
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)
11 views51 pages

Software Engineer Notes Unit 2

Software Engineer notes

Uploaded by

premrajora90501
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/ 51

Software Configuration management:-

Software Configuration Management (SCM) is a branch of Software Engineering to provide a better process to
handling, organizing and controlling the changes in requirements, codes, teams and other elements in the
software project development life cycle. The SCM primarily deals with version selection, tracking the changes
and version control of software projects with high productivity and minimize the error or risk factor.

Why do we need of software configuration management:-

 There are multiple people working on software which is continually updating.


 It may be a case where multiple version, branches, authors are involved in a software config project,
and the team is geographically distributed and works concurrently.
 Changes in user requirement, policy, budget, schedule need to be accommodated.
 Software should able to run on various machines and operating system.
 SCM process is also beneficial to control the costs involved in making changes to a system
 Helps to develop coordination among stakeholders.

Configuration Management Activities:-


Configuration management activities in software engineering refer to the processes and practices used to manage and track
changes to software code, documentation, and other related artifacts throughout the software development lifecycle. These
activities include version control, branching and merging, code review, testing and deployment, and tracking bugs and
issues. The goal of configuration management is to ensure that software is developed and deployed in a consistent and
controlled manner, making it easier to maintain and update the software over time. This can also help to reduce errors and
improve overall quality.

Configuration management is carried out through these tasks:-

1)Configuration Identification

2)baselines

3)Change control

4)Configuration Status Accounting

5)Configuration Audits and Reviews

Configuration Identification:
Configuration identification is a method of determining the scope of the software system. With the help of this
step, you can manage or control something even if you don’t know what it is.

Activities during this process:

 Identification of configuration Items like source code modules, test case, and requirements
specification.
 Identification of each CSCI in the SCM repository, by using an object-oriented approach.
 Every object has its own features that identify its name that is explicit to all other objects.
 List of resources required such as the document, the file, tools, etc.
Example: Instead of naming folder “Code” it should be named “Code_D” where D represents code should be
backed up daily.

Baseline:
A baseline is a formally accepted version of a software configuration item. It can only be changed through
formal change control procedures.

Activities during this process:

 Facilitate construction of various versions of an application.


 Defining and determining mechanisms for managing various versions of these work products.
 The functional baseline corresponds to the reviewed system requirements.
 widely used baselines include functional, developmental, and product baseline.

Change Control:
In 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.

Activities during this process:

 The request will be checked based on the technical merit, possible side effects and overall impact on
other configuration objects.
 It manages changes and making configuration items Available during the software cycle.

Configuration Status Accounting:


Activities during this process:

 Keeps a record of all the changes made to the previous baseline to reach a new baseline.
 Identify all items to define the software configuration.
 Monitor status of change requests.
 Complete listing of all changes since the last baseline.
 Allows tracking of progress to next baseline.
 Allows to check previous releases/versions to be extracted for testing.

Configuration Audits and Reviews:


Activities during this process:

 Configuration auditing is conducted by auditors by checking that defined processes are being followed
and ensuring that the SCM goals are satisfied.
 To verify compliance with configuration control standards. auditing and reporting the changes made.
 SCM audits also ensure that traceability is maintained during the process.
 Ensures that changes made to a baseline comply with the configuration status reports.
 Validation of completeness and consistency.

Advantages
Below are the advantages mentioned:

 To increase the productive efficiency of software as it controls and tracking the workflow or

development process.

 It welcomes change management so the risk of the product will be less.

 It is used for proper monitoring and auditing of the software development product.

 It will help to enhance the software development life cycle process.

 This process provides a reliable, organized, cost-effective and low-risk software development

application.

 It provides a high-quality software product.

Disadvantages
Below are the disadvantages:

 It needs adequate resources with full knowledge about the software configuration management tools.

 It requires more resources to work with the configuration management process for small industries.

 It requires a highly configured desktop/laptop for the development stages.


What is Quality?
Quality is extremely hard to define, and it is simply stated: “Fit for
use or purpose.” It is all about meeting the needs and expectations
of customers with respect to functionality, design, reliability,
durability, & price of the product.

What is Assurance?
Assurance is nothing but a positive declaration on a product or
service, which gives confidence. It is certainty of a product or a
service, which it will work well. It provides a guarantee that the
product will work without any problems as per the expectations
or requirements.

 Software quality assurance


Software quality assurance is the process of ensuring that
software meets all requirements and expectations. It involves
testing the software to identify bugs and errors and then fixing
them. SQA is an essential part of the software development
process, as it helps ensure that the final product is high quality
and fit for purpose. It includes both static and dynamic testing
methods. Static testing involves the examination of code without
running it, while dynamic testing involves executing the code.
Both static and dynamic testing is important to ensure software
quality. Static testing can identify problems early on before the
code is even executed. This can save time and resources in the
long run. Dynamic testing is important for finding problems that
may not be apparent from examining the code itself.
There are a variety of software quality assurance tools and
techniques available. Some common ones include code
review, unit testing, integration testing, and regression testing.
Code review is a static testing technique that inspects code for
errors or potential problems. It can be done manually or using
automated tools.
Unit testing is dynamic testing that tests individual units of code
(such as functions or modules) independently from other units.
Integration testing ensures that different units of code work
together correctly.
Regression testing checks for previously fixed bugs to ensure
they haven’t reappeared after new code changes have been made.

Why software quality assurance?


The role of software quality assurance in the software
development life cycle is to prevent critical errors or defects
from entering the final version of the software. This is done to
ensure all errors or defects are caught and corrected before the
software is released to the public. The role of software quality
assurance in the development cycle differs from other stages in
the development process because it occurs after all coding is
complete. After all, coding is complete. Developers will better
understand what changes will be necessary for their code to meet
project standards. In addition, this development stage is when
developers begin implementing their ideas into the project.

How to do Quality Assurance: Complete


Process
Quality Assurance methodology has a defined cycle called PDCA
cycle or Deming cycle. The phases of this cycle are:

 Plan
 Do
 Check
 Act
Quality Assurance Process
These above steps are repeated to ensure that processes followed
in the organization are evaluated and improved on a periodic
basis. Let’s look into the above QA Process steps in detail –

 Plan – Organization should plan and establish the process


related objectives and determine the processes that are
required to deliver a high-Quality end product.
 Do – Development and testing of Processes and also “do”
changes in the processes
 Check – Monitoring of processes, modify the processes, and
check whether it meets the predetermined objectives
 Act – A Quality Assurance tester should implement actions that
are necessary to achieve improvements in the processes
 An organization must use Quality Assurance to ensure that the
product is designed and implemented with correct procedures.
This helps reduce problems and errors, in the final product.

What is Quality Control?


Quality control popularly abbreviated as QC. It is a Software
Engineering process used to ensure quality in a product or a
service. It does not deal with the processes used to create a
product; rather it examines the quality of the “end products” and
the final outcome.

The main aim of Quality control is to check whether the products


meet the specifications and requirements of the customer. If an
issue or problem is identified, it needs to be fixed before delivery
to the customer.

QC also evaluates people on their quality level skill sets and


imparts training and certifications. This evaluation is required for
the service based organization and helps provide “perfect” service
to the customers.

Difference between Quality Control and Quality


Assurance?
Sometimes, QC is confused with the QA. Quality control is
to examine the product or service and check for the result.
Quality Assurance in Software Engineering is to examine
the processes and make changes to the processes which
led to the end-product.

Quality Control Vs Quality Assurance


 QA becomes SQA ( Software Quality Assurance)
 QC becomes Software Testing.

Software quality assurance (SQA) Techniques


1. Audits

Audits involve inspecting work products and related information


to determine whether they follow standard processes.
2. Review
A meeting where a software product is reviewed by internal and
external stakeholders and comments and approvals are collected.
3. Simulation
A simulation is a tool that models real-life situations to virtually
study the behaviour of the system under study.
4. Functional Testing
A QA technique checks what the system is doing without
considering how the system works. This type of black box testing
is primarily focused on testing system specifications or
functionality.
5. Code inspection
This is the most formal type of review, running static tests to find
bugs and prevent them from escalating at a later stage. It is
performed by trained mediators/peers and is based on rules,
checklists,
6. Static Analysis
Software analysis is performed by automated tools without
actually running the program. This technique is commonly used
for medical, nuclear, and aerospace software quality assurance.
Software metrics and reverse engineering are common forms of
static analysis.
7. Walkthroughs
Software or code walkthroughs guide developers to explore a
product, ask questions, suggest alternatives, and comment on
possible bugs, standards violations, or other issues by guiding
members of the development team. A type of peer review that you
provide.
8. Six Sigma
Six Sigma is a quality assurance approach aimed at near-perfect
products or services. It is widely used in many fields, including
software. The main goal of Six Sigma is to improve the process so
that the software produced is 99.76% error-free.

Quality Assurance Certifications:


There are several certifications available in the industry to ensure
that Organizations follow Standards Quality Processes. Customers
make this as qualifying criteria while selecting a software vendor.

ISO 9000
This standard was first established in 1987, and it is related to
Quality Management Systems. This helps the organization ensure
quality to their customers and other stakeholders. An
organization who wishes to be certified as ISO 9000 is audited
based on their functions, products, services and their processes.
The main objective is to review and verify whether the
organization is following the process as expected and check
whether existing processes need improvement.

This certification helps –

 Increase the profit of the organization


 Improves Domestic and International trade
 Reduces waste and increase the productivity of the employees
 Provide Excellent customer satisfaction

Quality Assurance Functions:


There are five types of Quality Assurance Function.

1. Technology Transfer This function involves getting a project


design document as well as trial and error data and its
evaluation. The documents are distributed, checked, and
approved.
2. Validation For the entire system, validation master plan is
prepared. Resource planning for execution of a validation plan
is done.
3. Documentation This function controls the distribution and
archiving of documents. Any change in document is adopting the
proper change control procedures.
4. Quality assurance function also involves assuring the quality of
products.
5. It also involves quality improvement plans.

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