1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Prescriptive Process models
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
CS487 Software Engineering Omar Aldawud
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
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.
SWE 316: Software Design and Architecture Objectives Lecture # 01 Prologue: The Software Process SWE 316: Software Design & Architecture  To review software.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
SE 450 Software Processes & Product Metrics 1 Quality Systems Frameworks.
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
1 Software project management (intro) An introduction.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
COMP 350: Object Oriented Analysis and Design Lecture 2
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Quality: An Overview From the Perspective of Total Quality Management By Kan, Basili and Shapiro.
Software Life Cycle Model
Chapter : Software Process
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering MCS-2 Lecture # 6
An Introduction to Software Engineering
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
CSCE 240 – Intro to Software Engineering Lecture 2.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Advanced Software Engineering Dr. Cheng
Software Development Overview
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Integrating Quality Activities in the Project Life Cycle
Engineering and Debugging an App Chapter 15
Software Processes (a)
COMP 350: Object Oriented Analysis and Design Lecture 2
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction To System Analysis and Design PART 2
Chapter 2 – Software Processes
Software life cycle models
CS385T Software Engineering Dr.Doaa Sami
Agile Development – a new way of software development?
Software Development Overview
Chapter 1: Software and Software Engineering
Presentation transcript:

1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE

2 Quality – Popular views You tell me – Is this a “quality house”? Qualities are felt by us to be “qualitative” – matters of opinion.

3 Quality – Professional view We can’t be vague about “quality” even if it is a set of attributes which lead to a sweeping decision by a stakeholder. The two classic ingredients in quality: Conformance to requirements, and Fitness for use. The customer thinks they are “buying quality.” It’s more than just features functioning as they should – Also “how well?”

4 Quality – the stakeholder’s view Users will see it from the perspective of their usage. Clients will try to add it all up into one judgment Because they have to write one check for it. Things outside your control influence their decision, like how well the demo went. “Let me try it!” A very dangerous request!

5 Software quality And many of those “high level” qualities don’t exactly work together! Notoriously, the faster it runs, the less reliable (or available) it is. Performance and Usability also are contrary: E.g., an expert can operate a system faster, But usually using some cryptic techniques.

6 Total quality management (TQM) The Japanese style of management of quality (1980’s) Many current quality approaches are based on it: Malcolm Baldridge ISO 9000 Six Sigma Includes the multiple aspects shown here:

7 The Waterfall? How can this be a quality approach? It’s “divide and conquer,” sequentially. Gives clear ways to measure progress Against clear objectives. Provides natural milestones at the end of each stage. At right – Here’s an example: It’s a disciplined approach!

8 Prototyping approach Kind of the opposite of the waterfall: “We don’t trust that they know what they want,” or perhaps “…that we can build it,” so We do a quick design To show them, or To prove something to ourselves. The prototype is either Throwaway, or It evolves. Which is better?

9 Boehm’s spiral It’s so famous, I’m not going to draw it. It’s “risk reduction” in stages. Uses a series of prototypes. Requires repeated stakeholder interactions. You really only have one delivery, at the end. Especially good for integrating diverse components. Famous issue: Doesn’t fit well with complex, contractual developments.

10 Iterative model You really deliver it in stages. The customer uses each successive one. A strategic quality step is right here: I used to run these assessments, at NCR and at AT&T. The position shown is perfect! 

11 OO process Our OO analysis and design methods really differ from the rest of engineering: Spend time just modeling what happens in the domain. Emphasis on making systems that are easy to evolve, In addition to whatever properties they give their stakeholders. The structure of the software resembles objects in the domain. Classes are added for maintenance as needed: E.g., an “adapter” to make interaction easy with some changing, outside entity. A big win – having code expressive enough that less documentation is needed to maintain it.

12 Cleanroom Idea is to get it right as a spec or model. The building of the real thing is then perfunctory. Theoretically, you don’t have to test it! Formal methods, etc. You anticipate customer use.

13 Defect prevention process This is a process process: How to continually improve the development itself. (If not the split infinitives.) Requires searching for causality. That decides what to fix! Teams work together. Have meetings at start of each development effort: “What are we going to change?”

14 Quality standards We’ll look at many! SEI’s “Capability Maturity Models” Jones’s SPR Model Baldridge ISO 9000 They don’t all agree on what’s important: