Software Engineering Concepts Introduct
Software Engineering Concepts Introduct
Software Engineering Concepts Introduct
CONCEPTS
TEE 1231
INTRODUCTION TO SE
• What is Software?
• What is Engineering?
What is Software?
.
SOFTWARE EVOLUTION
•
c) Integrity : Just like medicines have
side-effects, in the same way a software may
have a side-effect i.e. it may affect the working
of another application. But a quality software
should not have side effects.
d) Reliability : The software product should
not have any defects. Not only this, it shouldn't
fail while execution. (No hidden aspects…lives
up to expectations no surprises during
operation…bugs that may cause it to
hang..crash etc)
SW Operational Characteristics
• e) Efficiency : This characteristic relates to the way software uses the available
resources. The software should make effective use of the storage space and
execute commands as per desired timing requirements. (Does not slow down or
use up system resources eg memory. Is multithreaded can run sub- processes or
threads to assist OS.. )
-
f) Security : With the increase in security threats nowadays, this factor is gaining
importance. The software shouldn't have ill effects on data / hardware. Proper
measures should be taken to keep data secure from external threats. (Product does
not take over OS processes…is separated from host system…operates outside of the
hardware,,eg uses virtual machine…software that emulates hardware without affecting
it.)
•
g) Safety : The software should not be hazardous to the environment/life.
(Some Software systems are used in patient monitoring, emergency relief, Accident
fire services. They should be able to perform safely without harming the users..eg not
provide false alarms ..eg fire where there is none or wrong patient health readings eg
in a neonatal incubator..humidifiers..temperature etc. wrong location or warning of an
earthquake…etc )
SW Transition Characteristics
•
d) Scalability : It should be very easy to
upgrade it for more work-load (or for an
increased number of users).
e) Testability : Testing the software should be
easy and comprehensive.(Easy especially if its
modularised…)
SW Revision Characteristics
•
f) Modularity : Any software is said to made of
units and modules which are independent of
each other. (These modules are then integrated
to make the final software. If the software is
divided into separate independent parts that
can be modified, tested separately, it has high
modularity. High modularity implies loose
coupling. Programming uses
functions…methods..subroutines to ensure
modularity)
SUMMARY ON GOOD SW
CHARACTERISTICS
• Importance of any of these factors varies from
application to application. In systems where
human life is at stake – critical systems eg life
support, fire, emergency, relief accident-
integrity and reliability factors must be given
prime importance.
• In any business related application where
cost saving is primary usability and
maintainability are key factors to be
considered.
SUMMARY ON GOOD SW
CHARACTERISTICS
• Always remember in Software Engineering,
quality of software is everything,
• Thus the developer/ Engineer must try to deliver
a product which has all these characteristics
and qualities at ALL COST!!
Conclusion on SE intro