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

Unit 1 Introduction Software Development Process

This document provides an overview of software engineering concepts including: - Definitions of software engineering from IEEE and other sources emphasizing a systematic approach. - The software crisis of the 1960s when many projects failed due to being over budget and unreliable. - Characteristics of good software including being operational, transitional, and maintainable. - Types of software such as system software, real-time software, and business software. - The software development framework which provides a foundation for building applications and has advantages like increased productivity.

Uploaded by

ShahanwazHavale
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)
74 views

Unit 1 Introduction Software Development Process

This document provides an overview of software engineering concepts including: - Definitions of software engineering from IEEE and other sources emphasizing a systematic approach. - The software crisis of the 1960s when many projects failed due to being over budget and unreliable. - Characteristics of good software including being operational, transitional, and maintainable. - Types of software such as system software, real-time software, and business software. - The software development framework which provides a foundation for building applications and has advantages like increased productivity.

Uploaded by

ShahanwazHavale
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/ 19

MS. R. S.

MORE
ME (COMPUTER)
Lecturer
Department of Information Technology
https://reenamorersm.wordpress.com/
Email: reena.more@rsmpoly.org
Software Engineering
UNIT - 1 Layered Approach
Characteristics of Software
SOFTWARE DEVELOPMENT PROCESS Engineering
WHAT IS A PROBLEM ?

As per a layman’s definition a problem is a difference between the expected state of


affairs and the actual state of affairs. In organizations problems can come in many
forms and can have many causes. In fact most of the times problems are hidden and
what we think of as problems are only symptoms of the problem.

RSM POLYTECHNIC, NASHIK 3


WHAT IS A PROBLEM STATEMENT?

A problem statement is a statement of a current issue or problem that requires


timely action to improve the situation.
This statement is completely objective, focusing only on the facts of the problem
and leaving out any subjective opinions. To make this easier, it's recommended that
you ask who, what, when, where and why to create the structure for your problem
statement.
This will also make it easier to create and read, and makes the problem at hand
more comprehensible and therefore solvable.
The problem statement, in addition to defining a pressing issue, is a lead-in to a
proposal of a timely, effective solution.

RSM POLYTECHNIC, NASHIK 4


WHY IS A PROBLEM STATEMENT IMPORTANT?

A problem statement is a communication tool. Problem statements are important to


businesses, individuals and other entities to develop projects focused on
improvement.

RSM POLYTECHNIC, NASHIK 5


WHAT IS SOFTWARE ENGINEERING?

Software engineering is defined as a process of analyzing user


requirements and then designing, building, and testing software
application which will satisfy those requirements.
“ 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. It also include a set of documents, such as the software
manual , meant for users to understand the software system.”

RSM POLYTECHNIC, NASHIK 6


DEFINITIONS
IEEE, in its standard 610.12-1990, defines software engineering as the application of a
systematic, disciplined, which is a computable approach for the development, operation, and
maintenance of software.
Fritz Bauer defined it as 'the establishment and used standard engineering principles. It
helps you to obtain, economically, software which is reliable and works efficiently on the
real machines'.
Boehm defines software engineering, which involves, 'the practical application of scientific
knowledge to the creative design and building of computer programs. It also includes
associated documentation needed for developing, operating, and maintaining them.'

RSM POLYTECHNIC, NASHIK 7


CLASSES OF SOFTWARE
Software is classified into two classes:
● Generic Software:
is designed for broad customer market whose requirements are very
common, fairly stable and well understood by the software engineer.
● 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.
WHAT WAS THE SOFTWARE CRISIS?

1. It was in the late 1960s when many software projects failed.


2. Many software became over budget. Output was an unreliable software which is
expensive to maintain.
3. Larger software was difficult and quite expensive to maintain.
4. Lots of software not able to satisfy the growing requirements of the customer.
5. Complexities of software projects increased whenever its hardware capability
increased.
6. Demand for new software increased faster compared with the ability to generate
new software.

RSM POLYTECHNIC, NASHIK 9


THE SOLUTION TO SOFTWARE CRISIS

Solution was to the problem was transforming unorganized coding effort into a
software engineering discipline. These engineering models helped companies to
streamline operations and deliver software meeting customer requirements.
1. The late 1970s saw the widespread uses of software engineering principles.
2. In the 1980s saw the automation of software engineering process and growth of
(CASE) Computer-Aided Software Engineering.
3. The 1990s have seen an increased emphasis on the 'management' aspects of
projects standard of quality and processes just like ISO 9001

RSM POLYTECHNIC, NASHIK 10


SOFTWARE ENGINEERING - LAYERED TECHNOLOGY

RSM POLYTECHNIC, NASHIK 11


CHARACTERISTICS OF GOOD SOFTWARE

Every software must satisfy the following attributes:


1. Operational
2. Transitional
3. Maintenance

RSM POLYTECHNIC, NASHIK 12


1. OPERATIONAL
1. Budget
2. Efficiency
3. Usability
4. Dependability
5. Correctness
6. Functionality
7. Safety
8. Security

RSM POLYTECHNIC, NASHIK 13


2. TRANSITIONAL
1. Interoperability
2. Reusability
3. Portability
4. Adaptability

RSM POLYTECHNIC, NASHIK 14


3. MAINTENANCE
1. Flexibility
2. Maintainability
3. Modularity
4. Scalability

RSM POLYTECHNIC, NASHIK 15


TYPES OF SOFTWARE
 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.

 Artificial Intelligence
● (AI) Software:
Programs make use of AI techniques and methods to solve complex problems. Active areas
are expert systems, pattern recognition, games
SOFTWARE DEVELOPMENT FRAMEWORK
Software Framework
A framework, or software framework, is a platform for developing
software applications. It provides a foundation on which software developers can
build programs for a specific platform.
A framework is similar to an application programming interface (API), though
technically a framework includes an API.

RSM POLYTECHNIC, NASHIK 17


SOFTWARE DEVELOPMENT FRAMEWORK
Software Development framework have many advantages that helps software professionals to a
great extent. These are some common advantages of this framework.
Frameworks are really efficient way of creating software.
Frameworks generally help in increasing productivity.
Software required features like Quality, reliability and robustness improves to a significant
level.
Software framework significantly reduces the overall efforts in creating software. Less
programming and testing effort are required for developing software with the help of software
framework.

RSM POLYTECHNIC, NASHIK 18


Thank You
RSM POLYTECHNIC, NASHIK 19

You might also like