0% found this document useful (0 votes)
75 views

Software Engineering: Slide 1

Software engineering is the application of engineering principles to the design, development, and maintenance of software. It involves using systematic, disciplined, and quantifiable approaches to develop, operate, and maintain software. Some key attributes of good software are that it must deliver required functionality, be maintainable, dependable, usable, efficient, and robust under normal operating conditions. The emergence of more complex software and hardware led to the need for software engineering practices to manage large software projects systematically.

Uploaded by

Fahad Khan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Software Engineering: Slide 1

Software engineering is the application of engineering principles to the design, development, and maintenance of software. It involves using systematic, disciplined, and quantifiable approaches to develop, operate, and maintain software. Some key attributes of good software are that it must deliver required functionality, be maintainable, dependable, usable, efficient, and robust under normal operating conditions. The emergence of more complex software and hardware led to the need for software engineering practices to manage large software projects systematically.

Uploaded by

Fahad Khan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Lecture 1

Software Engineering

Slide 1

What is a software?

Computer programs and associated documentation (configuration data and user training)

Software products may be developed for a particular customer or developed for a general market

Generic (shrink-wrapped) - developed to be sold to a range of different customers Bespoke (custom) - developed for a single customer according to their specification

Slide 2

What are the 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

Dependability
Software must be trustworthy
Software should not make wasteful use of system resources Software must be usable by the users for which it was designed

Efficiency

Usability

Slide 3

...attributes of good software


(these two are not always required) Robustness

Software should fail only under extreme conditions

Portability
Should be possible to move from one environment to another

Slide 4

The software crisis

Advances in hardware technologies made it possible to build powerful computers


This allowed building of more complex and powerful software

Existing software development methodologies were not capable of handling such large projects. Hence projects had many problems:
Over budget Late delivery Requirements not met Poor usability

Slide 5

What is software engineering?

Software engineering is an engineering discipline which is concerned with all aspects of software production (Sommerville, 2001) Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available

Slide 6

What is the difference between software engineering and system engineering?

System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process System engineers are involved in system specification, architectural design, integration and deployment

Slide 7

Why does a software engineer need to understand system engineering aspects?

Many software systems are part of a larger system System engineering decisions have direct impacts on software Many systems now have lots of software parts

Slide 8

What is a software process?

A set of activities and associated results whose goal is the development or evolution of a software product Generic (general) activities in all software processes are:
Specification - what the system should do and its development constraints Development - production of the software system Validation - checking that the software is what the customer wants Evolution - changing the software in response to changing demands

Slide 9

You might also like