0% found this document useful (0 votes)
22 views18 pages

Intro To Se

Software engineering is the application of engineering principles to the design, development, and maintenance of software. It involves the systematic, disciplined, quantifiable approach to developing, operating, and maintaining complex software systems. Some key reasons why software engineering is required include managing large software projects, ensuring scalability, managing costs, handling the dynamic nature of software, and managing quality.

Uploaded by

swagbucks10001
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)
22 views18 pages

Intro To Se

Software engineering is the application of engineering principles to the design, development, and maintenance of software. It involves the systematic, disciplined, quantifiable approach to developing, operating, and maintaining complex software systems. Some key reasons why software engineering is required include managing large software projects, ensuring scalability, managing costs, handling the dynamic nature of software, and managing quality.

Uploaded by

swagbucks10001
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/ 18

Introduction To Software Engineering

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.
•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.
•Engineering is the application of scientific and practical knowledge to invent,
design, build, maintain, and improve frameworks, processes, etc.
• Software is a program or set of programs containing
instructions which provide desired functionality . And
Engineering is the processes of designing and building
something that serves a particular purpose and find a cost
effective solution to problems.
• Engineering on the other hand, is all about developing
products, using well-defined, scientific principles and
methods.
What is Software Engineering?

•Software Engineering is an engineering branch related to the evolution of


software product using systematic well-defined scientific principles,
techniques, and procedures.

•The result of software engineering is an effective and reliable software


product.
What is Software Engineering?
Why is Software Engineering required?

Software Engineering is required due to the following reasons:

•To manage Large software


•For more Scalability
•Cost Management
•To manage the dynamic nature of software
•For better quality Management
Why is Software Engineering required?

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.
•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.
•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.
•Quality Management: Better procedure of software development provides a better and quality
software product
Characteristics of a good software engineer

The features that good software engineers should possess are as follows:
•Exposure to systematic methods, i.e., familiarity with software engineering principles.
•Good technical knowledge of the project range (Domain knowledge).
•Good programming abilities.
•Good communication skills. These skills comprise of oral, written, and interpersonal skills.
•High motivation.
•Sound knowledge of fundamentals of computer science.
•Ability to work in a team
•Discipline
Importance of Software Engineering
Importance of Software Engineering

(1) Reduces complexity:


•Large software systems are always complicated and challenging to progress.
•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 and then integrated together to produce the
software product.

(2) To minimize software cost:


•A lot of resources are required to develop large-scale software systems, such as: manpower, software licenses,
hardware…etc.
•As companies seek to build cutting-edge software to drive growth, determining the overall budget becomes
very tricky.
•Software engineering provides systematic means for having regular interaction and obtaining a budget
estimates.
Importance of Software Engineering

(3) To decrease time:


•One of the main criteria to measuring project success and yet the most challenging is delivering software projects
on time.
•Schedule issues are the main reason for conflicts on projects, especially during the second half of projects where
the actual implementation takes place to produce the final working product.
•Software engineering involves the processes required to ensure timely completion of a project.

(4) Handling Big projects:


•Big projects are not done in a couple of days, and they need lots of work, planning, and management. And to
invest six and seven months of any company, it requires heaps of planning, direction, testing, and maintenance.
•Companies provide many resources to the plan to be completed.
•So to handle a big project without any problem, the company has to go for software engineering methods.
Importance of Software Engineering

• (5) Reliable software:


• •Software reliability is the “probability that the software will execute for a particular
period of time without failure”.
• •Software engineering provides models for software quality measurements and evaluations.
Examples include models for estimating defects inserted and removed throughout the
software lifecycle.

• (6) Effectiveness:
• •Effectiveness means getting the desired results/ doing the right thing!
• •From example: achieving missions and goals; generating satisfied customers; producing
work of high quality.
• •This includes proper use of: communication, technology, organizational and individual
knowledge, and resources.
Software Engineering vs. Computer Science

•Computer science is concerned with theory and fundamentals; This field


involves the understanding and application of both abstract and concrete
knowledge.

•Software engineering is a field largely concerned with the application of


engineering processes to the creation, maintenance, and design of software
for a variety of different purposes.
Software Engineering vs. System Engineering?

•System engineering is concerned with all aspects of computer-based systems


development including hardware, software and process engineering.
•System engineers are involved in system specification, architectural design, integration
and deployment.
•Software engineering is part of this process concerned with developing the software
infrastructure, control, applications and databases in the system.
•Systems engineering is older than Software Engineering:
•Complex industrial systems such as trains and chemical plants.
•As the percentage of software systems has increased, software engineering
techniques are finding their way into systems engineering.
Software engineering

• The economies of ALL developed nations are


dependent on software.
• More and more systems are software controlled
• Software engineering is concerned with theories, methods and
tools for professional software development.
• Expenditure on software represents a
significant fraction of GNP in all developed countries
Frequently asked questions about software
engineering

Question Answer

What is software? Computer programs and associated documentation. Software products may
be developed for a particular customer or may be developed for a general
market.

What are the attributes of good software? Good software should deliver the required functionality and performance to
the user and should be maintainable, dependable and usable.

What is software engineering? Software engineering is an engineering discipline that is concerned with all
aspects of software production.
What are the fundamental software engineering Software specification, software development, software validation and
activities? software evolution.
What is the difference between software engineering and Computer science focuses on theory and fundamentals; software
computer science? engineering is concerned with the practicalities of developing and delivering
useful software.

What is the difference between software engineering and System engineering is concerned with all aspects of computer-based
system engineering? systems development including hardware, software and process
engineering. Software engineering is part of this more general process.
Frequently asked questions about software
engineering
Question Answer

What are the key challenges facing software Coping with increasing diversity, demands for reduced delivery times and
engineering? developing trustworthy software.

What are the costs of software engineering? Roughly 60% of software costs are development costs, 40% are testing costs.
For custom software, evolution costs often exceed development costs.

What are the best software engineering techniques and While all software projects have to be professionally managed and developed,
methods? different techniques are appropriate for different types of system. For example,
games should always be developed using a series of prototypes whereas
safety critical control systems require a complete and analyzable specification
to be developed. You can’t, therefore, say that one method is better than
another.

What differences has the web made to software The web has led to the availability of software services and the possibility of
engineering? developing highly distributed service-based systems. Web-based systems
development has led to important advances in programming languages and
software reuse.

You might also like