©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

Chapter 27 Software Change.
Chapter 26 Legacy Systems.
Software Re-engineering
Chapter 1 Introduction.
Chapter 26 Legacy Systems.
Requirements Engineering Process
Chapter 24 Quality Management.
Chapter 8 Software Prototyping.
Chapter 27 Software Change.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. An Introduction to Software Engineering.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
Configuration management
Software change management
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Chapter 11 Software Evolution
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 1.
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Chapter 1- Introduction
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
CompSci 280 S Introduction to Software Development
An Introduction to Software Engineering
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
MISY 301 Mr.Mohammed Rafeeque.
An Introduction to Software Engineering
Software Engineering Software Engineering is the science and art of
Software Engineering Software Engineering is the science and art of
An Introduction to Software Engineering
Presentation transcript:

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 2 l The economies of all developed nations are dependent on software. l More and more systems are software controlled. l Software engineering is concerned with theories, methods and tools for professional software development. l Software engineering expenditure represents a significant fraction of the GNP of developed countries. Software Engineering

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 3 l Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost. l Software costs more to maintain than it does to develop. l Software engineering is concerned with cost- effective software development. Software Costs

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 4 Software Products l Generic products: – Stand-alone systems which are produced by a development organization and sold on the open market to any customer. l Customized products: – Systems which are commissioned by a specific customer and developed specially by some contractor.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 5 Software Product Attributes l Maintainability l Dependability l Efficiency l Usability

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 6 Importance of Product Characteristics l The relative importance of these characteristics depends on the product and the environment in which it is to be used. l In some cases, some attributes may dominate – In safety-critical real-time systems, key attributes may be dependability and efficiency. l Costs tend to rise exponentially if very high levels of any one attribute are required.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 7 Efficiency Costs

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 8 The Software Process l Structured set of activities required to develop a software system – Specification – Design – Validation – Evolution l Activities vary depending on the organization and the type of system being developed. l Must be explicitly modeled if it is to be managed.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 9 Engineering Process Model l Specification: Set out the requirements and constraints on the system. l Design: Produce a model of the system. l Manufacture: Build the system. l Test: Check the system meets the required specifications. l Install: Deliver the system to the customer and ensure it is operational. l Maintain: Repair faults in the system as they are discovered.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 10 Software Engineering is Different l Normally, specifications are incomplete. l Very blurred distinction between specification, design and manufacture. l No physical realization of the system for testing. l Software does not wear out - maintenance does not mean component replacement.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 11 Generic Software Process Models l Waterfall – Separate and distinct phases of specification and development l Evolutionary – Specification and development are interleaved l Formal Transformation – A mathematical system model is formally transformed to an implementation l Reuse-based – The system is assembled from existing components

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 12 Waterfall Process Model

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 13 Evolutionary Process Model

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 14 Process Model Problems l Waterfall – High risk for new systems because of specification and design problems. – Low risk for well-understood developments using familiar technology. l Prototyping – Low risk for new applications because specification and program stay in step. – High risk because of lack of process visibility. l Transformational – High risk because of need for advanced technology and staff skills.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 15 Hybrid Process Models l Large systems are usually made up of several sub-systems. l The same process model need not be used for all subsystems. l Prototyping for high-risk specifications. l Waterfall model for well-understood developments.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 16 Spiral Process Model

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 17 Spiral Model Advantages l Focuses attention on reuse options. l Focuses attention on early error elimination. l Puts quality objectives up front. l Integrates development and maintenance. l Provides a framework for hardware/software development.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 18 Spiral Model Problems l Contractual development often specifies process model and deliverables in advance. l Requires risk assessment expertise.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 19 Process Visibility l Software systems are intangible so managers need documents to assess progress. l Waterfall model is still the most widely used model.

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 20 Waterfall Model Documents

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 21 Process Model Visibility

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 22 Professional Responsibility l Software engineers should not just be concerned with technical considerations. They have wider ethical, social and professional responsibilities. l No clear rights and wrongs about many of these issues: – Development of military systems – Whistle blowing

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 23 Ethical Issues l Confidentiality l Competence l Intellectual property rights l Computer misuse