10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Similar documents
Department of Industrial Engineering. Sharif University of Technology

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Software Development Life Cycle (SDLC)

A Capability Maturity Model (CMM)

Test Cases Design for Software Database Provisioning Development

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

CS4507 Advanced Software Engineering

Alternative Development Methodologies

SOFTWARE PROCESS MODELS

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

The most suitable system methodology for the proposed system is drawn out.

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Comparison between Agile and Traditional software development methodologies

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

RUP for Software Development Projects

LECTURE 1. SYSTEMS DEVELOPMENT

Advanced Software Engineering. Software Development Processes

Basic Unified Process: A Process for Small and Agile Projects

A Review of an MVC Framework based Software Development

Agile Projects 7. Agile Project Management 21

3C05: Unified Software Development Process

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Information Technology Policy

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

How To Model Software Development Life Cycle Models

Unit 1 Learning Objectives

Systems Analysis and Design

Software Development Methodologies

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

How To Understand And Understand The Software Development Process In Korea

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Alan Dennis, Barbara Haley Wixom, and Roberta Roth John Wiley & Sons, Inc. Slides by Candace S. Garrod Red Rocks Community College 3-1

Agile and lean methods for managing application development process

AGILE DEVELOPMENT WITH A CAPITAL A

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

How to manage agile development? Rose Pruyne Jack Reed

Agile and the role of the business analyst

How To Understand The Software Process

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Title: Topic 3 Software process models (Topic03 Slide 1).

Software Engineering. What is a system?

How To Design A System

Introduction to Agile Software Development

Software Development Methodologies

Scale agile throughout the enterprise A PwC point of view

To introduce software process models To describe three generic process models and when they may be used

Chapter 1 The Systems Development Environment

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Software Process Models. Xin Feng

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Chapter 3. Technology review Introduction

Software processes that are:

COMP 354 Introduction to Software Engineering

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

IT3205: Fundamentals of Software Engineering (Compulsory)

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Waterfall vs. Agile Methodology

Agile Development Overview

Agile and the Seven Deadly Sins of Project Management

Unit I. Introduction

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Software Development Process

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

What is a life cycle model?

Agile Development with Agile Business Suite

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Imad Alsadeq, Qatar, May 2013 OPM3, MSP, PMP, PMOC, PMI-RMP, MCP

Evolving a Ultra-Flow Software Development Life Cycle Model

Software Development Life Cycle Models- Comparison, Consequences

Increasing Development Knowledge with EPFC

Akhil Kumar 1, Bindu Goel 2

A Survey of Software Development Process Models in Software Engineering

Agile and Secure: Can We Be Both?

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

System development lifecycle waterfall model

Agile Software Development. Mohsen Afsharchi

Development Methodologies

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

CSSE 372 Software Project Management: Managing Agile Projects

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Software Development Life Cycle

Vragen. Software development model. Software development model. Software development model

Agile Software Development Methodologies and Its Quality Assurance

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

Transcription:

Session # 3 Contents Systems Analysis and Design 2 1

Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development Life Cycle (SDLC) 4 2

System Development Life Cycle (SDLC) The basis for most systems analysis and design methodologies is the system development life cycle or SDLC. It is sometimes called the waterfall method because the model visually suggests work cascading from step to step like a series of waterfalls. In reality, there is considerable feedback between the various steps or phases. 5 SDLC 6 3

Several models exist to streamline the development process. Sometimes a combination of the models may be more suitable Waterfall model Unified software development Process model Spiral model Agile development Rapid application development 7 Waterfall model The waterfall model is a sequential design process 1.Requirements specification 2.Design 3.Construction (implementation or coding) 4.Integration 5.Testing and debugging 6.Installation 7.Maintenance 8 4

Waterfall model The waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. Time spent early on making sure requirements and design are correct saves much time and effort later Waterfall model places emphasis on documentation (such as requirements documents and design documents) as well as source code. Waterfall model for is a simple approach and is more disciplined. 9 Waterfall model Waterfall model is a bad idea in practice It is impossible to finish a phase of a software product's lifecycle perfectly before moving to the next phases and learning from them Many of the system's details only become known to us as we progress in the system's implementation. Some of the things that we learn invalidate our design and we must backtrack 10 5

SSADM (Structured systems analysis and design method) SSADM techniques The three most important techniques: Logical data modeling Data Flow Modeling Entity Event Modeling Structured Systems Analysis and Design Method (SSADM) 11 Information system development Methodologies USDP model The USDP is a popular iterative and incremental software development process framework. 12 6

Information system development Methodologies USDP model Iterative and Incremental Use Case Driven Architecture Centric Risk Focused 13 RUP (Rational Unified Process) is a specific implementation of the USDP. RUP is based on a set of building blocks, or content elements, describing what is to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are to be achieved. The main building blocks, or content elements, are the following: Roles (who) A Role defines a set of related skills, competencies and responsibilities. Work Products (what) A Work Product represents something resulting from a task, including all the documents and models produced while working through the process. Tasks (how) A Task describes a unit of work assigned to a Role that provides a meaningful result. 14 7

RUP (Rational Unified Process) Within each iteration, the tasks are categorized into nine disciplines: Six "engineering disciplines" Business Modeling Requirements Analysis and Design Implementation Test Deployment Three supporting disciplines Configuration and Change Management Project Management Environment 15 16 8

17 Information system development Methodologies Spiral model The spiral model combines elements of both design and prototyping-in-stage. Spiral model combines advantages of top-down and bottom-up concepts. 18 9

Information system development Methodologies Spiral model 19 Spiral model The spiral model combines the idea of iterative development with the systematic, controlled aspects of the waterfall model. The spiral model is based on continuous refinement of key products for requirements definition and analysis, system and software design, and implementation (the code). Documents are produced when they are required, and the content reflects the information necessary at that point in the process. Spiral model forces early user involvement in the system development effort. 20 10

Information system development Methodologies Agile software development Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between selforganizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach. 21 Agile software development methods Agile Unified Process (AUP) Crystal Clear Crystal Methods Dynamic Systems Development Method (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Lean software development 22 11

Information system development Methodologies Rapid Application development Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. Rapid Application Development (RAD) 23 Rapid Application development Requirements Planning phase User design phase Construction phase Cutover phase 24 12