Copyright © 2015-2016 Curt Hill Software Development Methodology What do you need to know?

Slides:



Advertisements
Similar presentations
Rational Unified Process®
Advertisements

Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
Software process management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Software Project Management Introduction to Project Management.
Chapter 1: Introduction to Systems Analysis and Design
Software Processes.
Project – A Quick Tutorial Krishna Sainath Meda. PROJECT  A task assigned to a set of people or teams to be completed within a time frame  Any project.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Copyright © Curt Hill Scrum Software Development Paradigms What is a Scrum?
Faculty Economics & Business EBS 2033 Systems Development Lecture 1 The Systems Development Environment Lecturer: Puan Asleena Helmi.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Introduction to Software Engineering
SDLC and Related Methodologies
Software Development - Methodologies
Teaching slides Chapter 2
Appendix B Agile Methodologies
Chapter 1: Introduction to Systems Analysis and Design
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
Exam 0 review CS 360 Lecture 8.
Fundamentals of Information Systems, Sixth Edition
Lecture 0 Software Engineering Course Introduction
Rapid Application Development
Software Life Cycle “What happens in the ‘life’ of software”
Chapter 1 The Systems Development Environment
Methodologies By Akinola Soyinka.
Software Processes (a)
CS701 SOFTWARE ENGINEERING
Methodologies in Computing
Software Process Models
Chapter 6: Design of Expert Systems
Chapter 2 SW Process Models
Chapter 1 The Systems Development Environment
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
The Prototyping Paradigm
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Introduction to Software Engineering
MBI 630: Systems Analysis and Design
Software Development Process
Methodologies For Systems Analysis.
Methodologies For Systems Analysis.
Chapter 2 Software Processes
The Rapid Application Development Paradigm
Process Models Coming up: Prescriptive Models.
Incremental Waterfall
Computer Science & Engineering Electrical Engineering
Chapter 1: Introduction to Systems Analysis and Design
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Software Processes.
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Chapter 4 Process Models
SDLC and Related Methodologies
SOFTWARE ENGINEERING LECTURE 2
Project Lifecycle and IT Product Life Cycle
Lecture 4 Project Management in ICT
Chapter 1: Introduction to Systems Analysis and Design
The Core Concepts of EA A Few Final Words
Software Development Process
Presentation transcript:

Copyright © Curt Hill Software Development Methodology What do you need to know?

Introduction Some of this should be a review from previous courses We will consider the process of Software Development You should know something already on all of these topics Copyright © Curt Hill

What is Engineering Engineering is the application of mathematics, empirical evidence and scientific, economic, social, and practical knowledge in order to invent, innovate, design, build, maintain, research, and improve structures, machines, tools, systems, components, materials, and processes. Copyright © Curt Hill

Software Development Not the only topic of Software Engineering –Arguably the most important There are many other topics, but if there is no software development, would any of the the rest be of interest? Copyright © Curt Hill

What tasks? There are various things that need to go on during development: –Requirements and Specifications –Development –Validation –Maintenance –Enhancement Other sets of terms are also possible Each of these could have other sequences Copyright © Curt Hill

Who? There are several groups all of whom are stakeholders in the process It is easiest to divide into two groups –Those who will develop and maintain –Those who will use Communication between the two is essential Copyright © Curt Hill

Plural Not Singular The stakeholders are typically plural in both groups What software is used by one person only? –In general this course is not interested in such projects What software is developed by one person? –Many cases but far from the majority –Again, this course is mostly interested in team developed software Copyright © Curt Hill

Teams The Declaration of Independence asserts that all men are created equal –This is a legal point of view In general, each person has different: –Skills, experience, intelligence etc. We may also fulfill different roles One of the keys of personal success is to understand what you are good at and what you like to do Copyright © Curt Hill

Methodology Definition: a body of methods, rules, and postulates employed by a discipline : a particular procedure or set of procedures A software development methodology is a system that organizes software development work –This usually defines phases, processes and roles Copyright © Curt Hill

Methodologies Many software development methodologies: –Waterfall –Prototyping –Iterative and incremental development –Spiral development –Rapid application development –Extreme programming –Many flavors of agile development Each of these work in right situation We will cover several Copyright © Curt Hill

Processes not Products A Software Development Methodology is not a product In a product: –You pick from one of several –Once chosen everything is now determined It is a process –Each enterprise or team can modify the process –Pick some things out of one and some from another Copyright © Curt Hill

Business Processes There are very many business processes –Such as accounts receivable Everyone starts out doing it their own way Eventually these ways improve and often converge –These become the best practices This convergence has not yet happened in software development methodologies Copyright © Curt Hill

What is next? There is a series of presentations on various methodologies Each one will attempt to briefly describe how this methodology operates We contrast and compare these Copyright © Curt Hill

Finally What should we be looking for? Each methodology will have different approaches for: –The team roles –The processes used –The timing of the process –Among others What you need to understand is their basic workings and how they compare Copyright © Curt Hill