0% found this document useful (0 votes)
6 views

Introduction-to-software-engineering

Software engineering is a systematic process that involves designing, developing, testing, and maintaining software to ensure high quality and reliability. It employs various methodologies and principles, such as modularity, abstraction, and test-driven development, to manage complexity and reduce costs in large projects. The importance of software engineering lies in its ability to minimize time and costs while ensuring the delivery of reliable software solutions.
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)
6 views

Introduction-to-software-engineering

Software engineering is a systematic process that involves designing, developing, testing, and maintaining software to ensure high quality and reliability. It employs various methodologies and principles, such as modularity, abstraction, and test-driven development, to manage complexity and reduce costs in large projects. The importance of software engineering lies in its ability to minimize time and costs while ensuring the delivery of reliable software solutions.
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/ 5

Software Engineering

Topperworld.in

Introduction to software
engineering

⚫ The term software engineering is the product of two words, software,


and engineering.
⚫ The software is a collection of integrated programs.
⚫ Software subsists of carefully-organized instructions and code written by
developers on any of various particular computer languages.
⚫ Computer programs and related documentation such as requirements,
design models and user manuals.

✓ Software Engineering is the process of designing, developing, testing, and


maintaining software. It is a systematic and disciplined approach to
software development that aims to create high-quality, reliable, and
maintainable software.

©Topperworld
Software Engineering

✓ Software engineering includes a variety of techniques, tools, and


methodologies, including requirements analysis, design, testing, and
maintenance.
✓ It is a rapidly evolving field, and new tools and technologies are
constantly being developed to improve the software development process.
✓ By following the principles of software engineering and using the
appropriate tools and methodologies, software developers can create high-
quality, reliable, and maintainable software that meets the needs of its
users.
✓ Software Engineering is mainly used for large projects based on software
systems rather than single programs or applications.
✓ The main goal of Software Engineering is to develop software
applications for improving quality, budget, and time efficiency.
✓ Software Engineering ensures that the software that has to be built
should be consistent, correct, also on budget, on time, and within the
required requirements.

❖ Need of Software Engineering:

➢ Quality Management: Better procedure of software development


provides a better and quality software product.

➢ Huge Programming: It is simpler to manufacture a wall than to a house


or building, similarly, as the measure of programming become extensive
engineering has to step to give it a scientific process.

➢ Adaptability: If the software procedure were not based on scientific and


engineering ideas, it would be simpler to re-create new software than to
scale an existing one.

©Topperworld
Software Engineering

➢ Cost: As the hardware industry has demonstrated its skills and huge
manufacturing has let down the cost of computer and electronic hardware.
But the cost of programming remains high if the proper process is not
adapted.

➢ Dynamic Nature: The continually growing and adapting nature of


programming hugely depends upon the environment in which the client
works. If the quality of the software is continually changing, new upgrades
need to be done in the existing one.

❖ Principle of Software Engineering :

There are several basic principles of good software engineering approach that
are commonly followed by software developers and engineers to produce high-
quality software. Some of these principles include:

1) Modularity: Breaking down the software into smaller, independent, and


reusable components or modules. This makes the software easier to
understand, test, and maintain.

2) Abstraction: Hiding the implementation details of a module or


component and exposing only the necessary information. This makes the
software more flexible and easier to change.

3) Encapsulation: Wrapping the data and functions of a module or


component into a single unit, and providing controlled access to that unit. This
helps to protect the data and functions from unauthorized access and
modification.

©Topperworld
Software Engineering

4) DRY principle (Don’t Repeat Yourself): Avoiding duplication of


code and data in the software. This makes the software more maintainable
and less error-prone.

5) KISS principle (Keep It Simple, Stupid): Keeping the software


design and implementation as simple as possible. This makes the software
more understandable, testable, and maintainable.

6) YAGNI (You Ain’t Gonna Need It): Avoiding adding unnecessary


features or functionality to the software. This helps to keep the software
focused on the essential requirements and makes it more maintainable.

7) SOLID principles: A set of principles that guide the design of software


to make it more maintainable, reusable, and extensible. This includes the
Single Responsibility Principle, Open/Closed Principle, Liskov Substitution
Principle, Interface Segregation Principle, and Dependency Inversion Principle.

8) Test-driven development: Writing automated tests before writing


the code, and ensuring that the code passes all tests before it is considered
complete. This helps to ensure that the software meets the requirements and
specifications.

❖ Importance of Software Engineering:

The importance of Software engineering is as follows:

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. Software engineering divides big problems into
various small issues. And then start solving each small issue one by one. All
these small problems are solved independently to each other.

©Topperworld
Software Engineering

2.To minimize software cost: Software needs a lot of hardwork 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. In turn, the cost for software productions becomes less as compared
to any software that does not use software engineering method.

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. And to invest six and
seven months of any company, it requires heaps of planning, direction, testing,
and maintenance. No one can say that he has given four months of a company
to the task, and the project is still in its first stage. Because the company has
provided many resources to the plan and it should be completed. 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 its 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.

©Topperworld

You might also like