introduction/overview, process model. what is software engineering? why we need software...
TRANSCRIPT
Introduction to Software
DevelopmentIntroduction/overview, Process model
What is Software Engineering?
Why we need Software Engineering?Software Process Models
Objective
In order to answer this question we need to examine the characteristics of software:
first of all software is developed or engineered, it is not manufactured, secondly software does not wear out.
1. What is software?2. What is software engineering?
3. What is Well-Engineered Software?4. Diff. Between Software Development and
Software Management5. What is a software process?6. What is a software process model?7. What are the costs of software engineering?8. What are software engineering methods?9. What is CASE (Computer-Aided Software
Engineering)10. What are the key challenges facing software
engineering?
FAQs about software engineering
Computer programs and associated documentation
Types:◦ Software products may be developed for a
particular customer (Bespoke) or may be developed for a general market (generic)
◦ System software, compilers, editors.◦ Real time software, software that
monitor/control real world event.◦ Embedded software read only memory,
keypad of microwave oven◦ Personal computer software.◦ Web based software.
What is software?
Software engineering is concerned with theories, methods and tools for professional software development.
Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production.
Software Engineering is the art and science of building significant software systems that are:◦ On Time◦ On Budget◦ With acceptable performance◦ With correct operation
What is software engineering?
Provides following features:
· Reliable· User-friendly· Cost-effective· Efficient· Maintainable
Well-Engineered Software
Diff. Between Software Development and Software Management
Management
Construction
Up Coming Lectures
What is a software process?What is a software process model?
Cost of complete software development and maintenance. Software costs often dominate system costs. The costs of
software on a PC are often greater than the hardware cost Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several
times development costs Roughly 60% of costs are development costs, 40% are testing
costs. For custom software. Costs vary depending on the type of system being developed and
the requirements of system attributes such as performance and system reliability
Distribution of costs depends on the development model that is used
Software Engineering costs
Software systems which are intended to provide automated support for software process activities.
CASE systems are often used for method support
Upper-CASE◦ Tools to support the early process activities of
requirements and designs Lower-CASE
◦ Tools to support later activities such as programming, debugging and testing
What is CASE (Computer-Aided Software Engineering)
Coping with legacy systems ( old, valuable systems must be maintained and updated)
Heterogeneity, systems are required to operate as distributed across networks that include a different type of hardware and software
Delivery, there is increasing pressure for faster delivery of software
What are the key challenges facing software engineering?