Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution.

Slides:



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

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 2. Software Lifecycle
Chap 2. Software Processes
What is software? Computer programs and associated documentation
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.
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
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.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Software Engineering General Project Management Software Requirements
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
CSI315 Web Applications and Technology Overview of Systems Development (342)
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 1 INTRODUCTION TO SOFTWARE DEVELOPMENT: SYSTEM ANALYSIS & DESIGN.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Software and Its Engineering - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 1 The University of Lahore Software Engineering Saeed Akhtar
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
An Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
1. 2 An Introduction to Software Engineering 3 What is software? Computer programs and associated documentation such as requirements, design models and.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
S OFTWARE E NGINEERING C ONCEPT B y Rubel Biswas.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter3:Software Processes
Software Processes (a)
Software Processes.
Software Engineering Software Engineering is the science and art of
Software Engineering Software Engineering is the science and art of
Presentation transcript:

Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW. Data orientation Expert systems AI distributed systems parallel programming

Topic (1)Software Engineering (601321)2 Introduction Software Engineering is concerned with theories, methods and tools needed to develop high quality software products in a cost effective way. Cost effective: –limited resources. –Time schedule.

Topic (1)Software Engineering (601321)3 Software Engineering 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 Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software

Topic (1)Software Engineering (601321)4 Software products A Software: computer programs and associated documentation and configuration files Software products may be:  Generic products developed to be sold to a range of different customers (on the open market to any customer).  Customised products (Bespoke) developed for a specific customer according to their specification.

Topic (1)Software Engineering (601321)5 The software development process Structured set of activities required to develop or evolve a software product Generic activities in all software processes are: –Requirement specification - what the system should do and its development constraints –Design & Development – design and production of the software system –Validation - checking that the software is what the customer wants –Evolution - changing the software in response to changing demands

Topic (1)Software Engineering (601321)6 Software Process Model A simplified representation of a software process, presented from a specific perspective Generic process models: –The waterfall model Separate and distinct phases of specification and development –Evolutionary development Specification and development are interleaved –Formal system development A mathematical system model is formally transformed to an implementation –Reuse-oriented development The system is assembled from existing components

Topic (1)Software Engineering (601321)7 Waterfall model

Topic (1)Software Engineering (601321)8 Evolutionary development

Topic (1)Software Engineering (601321)9 Evolutionary model Exploratory prototyping –Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements Throw-away prototyping –Objective is to understand the system requirements. Should start with poorly understood requirements

Topic (1)Software Engineering (601321)10 Formal System Development Requirement definition Formal specification Formal transformation executable program Integration and system testing

Topic (1)Software Engineering (601321)11 Reuse-oriented development Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems. Process stages –Requirement specification –Component analysis; –Requirements modification; –System design with reuse; –Development and integration. –System validation

Topic (1)Software Engineering (601321)12 Spiral model (1) (2) (3) (4)

Topic (1)Software Engineering (601321)13 Sectors of the spiral model Objective setting –Specific objectives and constraints of the phase. Risk assessment and reduction –Risks are analyzed and information is sought to reduce these risks Development and validation –An appropriate model is chosen and used for the development of this phase Planning: The project is reviewed and plans drawn up for the next round of the spiral

Topic (1)Software Engineering (601321)14 Template for a spiral round Objectives Constraints Alternatives Risks Risk resolution Results Plans Commitment

Topic (1)Software Engineering (601321)15 Software process-characteristics Visibility –Is the process progress externally visible? Supportability –Can the process be supported by CASE tools? Reliability –Are process errors discovered before they result in product errors? Robustness –Can the process continue in spite of unexpected problems?

Topic (1)Software Engineering (601321)16 Process visibility Software systems are intangible so managers need documents to assess progress However, this may cause problems –The time taken to review and approve documents is significant –The need to produce documents constraints process iteration

Topic (1)Software Engineering (601321)17 Computer-aided software Engineering Software tools that support the software development process CASE technology has resulted in significant improvements in quality and productivity But, they should be carefully chosen and staff should be properly trained.

Topic (1)Software Engineering (601321)18 CASE classification CASE systems can be classified according to their –Functionality - what functions do they provide –Process support - what software process activities do they support –The breadth of support which they provide Classification allows tools to be assessed and compared Tools unevenly support phases of the software cycle. (e.g. design and implementation are well supported, but not maintenance and specification)

Topic (1)Software Engineering (601321)19 CASE classification Classification according to breadth: –Tools support single tasks (e.g. documentation, compilation) –Workbenches support activities in a process phase (e.g. design, specification) –Environment support all or most of the software development process.

Topic (1)Software Engineering (601321)20 Software quality/ attributes Testability Maintainability Portability Interoperability Reusability EfficiencySecurity Usability Reliability operational Product revision Product transition

Topic (1)Software Engineering (601321)21 Software quality/ attributes Reliability : The extent to which the program can be expected to perform its intended function with required precision under all conditions. Efficiency : The amount of computing resources required by the program. Security : The extent to which access to data and software by unauthorized persons can be controlled.

Topic (1)Software Engineering (601321)22 Software quality/ attributes Usability : The effort required to learn and operate the software. (user interface, documentation). Maintainability : The effort required to meet changes in user needs. Testability : The effort required to test a program to ensure that it performs its intended function.

Topic (1)Software Engineering (601321)23 Software quality/ attributes Portability : The effort required to translate the program from one HW and/or SW environment to another. Reusability : The extent to which a program or part of it can be reused in other applications. Interoperability : The effort required to couple one system to another.

Topic (1)Software Engineering (601321)24 System Engineering Designing, implementing and installing systems which include hardware, software and people System: a collection of interrelated components working together towards some common objective A system may include software, mechanical, electrical and electronic hardware and be operated by people Large systems are used to solve ‘wicked problems’

Topic (1)Software Engineering (601321)25 System Engineering The behaviour of system components depend on other components System properties can be ‘emergent’ (e.g. reliability) Emergent properties are a consequence of the relationships between system components System and its environment

Topic (1)Software Engineering (601321)26 System failures System failures often occur because of unforeseen inter- relationships between components Hardware reliability What is the probability of a hardware component failing and how long does it take to repair that component? Software reliability How likely is it that a software component will produce an incorrect output. Software failure is usually distinct from hardware failure in that software does not wear out. Operator reliability How likely is it that the operator of a system will make an error?