MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Prescriptive Process models
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
©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,
CSE 470 : Software Engineering The Software Process.
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.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Software Engineering Process
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©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.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSC System Analysis and Design
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Chapter 3 Software Processes.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©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.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
An Introduction to Software Engineering
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©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.
Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Waterfall Model Software project Management. Waterfall Model  The Waterfall Model was first Process Model to be introduced. It is also referred to as.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter3:Software Processes
Chapter 2 – Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Processes (a)
Software Process Models
Models of Software Development Life Cycle (SDLC)
Chapter 2 SW Process Models
Chapter 2: Software Process Models
Software Processes.
Requirements and the Software Lifecycle
Chapter 2 Software Processes
An Overview of Software Processes
An Overview of Software Processes
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier

MADALINA CROITORU Software crisis Survey of outcomes from Standish Group 280,000 development projects 1.Successful 2.Cancelled 3.Late, over budget, incomplete

MADALINA CROITORU Goals of software engineering Satisfy user requirements High reliability Low maintenance costs Deliver on time Low production cost High performance Ease of reuse

MADALINA CROITORU Software process models Determine the order of the stages of software development. Establish the transition criteria to proceed from one stage to the next. What shall we do next? How long should we take?

MADALINA CROITORU Code and fix

MADALINA CROITORU Code and fix difficulties After many changes the code becomes badly constructed and expensive to maintain. Design phase needed. Poor match to users’ needs. Requirements phase needed. Poor preparation for testing and modification. Test phase and evolution phase.

MADALINA CROITORU

MADALINA CROITORU Why is software development not ideal Fallibility of software professions Change of clients requirements while the software is being developed Need for maintenance

MADALINA CROITORU Public transport Fare machine that takes dollar bills Sensor scans bill, image recognition decides if genuine –If any piece of paper works, company loses $$ –If valid bills are rejected, customers annoyed Response time < 1sec Accuracy 98% in image recognition The last two are in conflict. Why?

MADALINA CROITORU Example 1.First version implemented 2.Test showed that the real-time constraint was not achieved. The reason was using “double” instead of “float”. The programmer changed the code. 3.Before completing the work in 2, tests showed that even with this change the real time constraint would still not be made. New image recognition algorithm may do it. 4.Company wishes to get the accuracy up to 99.9% to market the product. 5.Sensors become obsolete

MADALINA CROITORU

MADALINA CROITORU Iterative and incremental development Moving targets (customer driven, hardware) Iteration Increment Identification of work flows –Requirements, analysis, design, implement, test Unified process

MADALINA CROITORU Waterfall life cycle model The seminal paper for this model appeared in 1970 and was reprinted in 1987 (Royce 1987)

MADALINA CROITORU

MADALINA CROITORU Waterfall (plan driven) Based on project milestones. Each “signed off” before going onto the next Reinforced by documentation; very important in large projects Gives discipline Works well if requirements are fixed No iteration

MADALINA CROITORU Waterfall model Requirement analysis and definition System and software design Implementation and unit testing System testing

MADALINA CROITORU Requirement analysis, definition and specification Requirement analysis: Long consultation with the customer to find out what they want Requirement definition: stating what the user wants so that is understandable both by user and developers Requirement specification: formal document (sometimes acts as a contract)

MADALINA CROITORU Design Requirements divided into two: –Software –Hardware Software design means representing the function of every unit in such way that it can be transformed directly into software

MADALINA CROITORU Implementation Unit design transformed into software Individual units are then tested to make sure they satisfy their specification

MADALINA CROITORU Testing Individual units are integrated gradually Tested for compatibility and functionality System is deployed System is maintained

MADALINA CROITORU Criticism of waterfall The milestones did not fit in with an increasing number of project situations (Boehm 1996) Royce in the 1970 paper pointed out the shortcomings, and suggested prototyping and “do it twice”. However, he rather erroneously has been attributed with a very rigid process.

MADALINA CROITORU Boehm 1996 A prototype is worth 100,000 words. Written specifications are not effective. Gold plating. Fixed requirements encourage elaborate additions that may not be needed. Inflexible point solutions. These are optimised about the original solution. (Both waterfall and evolutionary) Need to manage risk. (Both waterfall and evolutionary)

MADALINA CROITORU Current challenges

MADALINA CROITORU Current challenges Most commercial systems are now networked Software systems must integrate with different software systems developed by OTHER ORGANISATIONS using: –Different hardware –Different software

MADALINA CROITORU Other challenges Hardware evolves FASTER than software Some programs are obsolete but perform critical business tasks Modifications meant software logic became corrupted Original developers have moved on