WXGE6103 Software Engineering Process and Practice

16
Lecture 1: Introduction to Software Engineering WXGE6103 Software Engineering Process and Practice Introduction to SE

description

WXGE6103 Software Engineering Process and Practice. Introduction to SE. References. Sommerville, I. 2007. Software engineering . Eighth Edition. Addison-Wesley. ( Available in UM Pekan Buku) - PowerPoint PPT Presentation

Transcript of WXGE6103 Software Engineering Process and Practice

Page 1: WXGE6103 Software Engineering Process and Practice

Lecture 1: Introduction to Software Engineering

WXGE6103Software Engineering Process and Practice

Introduction to SE

Page 2: WXGE6103 Software Engineering Process and Practice

Sommerville, I. 2007. Software engineering. Eighth Edition. Addison-Wesley.

(Available in UM Pekan Buku)

Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli. 2003. Fundamentals of Software Engineering. Second Edition. Prentice Hall.

Pfleeger, S. L. 2006. Software Engineering: Theory and Practice. Third Edition. Prentice Hall.

References

Page 3: WXGE6103 Software Engineering Process and Practice

http://busyairah.wordpress.com/

Course Blog

Page 4: WXGE6103 Software Engineering Process and Practice

WXGE6103

SWSE SW PROCESS

SW PROCESS MODEL

SE COSTS

SE METHODS

CASEGOOD SW

Page 5: WXGE6103 Software Engineering Process and Practice

Software Engineering (SE)

Def: An engineering discipline concerned with all aspects of sw production practicality of developing sw delivering useful & high quality sw cost effective

The field of Software Engineering (SE) was born to overcome “software crisis“ (1968) failures of software projects to meet schedule and

budget constraints SE has many sw development approaches

Page 6: WXGE6103 Software Engineering Process and Practice
Page 7: WXGE6103 Software Engineering Process and Practice

Software (SW) What is SW?

Computer programs + associated documentation and configuration data

Characteristics of SW Abstract & intangible Not constrained by material Not governed by physical laws /manufacturing

process

Software

- computer programs - configuration files - system documentation - user documentation - website

Page 8: WXGE6103 Software Engineering Process and Practice

Software (SW)

Types of SoftwareGeneric product

Stand-alone, sold in open marketCustomised product

Custom-built for particular customer

Page 9: WXGE6103 Software Engineering Process and Practice

Software Process

A set of activities and associated results that produce a software product

Generic 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

Page 10: WXGE6103 Software Engineering Process and Practice

Software process model

A simplified representation of a software process, presented from a specific perspective:Workflow model - sequence of activitiesData-flow model - information flowRole/action model - who does what

Generic process modelsWaterfall Iterative DevelopmentComponent based Software Engineering

Page 11: WXGE6103 Software Engineering Process and Practice

Attributes of good software

Maintainability evolve to meet changing needs

Dependability Software must be trustworthy

Efficiency Software should not make wasteful use of system

resources Usability

Software must be usable by the users for which it was designed

Page 12: WXGE6103 Software Engineering Process and Practice

Software Engineering Methods

Structured approaches to software development which include system models, notations, rules, design advice and process guidance Model descriptions

Descriptions of graphical models which should be produced Rules

Constraints applied to system models (e.g. every entity have a unique name)

Recommendations Advice on good design practice

Process guidance What activities to follow

1970s – Structured Analysis (JSD) 1980s - OO methods (Booch, Rumbaugh) 1990s – Unified approach

Page 13: WXGE6103 Software Engineering Process and Practice

CASE (Computer-Aided Software Engineering)

Software tools which are intended to provide automated support for software process activities. Upper-CASE (Tools to support the early process

activities of requirements and design) Lower-CASE (Tools to support later activities

such as programming, debugging and testing)

Page 14: WXGE6103 Software Engineering Process and Practice

SW Eng Sys Eng Comp

ScienceConcerned with practicalities of developing and delivering useful sw

Concerned with all aspects of computer-based systems development including hw, sw and process eng .

SW Eng is subset of sys eng.

Concerned with theory and fundamentals

Page 15: WXGE6103 Software Engineering Process and Practice

Key Challenges SW ENG

Heterogeneity Delivery Trust

Page 16: WXGE6103 Software Engineering Process and Practice

Professional Ethics of Software Engineer

Confidentiality Should not misrepresent own level of

competence Intellectual property rights Computer Misuse