introduction/overview, process model. what is software engineering? why we need software...

12
Introduction to Software Development Introduction/overview, Process model

Upload: philippa-hopkins

Post on 23-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

Introduction to Software

DevelopmentIntroduction/overview, Process model

Page 2: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

What is Software Engineering?

Why we need Software Engineering?Software Process Models

Objective

Page 3: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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.

Page 4: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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

Page 5: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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?

Page 6: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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?

Page 7: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

Provides following features:

· Reliable· User-friendly· Cost-effective· Efficient· Maintainable

Well-Engineered Software

Page 8: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

Diff. Between Software Development and Software Management

Management

Construction

Page 9: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

Up Coming Lectures

What is a software process?What is a software process model?

Page 10: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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

Page 11: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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)

Page 12: Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models

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?