160 likes | 284 Views
WXGE6103 Software Engineering Process and Practice. Introduction to SE. References. Sommerville, I. 2007. Software engineering . Eighth Edition. Addison-Wesley. ( Available in UM Pekan Buku)
E N D
WXGE6103Software Engineering Process and Practice Introduction to SE Lecture 1: Introduction to Software Engineering
References • 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.
Course Blog http://busyairah.wordpress.com/
SW SE SW PROCESS WXGE6103 SE COSTS SW PROCESS MODEL GOOD SW SE METHODS CASE
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
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 - computer programs - configuration files - system documentation - user documentation - website Software
Software (SW) • Types of Software • Generic product • Stand-alone, sold in open market • Customised product • Custom-built for particular customer
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
Software process model • A simplified representation of a software process, presented from a specific perspective: • Workflow model - sequence of activities • Data-flow model - information flow • Role/action model - who does what • Generic process models • Waterfall • Iterative Development • Component based Software Engineering
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
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
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)
Key Challenges SW ENG • Heterogeneity • Delivery • Trust
Professional Ethics of Software Engineer • Confidentiality • Should not misrepresent own level of competence • Intellectual property rights • Computer Misuse