Unit 1 Introduction
Unit 1 Introduction
Engineerin
g
BCA IV SEMESTER-TU
What is software?
What is software?
Programs
Documentation
Operating Procedures
Software Program+Documentation+Operating
Procedures
Components of software
Compiled by: Si S
3
Documentation
Manuals
Analysis /Specification
Design
Implementation
Testing
V V
Formal Specification
Context-
Diagram
Flow Charts
Entity-Relationship Diagram
Test Data
-Test Results
Documentation consists of
different types of manuals are
Operating Procedures
System Overview
User
Beginner's Guide
Manuals
Tutorial
Reference Guide
Operational Manuals
Installation Guide
System
Administration Guide
Conclusively...
Software
is a computer program, its associated
documents and configuration data which is
needed to make these programs operate
correctly. A software system usually consists
of a number of separate programs,
configuration files which are used to set up
these programs, system documentation which
describes the structure of the system and user
documentation which explains how to use the
system.
Compiled by: Si S
6
Software Applications
•System software
Real-time software
Business software
Compiled by: Si S
7
Engineering
and Scientific Software
Web based
Software
Compiled by: Si S
Embedded Software
Business
Software
Artificial
Intelligence Personal
Software Computer
Software
Software products
Software Products may be developed for a
particular customer or may be developed for a
general market. There are two types of software
products:
Generic products:
These are stand-alone systems which are
produced by a development organization and
sold on the open market to a range of different
customers. Sometimes they are referred to as
shrink-wrapped software. Examples:
databases, word processors, drawing
packages and project management tools.
Compiled by: Si S
10
Software Product
Software product is a product
designated for
delivery to the user
source
codes
documents
reports
manuals
object codes
plans
data
test suites
test results
prototypes ctivate
11
o to Setting
Characteristics of
Software
Software is a logical rather than a physical
system element. Therefore, software has
characteristics that are considerably different
than those of hardware. When hardware is built,
the human creative process (analysis, design,
construction, testing) is ultimately translated into
a physical form.
Software Characteristics:
mortality
Time
Wear out
phase
Software Characteristics:
Result of
Side Effects
Change
Actual
Idealized
Time
Software Characteristics:
Comparison of constructing a bridge
vis-à-vis writing a program.
Sr.
Constructing a bridge
No
1.
The problem is well understood
2.
There are many existing bridges
3.
4.
5.
6.
7.
The requirement for a bridge typically do not change much during
construction The strength and stability of a bridge can be calculated
with reasonable precision When a bridge collapses, there is a detailed
investigation and report
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 of
the customers. This is a critical attribute
because software change is an inevitable
consequence of a changing business
environment.
•Dependability
Software must be trustworthy. Dependability
has a range of characteristics, including
reliability, security and safety. Dependable
software should not cause physical or
economical damage in the event of system
failure.
Efficiency
It refers to the ability of the software to use
system resources in the most effective and
efficient manner. software should make effective
use of storage space and executive
command as per desired timing
requirement. Efficiency therefore includes
responsiveness, processing time, and memory
utilization,
etc.
•Usability
16
•Reliability
A set of attribute that bear on capability of
software to maintain its level of performance
under the given condition for a stated period of
time.
Portability
A set of attribute that bear on the ability of
software to be transferred from one environment
to another, without or minimum changes.
•Robustness
What is software
engineering?
What is software
engineering?
At the first conference on software engineering
in 1968, Fritz Bauer defined software
engineering as "The establishment and use
of sound engineering principles in order to
obtain economically developed software that is
reliable and works efficiently on real machines".
Definition phase
• It focus on WHAT i.e. to identify what is to be
processed
• What functions and performance are desired?
• What design constraints exist?
• What validation criteria are required to define a
successful system?
Identify the key requirements of the systems
and the software?
It perform three major tasks as
• Information engineering
Software project planning Requirement analysis
Compiled by: Si S
21
CTD...
Development phase
• It focus on HOW i.e. to define how data are to be
structured.
Compiled by: Si S
22
CTD...
Support
It focus on change associated with error
correction, adaptations required as the software
environment evolves, and changes due to
enhancements brought by the changing customer
requirements.
Four types of changes are encountered during
the support phases:
Correction: Use of corrective maintenance for
any error encountered
during support.
Adaptation : Use of adaptive maintenance to
accommodate changes in the
external environment. Example: Change in the
CPU, OS,
Business rules, external product characteristics)
□ Enhancement: Use of perfective
maintenance that extends the software
beyond its original functional requirements.
Prevention: Use of preventive maintenance
by conducting software re- engineering to
avoid software deterioration and to correct, adopt or
enhance its features
Compiled by: Si S
23
Software Myths
Software standards provide software
engineers with all the guidance they need. The
reality is the standards may be outdated and
rarely referred to.
Compiled by: Si S
25
Myth Ctd...
▪A general statement of objectives from the
customer is all that is needed to begin a
software project. The reality is without constant
communication between the customer and the
developers it is impossible to build a software
product that meets the customer's real needs.
Summary
Assignment Questions
Q1. Software is both a product and a vehicle
for delivering a product. Explain.
Software Myths
(Management Perspectives)
Management may be confident
about good standards and clear
procedures of the company.
Compiled by: Si S
30
Software Myths
(Management Perspectives)
Compiled by: Si S
31
Software Myths
(Management Perspectives)
Unfortunately,
that may further delay the schedule!
Compiled by: Si S
32
Software Myths
(Management Perspectives)
Compiled by: Si S
33
Software Myths
(Management Perspectives)
Compiled by: Si S
34
Software Myths (Customer
Perspectives)
Compiled by: Si S
38
Compiled by: Si S
39
Compiled by: Si S
40
More Exercises
5. What
is the significance of software crisis in reference to
software engineering discipline.
Compiled by: Si S
41
More Exercises @
12.Describe
the characteristics of software contrasting it with the
characteristics of hardware.
More Exercises
More Exercises @