Chapter 1 Introduction To Software Engineering
Chapter 1 Introduction To Software Engineering
Introduction to Software
Engineering
ALL RIGHTS RESERVED
No part of this document may be reproduced without written approval from Engineer Milton Mansaray
What is Software?
– functions it executes
• Generic Software:
• Customized Software:
• Maintainability
• Dependability
• Efficiency
• Usability
• Real-time Software
• Business Software
– technology together
3. A pastime similar to banging one's head against a wall, but with fewer
opportunities for rewards. (2 and 3 from The New Hacker’s Dictionary)
– hardware,
– software and
– process engineering
– system specification
– architectural design
– The SSAD approach in which the system and its requirements are
decomposed in structured manner. Software development is carried out
using sub-system structure, tested and integrated and implemented.
• In SSAD, skill lies in decomposing the system whereas in OOSAD skill lies in
modeling the organization and its business in the objects.
• SSAD and OOSAD are dissimilar in focus but similar in that both propose a
problem solving methodology and a set of techniques and tools to assist the
S/W engineer analyze, model, design and develop the system.
Question Answer
Question Answer
What are the key challenges facing Coping with increasing diversity, demands for reduced
software engineering? delivery times and developing trustworthy software.
What are the costs of software Roughly 60% of software costs are development costs,
engineering? 40% are testing costs. For custom software, evolution
costs often exceed development costs.
What are the best software engineering While all software projects have to be professionally
techniques and methods? managed and developed, different techniques are
appropriate for different types of system. For example,
games should always be developed using a series of
prototypes whereas safety critical control systems require
a complete and analyzable specification to be developed.
You can’t, therefore, say that one method is better than
another.
What differences has the web made to The web has led to the availability of software services
software engineering? and the possibility of developing highly distributed
service-based systems. Web-based systems
development has led to important advances in
programming languages and software reuse.