0% found this document useful (0 votes)
32 views14 pages

Area 1

The document discusses what software engineering is and defines it as a systematic, disciplined and quantifiable approach for developing, operating and maintaining software. It describes software and its characteristics, roles, classes, and importance. It also discusses principles of software engineering and attributes of good quality software.

Uploaded by

mi920865
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views14 pages

Area 1

The document discusses what software engineering is and defines it as a systematic, disciplined and quantifiable approach for developing, operating and maintaining software. It describes software and its characteristics, roles, classes, and importance. It also discusses principles of software engineering and attributes of good quality software.

Uploaded by

mi920865
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

What is Software/ Software Engineering?

The term software engineering is composed of two words, software and engineering.
Software is more than just a program code. A program is an executable code, which
serves some computational purpose.

Software is a set of instructions to acquire inputs and to manipulate them to produce the
desired output in terms of functions and performance as determined by the user of the
software.
Software programs can be developed without S/E principles and methodologies but they are
indispensable if we want to achieve good quality software in a cost effective manner.
Software is defined as:
Instructions + Data Structures + Documents
Engineering is the branch of science and technology concerned with the design, building,
and use of engines, machines, and structures. It is the application of science, tools and
methods to find cost effective solution to simple and complex problems.
Software Engineering is a framework for building software and is an engineering approach
to software development.

SOFTWARE ENGINEERING is defined as a systematic, disciplined and quantifiable


approach for the development, operation and maintenance of software.
Role of software

• The Evolving role of software

• The dual role of Software is as follows:


1. A Product- Information transformer producing, managing and displaying
information.
• 2. A Vehicle for delivering a product- Control of computer(operating system),the
communication of information(networks) and the creation of other programs.
Software is considered to be a collection of executable programming code, associated
libraries and documentations. Software, when made for a specific requirement is called
software product.
Description of the Software

• A software is described by its capabilities. The capabilities relate to the functions it


executes, the features it provides and the facilities it offers.
EXAMPLE
Software written for Sales-order processing would have different functions to
process different types of sales order from different market segments .
 The features for example , would be to handle multi-currency computing,
updating product , sales and Tax status.
 The facilities could be printing of sales orders, email to customers and
reports to the store department to dispatch the goods.
Characteristics of software
• Software has a dual role. It is a product, but also a vehicle for delivering a product.

• Software is a logical rather than a physical system element.

• Software has characteristics that differ considerably from those of hardware.

 Software is developed or engineered, it is not manufactured in the


classical sense

 Software doesn’t “wear out”, but it deteriorates due to change

 Most software is custom-built, rather than being assembled from


existing components.
Classes of Software/Software products
Software is classified into two classes:
1. Generic Software: is designed for broad customer market whose requirements are very
common, fairly stable and well understood by the software engineer.

 Stand-alone systems that are marketed and sold to any customer Who wishes to buy
them?
 Examples PC software such as editing, graphics programs, project management tools; CAD
software; software for specific markets such as appointments systems for dentists.

2.Customized Software: is developed for a customer where domain environment and


requirements are being unique to that customer and cannot be satisfied by generic products.
 Software that is commissioned by a specific customer to meet their own needs.
 Examples – embedded control systems, air traffic control software, traffic monitoring
systems.
CHARACTERESTICS OF GOOD SOFTWARE
A software product can be judged by what it offers and how well it can be used. The
quality of a software product is determined by what it offers and how easily it can be
used. Software is judged by different people on different grounds. Customers, for
instance, want software that meets their specific needs. Similarly, developers engaged
in designing, coding, and maintaining the software determine the quality of the
software by assessing its internal characteristics

This software must satisfy on the following grounds:


1. Operational
2. Transitional
3. Maintenance
Well-engineered and crafted software is expected to have the following characteristics:
Operational
This tells us how well software works in operations. It can be measured on
 Budget
 Usability
 Efficiency
 Correctness
 Functionality
 Dependability.
Transitional
This aspect is important when the software is moved from one platform to another
Portability
Interoperability
Reusability
Adaptability

Maintenance
This aspect briefs about how well a software has the capabilities to maintain itself in
the ever-changing environment:
Modularity
Maintainability
 Flexibility
Scalability
Why Software is Important?
The economies of ALL developed nations are dependent on software.
More and more systems are software controlled (transportation, medical,
telecommunications, military, industrial, entertainment, etc…)
Software engineering is concerned with theories, methods and tools for professional software
development.
Expenditure on software represents a significant fraction of Gross national product (GNP) in
all developed countries.

Features of Software
Its characteristics that make it different from other things human being build.
Features of such logical system:
Software is developed or engineered; it is not manufactured in the classical sense which has
quality problem.
Software doesn't "wear out.‖ but it deteriorates (due to change). Hardware has bathtub curve
of failure rate ( high failure rate in the beginning, then drop to steady state, then cumulative
effects of dust, vibration, abuse occurs).
Applications Software
I. System software: such as compilers, editors, file management utilities
II. Application software: stand-alone programs for specific needs.
III. Engineering/scientific software: Characterized by ―number crunching‖ algorithms.
such as automotive stress analysis, molecular biology, orbital dynamics etc
IV. Embedded software resides within a product or system. (key pad control of a
microwave oven, digital function of dashboard display in a car)
V. Product-line software focus on a limited marketplace to address mass consumer market.
(word processing, graphics, database management)
VI. WebApps (Web applications) network centric software. As web 2.0 emerges, more
sophisticated computing environments is supported integrated with remote database
and business applications.
VII. AI software uses non-numerical algorithm to solve complex problem. Robotics, expert
system, pattern recognition game playing
What are the attributes of good software?

The software should deliver the required functionality and performance to the
user and should be
• Maintainable, dependable and usable.
Maintainability
• Software must evolve to meet changing needs
Dependability
Software must be trustworthy
Efficiency
Software should not make wasteful use of system resources
• Usability
Software must be usable by the users for which it was designed
Changing nature of software(Types)
 System Software- A collection of programs written to service other
programs at system level.
For example, compiler, operating systems.
 Real-time Software- Programs that monitor/analyze/control real world
events as they occur.
 Business Software- Programs that access, analyze and process business
information.
 Engineering and Scientific Software - Software using “number
crunching” algorithms for different science and applications. System
simulation, computer-aided design.
 Embedded Software-:
Embedded software resides in read-only memory and is used to control
products and systems for the consumer and industrial markets. It has very
limited and esoteric functions and control capability.
 Artificial Intelligence (AI) Software:
Programs make use of AI techniques and methods to solve complex
problems. Active areas are expert systems, pattern recognition, games
 Internet Software :
Programs that support internet accesses and applications. For example,
search engine, browser, e-commerce software, authoring tools.
Artificial intelligence software: Artificial Intelligence software makes use of non numerical
algorithms to solve complex problems that are not amenable to computation or straight
forward analysis. Examples are expert systems, artificial neural network, signal processing
software etc.
7. Web based software: The software related to web applications come under this category.
Examples are CGI, HTML, Java, Perl, DHTML etc
Principles of Software Engineering
• Seven principles have been determined which form a reasonably
independent and complete set. These are:
• 1) Manage using a phased life-cycle plan.
• (2) Perform continuous validation.
• (3) Maintain disciplined product control.
• (4) Use modern programming practices.
• (5) Maintain clear accountability for results.
• (6) Use better and fewer people.
• (7) Maintain a commitment to improve the process

You might also like