Software Engineering and Best Practices

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Lecture # 2 : Process Models
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Processes Modified by Randy K. Smith
Software Process Models
30 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
Introduction to Software Engineering Dr. Basem Alkazemi
Software Engineering General Project Management Software Requirements
©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 4 Slide 1 Software Processes.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Best Practices of Software Engineering.
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.
HANDLED BY Ms.k.CHITHARTHANI L/IT. Aim: To present the concept regarding how the sotware projects are planned, monitored and controlled. Objective: 
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
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.
©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.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge.
Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements.
Chapter 4 프로세스 모델 Process Models
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.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
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.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
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.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Rational Unified Process  “de facto standard”, framework.
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
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 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
26 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
Chapter 1: Software and Software Engineering The Nature of Software... Software is intangible  Hard to understand development effort Software.
Software Engineering - CSC 323
Software Development.
Why is software engineering worth studying?
Lecture 3 Prescriptive Process Models
Lecture 0 Software Engineering Course Introduction
Software Engineering - CSC 323
Software Life Cycle “What happens in the ‘life’ of software”
Software Engineering and Best Practices
CS 425/625 Software Engineering Software Processes
Models of Software Development Life Cycle (SDLC)
Software Process Models
Chapter 2: Software Process Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
Software Engineering Lecture 18.
Chapter 2 – Software Processes
Software Testing and Maintenance Maintenance and Evolution Overview
An Overview of Software Processes
Practical Software Engineering
Software Process Models
Software Engineering and Best Practices
CS385T Software Engineering Dr.Doaa Sami
CS310 Software Engineering Lecturer Dr.Doaa Sami
Chapter 2: Software Process Models
Software Engineering Lecture 17.
Software Engineering.
Chapter 1: Software and Software Engineering
Presentation transcript:

Software Engineering and Best Practices

Fundamental Terms / Concepts Science and Engineering Discover Relationships that exist but are not found Formulas; chemical composition, d=r*t; calories in fats, carbohydrates, proteins; experimentation; Astrophysics – origins of the universe Build Apply principles of science and mathematics to real needs, commodities, structures, products, etc. Software Engineering; Software Development

Fundamental Concepts Software Engineering; Software Development Job positions: Software developer Programmer Software engineer Analyst / Programmer Senior … what have you…

What is Software Engineering? The process of solving customers’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints Note: Process, systematic (not ad hoc), evolutionary… Constraints: high quality, cost, time, meets user requirements

Analysis of the Definition: Systematic development and evolution An engineering process involves applying well understood techniques in a organized and disciplined way Large, high quality software systems Software engineering techniques are needed because large systems cannot be completely understood by one person Cost, time and other constraints Finite resources The benefit must outweigh the cost

Best Practices of Software Engineering Develop Iteratively Use Component Architectures Manage Requirements Verify Quality Model Visually Control Changes

Practice 1: Develop Software Iteratively Until recently, developed under assumption - most requirements can be identified up front. The research deconstructing this myth includes work by Capers Jones. (See next slide) In this very large study of 6,700 projects, creeping requirements — those not anticipated near the start—are a very significant fact of software development life, ranging from around 25% on average projects up to 50% on larger ones.

 Look up a definition of ‘Function Points.’

Interestingly, An initial design will likely be flawed with respect to its key requirements. Requirements rarely fully known up front! Late-phase discovery of design defects results in costly over-runs and/or project cancellation Oftentimes requirements change – even during implementation! While large projects are more prone to cost overruns, medium-size/small projects are vulnerable to cancellation. The key reasons continue to be poor project planning and management, shortage of technical and project management expertise, lack of technology infrastructure, disinterested senior management, and inappropriate project teams.”

Waterfall Delays Risks Requirements Design Code Waterfall risk Integration System Test T I M E

Iterative Development Iteration 1 Iteration 2 Iteration 3  Earliest iterations address greatest risks Each iteration produces an executable release Each iteration includes integration, test, and assessment! Objective Milestones: short-term focus; short term successes!

Accelerate Risk Reduction Walker Royce, 1995 R I S K Risk reduction Waterfall risk Iterative Iteration Iteration Iteration Iteration Iteration T I M E

Summary Much more about iteration and iteration planning later You will see some of these again – and, more importantly, use this information in your own iteration planning.

TEXT BOOKS Books for reference 1. Richard Fairley, “Software Engineering Concepts”, Tata McGraw Hill, 1997. 2. Roger S. Pressman, “Software Engineering - A Practitioner’s Approach”,6th Ed., McGraw Hill International, 2005. Books for reference 1. Ian Sommerville, “Software Engineering”, Addition Wesely, Singapore,2002 2. K.K.Agarwal&Yogesh Singh, “Software Engineering”, New Age Intl.Publishers, Revised 2nd Ed., 2005.

THANK YOU