INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Lecture 2 1 Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture # 2 : Process Models
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CS487 Software Engineering Omar Aldawud
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
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.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
 © Ian Sommerville A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Process Models
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
SWE 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.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Prescriptive Process Models
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
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.
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.
CS223: Software Engineering Lecture 2: 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 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Process Models The slides and the material of this chapter is adopted from: 1. “Software Engineering”, by I. Somerville, 7th Ed., “Software.
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.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
Software Project Management Unit 1. Evolving role of software S/w now a days resides in the mobile, mainframes The main role of the s/w is to transform.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Processes (a)
Software What Is Software?
Software Engineering B.E IT Sem-VII
Software Engineering (CSE 314)
Software Myths Deep Mann.
Software Processes.
Chapter 2 Software Processes
Software Testing and Maintenance Maintenance and Evolution Overview
Software Process Models
Software Processes.
Introduction Software Engineering.
Presentation transcript:

INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions, Myths, and Process Models

What is software? Software is a set (configuration) of computer programs and associated documentation and data. (Sommerville, 2001)

What is software? Software can be…  System software  Business software  Engineering and scientific software  Embedded software  Personal productivity software  Web-based software (Web apps)  Artificial intelligence software

What is software? Software…  Is engineered, not manufactured  Doesn’t wear out, but it does deteriorate (see next slide)  Is still usually custom-built, though reusable components that are reliable and easy to use are steadily increasing

Wear vs. Deterioration From (Pressman, 2001)

Software Myths Management myths: All that my people need to develop good software are state-of-the-art computers. All that my people need to develop good software are documented in a book of standards and procedures. If we get behind schedule, we simply add more programmers. If I decide to outsource a software development project to another firm, I can just relax and let that firm do it.

Software Myths Customer myths: A general statement of objectives is sufficient to begin writing programs – we can fill in the details later. Project requirements continually change, but change can be easily accommodated because software is flexible.

Software Myths Practitioner’s myths: Once we write the program and get it to work, our job is done. Until I get the program “running”, I have no way of assessing its quality. The only deliverable work product for a successful project is the working program. Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down.

What is software engineering? Software engineering is the production of quality software (and the study of approaches to all aspects thereof).

Software Process A software process is a set of activities that produce a software product.

Generic Software Activities Specification  Planning  Requirements analysis Development  Design  Coding  Verification and validation Maintenance (a.k.a. Evolution)  Correction  Adaptation  Enhancement

Support Software Activities Complementing the generic software processes are the following umbrella activities: Software project tracking and control Formal technical reviews Software quality assurance Software configuration management Document preparation and production Measurement Risk management

Software Process Model A software process model is a simplified description of a software process.

Some Software Process Models Some software process models:  Linear  Evolutionary  Iterative Incremental Spiral Unified Process Agile  Formal

Some Software Process Models 1.Linear (a.k.a. Waterfall) – oldest and most widely used From (Sommerville, 2001)

Some Software Process Models Drawbacks of the Waterfall model: It is often difficult for customers to state all requirements explicitly.  Accommodating change is difficult in Waterfall.  Therefore this model is appropriate only when requirements are well understood. The customer must have patience.

Some Software Process Models 2.Evolutionary From (Pressman, 2001)

Some Software Process Models Drawbacks of the Evolutionary Prototyping model The customer might think that only a few fixes need to be made to transform the working prototype to a working product. The developer might get so used to hastily made prototype implementation decisions (e.g., an inefficient algorithm) that he becomes lazy to change these to more appropriate/efficient ones.

Some Software Process Models 3.Incremental (Iterative) From (Pressman, 2001)

Some Software Process Models 4.Spiral (Iterative) From (Boehm, 2006)

Some Software Process Models 5.Unified Process (Iterative)

Some Software Process Models 6.XP (Iterative)

Some Software Process Models 6.XP (Iterative)

Some Software Process Models Other generic process models:  Formal methods – used when a mathematical specification is to be developed  Component assembly – used when reuse is a development objective

Impact of Process Model If appropriate,  can improve: development speed quality tracking & control client relations  can minimize: overhead risk exposure If inappropriate,  can make some work: slow unnecessary redundant frustrating

Brooks’ “No Silver Bullet” Software engineering involves:  Essential tasks The fashioning of the complex conceptual structures that compose the abstract software entity  Accidental tasks The representation of these abstract entities in programming languages and the mapping of these onto machine languages within space and speed constraints

Brooks’ “No Silver Bullet”  For “accidental” tasks, increase productivity through automation  For “essential” tasks, increase productivity through: Great designers Rapid prototyping Evolutionary development Software reuse