Systems Development Process set of activities, methods, best practices and deliverables that are used to develop and maintain information systems. Process.

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IS Theories & Practices Systems Architecture & Infrastructure IS 655: Supplementary Note 1 CSUN Information Systems.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
CS 501: Software Engineering
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Acquiring Information Systems and Applications
CIS 321—IS Analysis & Design
CSI315 Web Technology and Applications
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
Information System IS: a set of related components working together in some environment to perform functions that achieve some objective.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
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.
Chapter 1 Development Methodologies / SDLC
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 14 Information System Development
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Prescriptive Process Models
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
Software Engineering Management Lecture 1 The Software Process.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Foundations of Geospatial System Development II Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute.
Systems Analysis and Design in a Changing World, Fourth Edition
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Systems Development Life Cycle
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
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.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Ondřej Přibyl L3: System Development Life Cycle page 1 Lecture 3: System Development Life Cycle Doc.Ing. Ondřej Přibyl, Ph.D. Department of applied mathematics.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment
Methodologies and Algorithms
Chapter 1 The Systems Development Environment
Lecture 3 Prescriptive Process Models
Building Information Systems
Fundamentals of Information Systems, Sixth Edition
Software Life Cycle “What happens in the ‘life’ of software”
Chapter 1 The Systems Development Environment
Software Process Models
Chapter 1 The Systems Development Environment
Software Life Cycle Models
CS310 Software Engineering Lecturer Dr.Doaa Sami
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Information Systems Development (ISD) Systems Development Life Cycle
Chapter 1 The Systems Development Environment
System Analysis and Design:
Presentation transcript:

Systems Development Process set of activities, methods, best practices and deliverables that are used to develop and maintain information systems. Process maturity as the development process matures, project costs decrease, timelines improve, productivity and quality increase. Software development - The Process

Guiding principles Get the Owners and Users Involved Establish Phases and Activities Establish Standards for Development and Documentation Justify systems as Capital Investments Don’t be afraid to Cancel or Revise Scope Divide and Conquer Design for Growth and Change

Software development - The Process 3 Generic Phases Definition (What) –Customer contact role of system, scope –Project Planning risk analysis, resources, cost estimation, schedules –Requirement Analysis Development (How) –Design –Coding –Testing Maintenance –Correction of errors –Adaptation –Enhancements

Preliminary Investigation Phase –establishes the project context, scope, budget, staffing, and schedule. Problem Analysis Phase –identifies and analyzes both the business and technical problem domains for specific problems, causes, and effects Requirements Analysis Phase –identifies and analyzes business requirements that should apply to any possible technical solution to the problems. Decision Analysis Phase –identifies and analyzes candidate technical solutions that might solve the problem and fulfill the business requirements. The result is a feasible, target solution. Alternatively…

Alternatively (2)… Purchasing Phase (optional) –identifies and analyzes hardware and software products that will be purchased as part of the target solution. Design Phase –specifies the technical requirements for the target solution. Today, the design phase typically has significant overlap with the construction phase. Construction Phase –builds and tests the actual solution (or interim prototypes of the solution). Implementation Phase –puts the solution into daily production. Operation and Support Phase –continues until the system is obsolete.

Preliminary Investigation –“Is this project worth looking at?” –Define the scope of the project, the perceived problems, opportunities, and directives that triggered the project. –Establish the project team and participants, the project budget, and the project schedule. Problem Analysis –Gain an appropriate understanding of the business problem domain –Determine if the system is worth developing –Learning the system terminology, history, culture, and nuances of the organization (or department). –Address the causes and effects of the problems, opportunities, and directives.

Requirements Analysis –Identify the data, process, interface, and geographic requirements for the users of a new system. –Specify these requirements without expressing computer alternatives and technology details; at this point, keep analysis at the business level. –Prioritize - requirements can be classified as ‘mandatory’, ‘desirable’, or ‘optional’. Decision Analysis –Define the candidate solutions –Evaluate each candidate for feasibility (next slide). –Recommend a feasible candidate as the target system. –Feasibility analysis

Purchasing –research the technology and marketplace –organize the business, technology, and relationship requirements, and establishes the mechanisms that will be used to evaluate the technical alternatives. –write the RFP. –receive proposals from vendors. –evaluate proposals. –make a recommendation to the system owners (and usually the information system managers as well). –execute the final orders, contracts, licenses, and service agreements.

Design –transform the business requirements from the definition phase into a set of technical design blueprints for construction. –addresses how specific technologies will be used in the new system. –design specs can include written documentation or prototypes –existing systems must be integrated in the design. Construction –build and test a functional system that fulfills business and design requirements –implement the interfaces between the new system and existing systems –system testing – unit and system testing

Implementation –I nstall, deploy, and place the new system into operation or production. –User training, manuals, loading files and databases Operations and System Support –ongoing maintenance of a system after it has been placed into operation. This includes program maintenance and system improvements.

Systems Analysis –Organizational context and requirements (Enterprise Modeling) –Functional area context and requirements (Workflow diagrams) –Analyze existing System Physical analysis Logical analysis –New System requirement Logical model of new system (Requirement specification) ( Functional requirements - DFDs) –Documentation Requirement specification Document System Environment

System design –General design Logical design of alternatives (broad sketches) Evaluate and choose a solution approach –Detailed design (Physical design) Process design - program specification (Program structure charts) Data design - logical structure of data and files (E/R Models) User interface design - Dialog and document flows –Design Document

System Implementation – Coding – Testing – Installation – Manuals, User training

Cross Life Cycle Activities Project Management –Schedules and cost, milestones Software Quality Assurance –creation of Standards –ensure conformation to those standards formal technical views documentation of errors testing strategy

Cross Life Cycle Activities Measurement –Time, Effort, Costs, Productivity, Quality (Software Metrics) –enhanced estimates of new projects –baseline for process improvement –test effectiveness of new methods

Cross Life Cycle Activities Software Configuration Management –Controlled change customers change requirements developers change technical approach management modifies project approach –Software configuration Programs Documents Data structures Documentation Fact Finding

Effort Distribution Development : Maintenance 40:60, 30:70 Development Costs (Typical) Requirement : 10% Design: 20% Coding: 20% Testing: 50% (often under-estimated. Can be reduced through better design andcoding) [Note: easy to test easy to maintain]

Software Engg. Paradigms ( Process models) Waterfall model (Classical life Cycle) Planning Reqt.Analysis Design Code Test Install Maintenance Feasibility Report Requirements Specification Report Design Document Programs Test Report Installation Report

Waterfall Model old way of doing things All projects go through these phases But… Sequential progress unrealistic, iterations expensive Frozen requirements difficult to state all requirements at the beginning requirements drift gap between users and designers, little communication with users working system unavailable till late in the project –also disastrous for errors at this stage

Reqt.Generation and refinement Quick Design Customer Evaluation of prototype Refine PrototypeEngineer Product Build Prototype Software Engineering paradigms Prototyping -a modeling paradigm Discard prototype Engineer prototype to production system

Prototyping: Problems Customer impatient when prototype is rebuilt to production system –Inefficient system often becomes the production system system (NOTE: Ideally prototyping is the mechanism for identifying requirements) –high risk innovation applications –promote send user participation –good candidates for prototyping: –user unable to specify requirements. –Do not know what they want/what they want is not what they need –“I do not know what I want, but I will when I see it”

Software Engineering paradigms The RAD model (Rapid Application Development) –linear sequential development,emphasizes very short development cycle –component based construction –well-understood requirement, constrained scope –use of fourth generation techniques (4GLs)

Rapid Application Development Business Modeling Data Modeling Process Modeling Application Generation Testing and Turnover days Team 1Team 2Team 3

RAD 4GLs : –Enable developers to specify s/w characteristics at higher level of abstraction. Tool automatically generates source code. Tools: –non-procedural languages for DB query,report generation,data manipulation,screen interaction, graphics,etc –reduces development time for smaller applications –user and developer commitment to rapid-fire activities –inefficient code? Use where high performance is required? –Use of reusable program components

OOD Customer prototype OOA Browse library of reusable components Customer Evaluation Design/Implementation Component Library Component Specification Component Design Library entry Coding Testing Software Engineering paradigms O-O Systems Development: reuse paradigm

O-O development –Focus on reuse Object Class library –Focus on interoperability –Faster development,easier maintenance,platform independence

Risk analysis based on initial requirementsPlanning Risk analysis Customer evaluation Engineering Risk analysis based on customer reaction Go, no-go decision Toward a completed system Initial software prototype Next prototype level Engineered system Customer evaluation Planning based on customer comments Initial requirements gathering and project planning Spiral Model

System development problems –Schedule and cost estimates often grossly inaccurate –Productivity has not kept pace with demand –Frequently poor quality systems are delivered –Existing systems are difficult to maintain Type of Failure Reason for FailureComment Quality Problems Productivity Problems Wrong problem addressed System conflicts with business strategy Wider influences are neglected Organisational culture may be ignored Analysis carried out incorrectly Project undertaken for wrong reason Users change their mind External events change the environment Implementation is not feasible Poor project control Team poorly skilled or inadequately resourced Technology pull or political push New legislation May not be known until project has started Inexperienced project manager Requirements drift