CSI315 Web Technology and Applications

Slides:



Advertisements
Similar presentations
Chapter 8 Software Prototyping.
Advertisements

Prescriptive Process models
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Lecture # 2 : Process Models
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Information Resources Management January 23, 2001.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Chapter 7 CASE Tools and Joint and Rapid Application Development.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Software Engineering 6/e, Chapter 8
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
7M822 Information Technology in Design and Construction 7M822 Joran Jessurun and Jan Dijkstra Quartile 2, Week 1.
CHAPTER 19 Building Software.
Chapter 1 The Systems Development Environment
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©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.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Rapid Application Development. What is RAD……..?  Rapid Application Development (RAD) is a software development process.  first developed during the.
Building Information Systems & Managing Projects.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory1 Requirements Validation Section Four Version: 1.0 Mehr.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Slide 1 Software Prototyping Class Notes for ReqEng.
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Prototyping Rapid software development to validate requirements.
© Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 軟體雛形 l 快速的軟體開發以確認需求.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
Systems Development Life Cycle
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.
Rekayasa Perangkat Lunak Part-6
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Prototyping in the software process
Software Prototyping.
CASE Tools and Joint and Rapid Application Development
Lecture 4 Prototyping.
Software Prototyping Animating and demonstrating system requirements.
Chapter 2 – Software Processes
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Rapid software development
Presentation transcript:

CSI315 Web Technology and Applications Rapid Applications Development

Software Process Models-A Reminder Waterfall Model (classic and oldest) Rapid OR Evolutionary development-prototyping Formal Transformation Integration from re-usable components

Definition RAD refers to a development life-cycle designed to give much faster development and higher-quality results than those achieved with the traditional life-cycle Provides a series of techniques for compressing the analysis, design, build and test phases into a series of short iterative development cycles RAD developments places more emphasis on the importance of the user in the development process:

The Aim of RAD Low Cost High Quality Speed

Traditional SDLC Problems of traditional “waterfall life” cycle: developments are rarely sequential users often do not know what they want errors in design may not be obvious until very late in the project is not the best model for modern development tools addresses technical rather than user needs

Requirement Planning Phase RAD Life Cycle User Design Phase (including prototype construction) Cutover Construction Phase Requirement Planning Phase

RAD-Phases Requirements and Planning: Define model, data requirements User Design Phase: Model and prototype design, data conversion, test plan Construction: Complete application dev, develop data conversion modules, conduct user testing Cutover: Install Application, Implement Conversion Plan, end-user training

RAD vs Traditional SDLC Process Model SDLC uses logical process model to define reqs, physical process model defines system design RAD a prototype is a major component of the process model and it is used for user reqs and system design Data Model RAD uses prototype to design and refine data. Data model and process model and prototype evolve in parallel. Parallel Development System is devided into chunks that can be developed and tested independently. Data and process models interlinked

PROBLEMS ADDRESSED BY RAD With conventional methods, there is a long delay before the customer gets to see any results. With conventional methods, development can take so long that the customer's business has fundamentally changed by the time the system is ready for use. With conventional methods, there is nothing until 100% of the process is finished, then 100% of the software is delivered.

Why use RAD? to converge early toward a design acceptable to the customer and feasible for the developers to limit a project's exposure to the forces of change to save development time, possibly at the expense of economy or product quality

WHEN NOT TO USE to prevent cost overruns (RAD needs a team already disciplined in cost management) to prevent runaway schedules (RAD needs a team already disciplined in time management) Performance is mission critical Avoid if building OS, wide mass market/distribution or if the system cant be modularized

Advantages of RAD Time savings in overall project phases Reduces Overall project costs and human resources System Design Changes can be effected User Perspective is represented in the final (Functionally and Interface) Creates a strong sense of ownership

Disadvantages of RAD Focus in time & delivery cost may result in lower functionality Little time left on overall business view of the environment Less consistency and integration with other organizational systems Document quality and conformity reduced System scalability difficult

Rapid Development Tools Various techniques may be used for rapid development Dynamic high-level language development Database programming Component and application assembly These are not exclusive techniques - they are often used together Visual programming is an inherent part of most prototype development systems

RAD Techniques Prototyping Integrated Software-CASE Time box approach JAD

Prototyping A process of building a model that demonstrates the features of a proposed product. A prototype is a model of the proposed product. It reduces the risk of delivering a system that does not meet their needs.

Prototyping process

Approaches to prototyping

Evolutionary prototyping

Evolutionary prototyping Specification, design and implementation are inter-twined The system is developed as a series of increments that are delivered to the customer Techniques for rapid system development are used such as CASE tools and 4GLs User interfaces are usually developed using a GUI development toolkit

Evolutionary prototyping Must be used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systems Based on techniques which allow rapid system iterations Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the system

Evolutionary prototyping advantages Accelerated delivery of the system Rapid delivery and deployment are sometimes more important than functionality or long-term software maintainability User engagement with the system Not only is the system more likely to meet user requirements, they are more likely to commit to the use of the system

Evolutionary prototyping problems Management problems Existing management processes assume a waterfall model of development Specialist skills are required which may not be available in all development teams Maintenance problems Continual change tends to corrupt system structure so long-term maintenance is expensive Contractual problems

Throw-away prototyping Used to reduce requirements risk The prototype is developed from an initial specification, delivered for experiment then discarded The throw-away prototype should NOT be considered as a final system Some system characteristics may have been left out There is no specification for long-term maintenance The system will be poorly structured and difficult to maintain

Throw-away prototyping

Throw-away Prototype Problems Developers may be pressurised to deliver a throw-away prototype as a final system This is not recommended It may be impossible to tune the prototype to meet non-functional requirements The prototype is inevitably undocumented The system structure will be degraded through changes made during development Normal organisational quality standards may not have been applied

TUTORIAL Integrated Software-CASE Time box approach Joint Application Design