THE OLD WAY AND THE NEW Conventional software engineering has numerous well-established principles. Many are still valid; others are obsolete. A modern.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Stepan Potiyenko ISS Sr.SW Developer.
RUP And Agile Development Processes Walker Royce and Gary Pollice.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
The Waterfall Model A Case Study
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 6– Artifacts of the process
CS 4310: Software Engineering
1/41 Project Management for Modern Software Development Timothy Korson Sothern Adventist University.
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
What is Software Engineering?. Software engineering Multi-person construction of multi-version software (David Parnas) An engineering discipline whose.
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
CLEANROOM SOFTWARE ENGINEERING.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Object Oriented Analysis and Design Introduction.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CSE 303 – Software Design and Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Software Engineering MCS-2 Lecture # 6
Web Engineering and Technology Unit I. Categories/Types of Web-Based Systems CategoryExamples Document centricOnline newspapers, manuals InteractiveRegistration.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Waterfall Life Cycle
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 9 Software Quality Assurance.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Advanced Software Engineering Dr. Cheng
Chapter 2 Object-Oriented Paradigm Overview
CSE784 – Software Studio Jim Fawcett Fall 2002.
An Introduction to Software Engineering
Software Verification and Validation
Chapter 18 Maintaining Information Systems
CSE784 – Software Studio Jim Fawcett Fall 2006.
Rational Unified Process
Chapter 2 Software Processes
Chapter 2 – Software Processes
Software Testing and Maintenance Maintenance and Evolution Overview
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Quality Management
Project Management for Modern Software Development
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Evolutionary Software Process Models
Rapid software development
Re- engineeniering.
Integration Testing.
Presentation transcript:

THE OLD WAY AND THE NEW Conventional software engineering has numerous well-established principles. Many are still valid; others are obsolete. A modern software management process will incorporate many conventional principles but will also transition to some substantially new approaches.

Many of the conventional management and technical practices have been replaced by new approaches that combine recurring themes of successful project experience with advances in software engineering technology. This transition was motivated by the insatiable demand for more software features produced more rapidly under more competitive pressure to reduce cost.

Davis Top 30 principles Make quality #1 High-quality software is possible Evaluate design alternatives. Determine the problem before writing the requirements Evaluate design alternatives Use an appropriate process model

Davis Top 30 principles (Cont) Use different languages for different phases. Minimize intellectual distance. Put techniques before tools Get it right before you make it faster. Inspect code. Good management is more important than good technology People are the key to success. Follow with care.

Davis Top 30 principles (Cont) Take responsibility Understand the customer’s priorities. The more they see, the more they need. Plan to throw one away. Design for change. Design without documentation is not a design. Use tools, but be realistic. Avoid tricks

Davis Top 30 principles (Cont) Encapsulate. Use coupling and cohesion. Use the McCabe complexity measure. Don’t test your own software Analyze causes for errors. Realize that software entropy increases. People and time are not interchangeable. Excellent excellence.

Top 5 principles of modern process

Capture design attributes in rigorous, model based notation. Instrument the process for objective quality control and progress assessment Use a demonstration based approach. Plan intermediate releases in groups of usage scenarios with evolving levels of details. Establish a configurable process that is economically scalable.