0% found this document useful (0 votes)
3 views6 pages

Software Engineering

Class 12th software engineer

Uploaded by

rayees bhat
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)
3 views6 pages

Software Engineering

Class 12th software engineer

Uploaded by

rayees bhat
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

SOFTWARE ENGINEERING CLASS 12th

What is Software Engineering?

The term software engineering is the product of two words, software, and engineering.
The software is a collection of integrated programs. Engineering is the application

of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks,

processes, etc.

Software Engineering is an engineering branch related to the evolution of software product using

well-defined scientific principles, techniques, and procedures. The result of software engineering is

an effective and reliable software product.

Need and Importance of Software Engineering

The necessity of software engineering appears because of a higher rate of progress in user
requirements and the environment on which the program is working. Here are some reasons that
show the need of S/W engineering:
1. Reduces complexity: Big software is always complicated and challenging to progress.
Software engineering has a great solution to reduce the complication of any project.
2. To minimize software cost: Software needs a lot of hard work and software engineers are
highly paid experts. A lot of manpower is required to develop software with a large number
of codes. But in software engineering, programmers project everything and decrease all
those things that are not needed.
3. To decrease time: Anything that is not made according to the project always wastes time.
And if you are making great software, then you may need to run many codes to get the
definitive running code. This is a very time-consuming procedure, and if it is not well
handled, then this can take a lot of time. So if you are making your software according to
the software engineering method, then it will decrease a lot of time.
4. Handling big projects: Big projects are not done in a couple of days, and they need lots of
patience, planning, and management.. So to handle a big project without any problem, the
company has to go for a software engineering method.
5. Reliable software: Software should be secure, means if you have delivered the software,
then it should work for at least it is given time or subscription. And if any bugs come in the
software, the company is responsible for solving all these bugs. Because in software
engineering, testing and maintenance are given, so there is no worry of its reliability.
6. Effectiveness: Effectiveness comes if anything has made according to the standards.
Software standards are the big target of companies to make it more effective. So Software
becomes more effective in the act with the help of software engineering.

Software Development Life Cycle (SDLC) or Phases of S/W development

A software life cycle model (also termed process model) is a pictorial and diagrammatic

representation of the software life cycle. SDLC Cycle represents the process of developing

software. SDLC framework includes the following steps:

1. Requirement analysis

Requirement Analysis is the most important and necessary stage in SDLC. The senior members
of the team perform it with inputs from all the stakeholders and domain experts or SMEs in the
industry. Planning for the quality assurance requirements and identifications of the risks
associated with the projects is also done at this stage. Business analyst and Project organizer set
up a meeting with the client to gather all the data like what the customer wants to build, who will be
the end user, what is the objective of the product. Before creating a product, a core understanding
or knowledge of the product is very necessary.
2. Systems Analysis

It is a process of collecting and interpreting facts, identifying the problems, and decomposition of a
system into its components.

System analysis is conducted for the purpose of studying a system or its parts in order to identify
its objectives. It is a problem solving technique that improves the system and ensures that all the
components of the system work efficiently to accomplish their purpose.

3. System Design
System design is a mechanism to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation. It deals with representing the
client's requirement, into a form, i.e., easily implementable using programming language.
The software design phase is the first step in SDLC (Software Design Life Cycle), which moves
the concentration from the problem domain to the solution domain. In software design, we
consider the system to be a set of components or modules with clearly defined behaviours &
boundaries.

4. System Implementation

Implementation is a process of ensuring that the information system is operational. It involves −

 Constructing a new system from scratch


 Constructing a new system from the existing one.

Implementation allows the users to take over its operation for use and evaluation. It involves
training the users to handle the system and plan for a smooth conversion.

5. System Maintenance

Maintenance means restoring something to its original conditions.. System maintenance


conforms the system to its original requirements Thus, maintenance changes the existing
system,. It is an important part of system development that includes the activities which
corrects errors in system design and implementation, updates the documents, and tests the
data.
What is Software Testing

Software testing is a process of identifying the correctness of software by considering its all
attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution of
software components to find the software bugs or errors or defects. Software testing provides an
independent view and objective of the software and gives surety of fitness of the software. It
involves testing of all components under the required services to confirm that whether it is
satisfying the specified requirements or not. The process is also providing the client with
information about the quality of the software.

Type of Software testing

We have various types of testing available in the market, which are used to test the application or
the software. With the help of below image, we can easily understand the type of software testing:

1. Unit Testing

Unit testing is a type of software testing that focuses on individual units or components of a
software system. The purpose of unit testing is to validate that each unit of the software works as
intended and meets the requirements. Unit testing is typically performed by developers, and it is
performed early in the development process before the code is integrated and tested as a whole
system.
Unit Testing Techniques:

There are 2 types of Unit Testing Techniques. They are

BLACKBOX TESTING WHITEBOX TESTING

The Black Box Test is a test that only considers


The White Box Test is a method used to test
the external behaviour of the system; the internal
software taking into consideration its internal
workings of the software are not taken into
functioning.
account.

It is carried out by testers. It is carried out by software developers.

This method is used in System This method is used in Unit Testing or


Testing or Acceptance Testing. Integration Testing.

It is the least time consuming. It is most time consuming.

It is the behaviour testing of the software. It is the logic testing of the software.

It is also known as clear box testing, code-


It is also known as data-driven testing, functional
based testing, structural testing, and
testing, and closed box testing.
transparent testing.

Black Box Test is not considered for algorithm White Box Test is well suitable for algorithm
testing. testing.
Beta Version
The beta stage, named after the second letter of the Greek alphabet, is the code name used to
signify that a software product has moved into its second phase of testing and is ready for external
use by customers or clients, often referred to as “beta testers”. Some organizations will label this
phase as the “Early Adopter” phase.

Once a beta version is released, it generally undergoes heavier testing than it did during its alpha
phase. It allows companies to gauge how well their software will perform under real-world
conditions.

Final Version
A software release is the final version of the software released to the end-users after further
enhancements and bug fixes. The process involves several activities that include requirements
analysis, code development, creating the build, deployment, and software testing.

A stable release or a final version is a software package that has been tested and verified. It is the
latest (and sometimes final version) of a program that is considered safe for public use. This kind
of release is also called a “Stable” release.

You might also like