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

Chapter 1 Introduction

Uploaded by

ankitkunwar780
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)
7 views

Chapter 1 Introduction

Uploaded by

ankitkunwar780
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/ 22

Introduction

Chapter 1

Shristi Awale 1
Topic to be covered
► Definition of software
► Types of software
► Characteristics of software
► Attributes of Good Software
► Definition of SE
► System Engineering and Software Engineering
► Key challenges that SE Facing
► Assignment

Shristi Awale 2
What is software?
► Software is a set of instructions, data or programs used
to operate computers and execute specific tasks
► Some characteristics are:
►Software is not developed or engineered, it is not
manufacture in the classical sense
►Software doesn’t “wear out”
►Most software is “custom built” rather than assembled
from existing components

Shristi Awale 3
The software product
► Who creates software?
►Software engineers
► Why is software Important?
►Affects nearly every aspects of life
► How is Software Built?
►By applying a structured process
► Software products may be
► Generic: developed to be sold to a range of different customers
► Bespoke(custom): developed for a single customer according to their
specification
Shristi Awale 4
What are the work product?

reports documents

► Program
Source
► Documents codes plans
manuals

► data data

Object
prototypes
codes

Test suites Test


results

Shristi Awale 5
Program Software
► Usually small in size ► Large
► Author himself is sole user ► Large no.of users
► Single developer ► Team of developers
► Lack proper user interface ► Well-designed interface
► Lacks proper documentation ► Well documented and user
► Is not in systematic way manual prepared
► Systematics development

Shristi Awale 6
Nature of Software
► is intangible
► Is easy to reproduce
► Hard to automate
► Easy to modify

Shristi Awale 7
Attributes of Good Software
► Correctness: Correctness is important for good software. There
shouldn’t be faults with specification, design or implementation.
► Usability : Users should be able to learn and use a system
easily.
► Efficiency: The less resource a piece of software uses, the
better. Processor, memory and disk space usage should be
minimized.
► Reliability: A system that can perform the required functions
stably is important. Failures should be as rare as possible.
► Integrity: Security should be taken into account. Our software
should let attackers access unauthorized resources.
Shristi Awale 8
► Adaptability : A system that can be used without modification
for different situations it’s good.
► Accuracy : The accuracy of its outputs is good. This measures
if the software outputs the right results for users.
► Robustness : If a system is still working after getting invalid
inputs and stressful environmental conditions, then it’s good
for our system.
► Maintainability: The ease in which an existing system can be
changed is important. The easier that we can make changes,
the better.
► Portability: A system that operates in different environments
from which it’s originally designed makes it good.
► Reusability : The more reusable parts that a piece of software
has, the better.
Shristi Awale 9
Characteristics of software

► Software doesn’t wear out.

Shristi Awale 10
Characteristics of software

► Software does deteriorate

Shristi Awale 11
What is software engineering?
► Is concerned with software systems developed by teams rather
than individual programmers, uses engineering principles in the
development of these systems, and is made up of both technical
and non-technical aspects. – Summerville
► Is discipline that integrates methods, tolls and procedures for
the development of computer software. – Pressman
► Recognizes technical, managerial and socio-technical issues
► Is concern with improving both product and the process by
which product is produced.

Shristi Awale 12
What is well engineered software?
► If software system does what the user wants it is well
engineered.
► If the software systems does what the user wants, and can
be made to continue to do what the user wants, it is well
engineered.
► A engineered system should
► Be easy to maintain

► Be reliable

► Be efficient

► Provide an appropriate user interface.

Shristi Awale 13
Why is software engineering difficult?
► IT involves teams
► Poor communication skills of some team members.
► No.of communicational paths increases as square of
the team size.
► Varying ability of team members.
Inability of some to work as a part of team

► Many activities are independent and must occur in a fixed


order
► Projects are complex
► Requirements changes
Shristi Awale 14
Why study SE?
► To acquire skills to develop large programs
► Ability to solve complex programming problems
► Learn technique of specification, design, interface
development, testing, project management etc.
► To acquire skill to be better programmer

Shristi Awale 15
Difference between software
engineering and computer science

► Computer science is concerned with theory and


fundamentals whereas software engineering is concerned
with the practicalities of developing and delivering useful
software.
► Computer science theories are currently insufficient to
act as a complete underpinning for software engineering.

Shristi Awale 16
Difference between software
engineering and system engineering

► System engineering is concerned with all aspects of


computer based system development including hardware,
software and process engineering. whereas software
engineering is part of this process.
► System engineers are involved in system specification,
architectural design, integration and development.

Shristi Awale 17
Phase of Software engineering
1. Definition phase
2. Development phase
3. support phase
Definition phase:
► It focus on WHAT i.e. to identify what is to be processed
► what function and performance are desired?
► what design constraints exists?
► what validation criteria are required to define a successful system
► Identify the key requirements os the system and the software?
► It performs three major tasks as
► Information engineering
► Software project planning
Shristi Awale ► Requirement analysis 18
Development phase:
► It focus on HOW i.e. to define how data are to be structured.
► How function is to be implemented within a software architecture
► How procedural details are to be implemented?
► How interface are to be characterized?
► How design will be translated into programming language
► how testing will be performed.
► It perform three specific technical tasks as
► Software design
► Code generation
► Software testing

Shristi Awale 19
Support phase:
► It focus on change associated with error

correction, adaptations required as the software


environment evolves, and due to enhancement
bought by the changing customer requirements
► Four types of changes are occurred during

support phase
► Correctness
► Adaptive
► Enhancement
► Prevention
Shristi Awale 20
Key challenges facing SE

► Legacy system
► Heterogeneity
► Delivery

Shristi Awale 21
Assignment
1. Software is both a product and vehicle for delivering a product. Explain.
2. Software is engineered, not manufactured. Explain.
3. “Software does not wear, but it does deteriorate”. Describe this statement.
4. Define software and explain its characteristics and also mention the various
types of software product.
5. Explain some of the Software application you have notices.
6. Compare and contrast programs with Software products.
7. Explain attributes of good software in detail.
8. What are the key challenges facing software engineering?
9. Difference between computer science, software engineering, system
engineering and computer engineering.

Shristi Awale 22

You might also like