Software Development Methodologies For the Computer Science IA (2014 syllabus)

Slides:



Advertisements
Similar presentations
kareRCIserIsviFIsaRsþGnuvtþKMerag
Advertisements

Software Development Life Cycle. Why Do We need Software Development Models Helps to make sure that we cover all bases during planning and implementation.
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Using MIS 2e Chapter 10: Managing Development David Kroenke
Computer Science Department
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CS487 Software Engineering Omar Aldawud
1 Chapter 7 Lifecycle Planning. 2 Lifecycles - Introduction A lifecycle model is a prescriptive model of what should happen between the first glimmer.
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
CS 5150 Software Engineering
1 Software project management (intro) An introduction.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
Its Phases and Overview 1.  This document describes the (SDLC) for small to medium database application development efforts. o This chapter presents.
3.3.1 apid pplication evelopment. What Rapid Application Design is including: – Joint Development Application Workshops (JAD). – Timeboxing The benefits.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
Software Development Process
CS101 Introduction to Computing Lecture SW Development Methodology.
IT Systems Analysis & Design
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
DEVELOPMENT Age-Mr Scotty-Tim. What Is Development? Development is a step in the problem solving methodology. It is the phase were an actual copy of the.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Making a great Project 2 OCR 1994/2360. Analysis This is the key to getting it right. Too many candidates skip through this section. It’s worth 20% of.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Project Life Cycles.
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
SOFTWARE LIFE-CYCLE MODELS
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
BY: Alex Quigley Andrew Monaghan Daniel Ozac Eoin McCrann Philip Hamilton.
Software Development Life Cycle (SDLC)
Software Project Management Iterative Model & Spiral Model.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
Barron’s chapter 5 Software development life cycle.
Fall CS-EE 480 Lillevik 480f06-l6 University of Portland School of Engineering Senior Design Lecture 6 Other development processes Technical documents.
Software Design and Development Development Methodoligies Computing Science.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies/Life Cycle Models
Fundamentals of Information Systems, Sixth Edition
CS 5150 Software Engineering
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Methodologies By Akinola Soyinka.
V-Shaped SDLC Model Lecture-6.
Software development life cycle models
Rapid Prototyping.
The V Model The V Model Damian Gordon Damian Gordon.
IT Systems Analysis & Design
Computer Science Life Cycle Models.
Computer Science Life Cycle Models.
Lecture 2 Revision of Models of a Software Process
Software Development Process
Lecture 03: Software Lifecycle Models
CS101 Introduction to Computing Lecture 20 SW Development Methodology
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Information Systems Development (ISD) Systems Development Life Cycle
SDLC (Software Development Life Cycle)
Presentation transcript:

Software Development Methodologies For the Computer Science IA (2014 syllabus)

Rationale  The guidelines for the IA state that you have to justify you choice of methodology  It's got to be a good idea to have something to say about what you've done and why you've done it that way  The aim of this document is to give you what you need to add a short paragraph to your Solution Overview (Criterion B) section that meets the requirement

The Principal Methodologies  Waterfall development  Prototyping  Incremental development  Spiral development  Rapid application development  Other practices

Waterfall development  Emphasis is on planning, time schedules, target dates, budgets and implementation of an entire system at one time  Big design up front  A bit old-fashioned  e.g.

Prototyping  Reduce risk by breaking project into smaller segments  Change accommodated more easily  User is involved throughout the development process, which increases the likelihood of user acceptance of the final implementation  Small-scale mock-ups of the system  Evolution from prototype to working system

Incremental/Spiral Development  Mixture of Waterfall and Prototyping  Project broken down into smaller parts  Mini-waterfalls for each part  Requirements and design done like Waterfall, implementation done by Prototyping

Rapid Application Development (RAD)  Less emphasis on planning  More emphasis on development  Cycles of development, user reaction, development, etc  Incorporates prototyping  Flexibility

Top-down versus bottom-up  Top-down approaches emphasize planning and a complete understanding of the system. It is inherent that no coding can begin until a sufficient level of detail has been reached in the design of at least some part of the system.  In a bottom-up approach, the individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed. Related to object- oriented design.

What to put in your IA  I can't be 100% prescriptive.  One short paragraph.  Don't all put the same thing.  Methodologies mentioned in this document are not mutually exclusive so you might use elements of several.  Certainly include the words "design methodology", maybe even as a subheading  You are all using Java so your approach is inherently object- oriented. What are the advantages of this?  You are all surely building at least one prototype? More?  Are there any functions/routines that you knew you would need and chould develop even though you didn't fully know how the software would work in the end? (bottom-up)  Did you spec the system down to the last variable before you started to code? (top-down)  How much was the client involved in the design/development process?  How was your choice of approach affected by your client's:  availability  technical knowledge  clarity of requirements  etc