17.03.2003 Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.

Slides:



Advertisements
Similar presentations
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Advertisements

Software Process Models
Unit 2. Software Lifecycle
Software Project Management
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
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.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSC System Analysis and Design
Chapter 6: Design of Expert Systems
Fall 2007CS 225 Introduction to Software Design Chapter 1.
1.1 Introduction: concepts and overview of systems development IMS Information Systems Development Practices.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Software Engineering General Project Management Software Requirements
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
13.1 Revision Semester 2, 2005 IMS Information Systems Development Practices.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 3 Software Processes.
Software Development Process
Foundation Degree IT Project Methodologies (for reference)
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Introduction to Software Engineering Lecture 1.
Software Engineering MCS-2 Lecture # 6
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
An Introduction to Software Engineering
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
The Systems Development Environment Systems Analysis and Design II.
Software Development Life Cycle (SDLC)
Spiral Model For Software Development By : Sumeet Singh Roll No. : 23 Reg No. :
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Methodologies and Algorithms
Software Project Configuration Management
School of Business Administration
What is a METHODOLOGY The term is not well defined either in the litterature or by practitioners, but here is some definitions ” a methodology is a collection.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Software Processes (a)
Unified Process Source & Courtesy: Jing Zou.
Chapter 2 SW Process Models
Software Processes.
Requirements and the Software Lifecycle
Methodologies For Systems Analysis.
Methodologies For Systems Analysis.
Foundation Degree IT Project
Chapter 2 – Software Processes
Software life cycle models
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Presentation transcript:

Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364

Petter Nielsen Information Systems/IFI/UiO 2 Agenda What is systems development Theories, methodologies, process models and tools for systems development Different process models A mixed approach Prototyping

Petter Nielsen Information Systems/IFI/UiO 3 What is systems development? Efforts concerning the product and the efforts concerning the process Reflective efforts and efforts resulting in changes Reflective efforts concerning the existing and visions

Petter Nielsen Information Systems/IFI/UiO 4 Different perspectives on SD A process of construction A process of organisational change A process of learning A political process

Petter Nielsen Information Systems/IFI/UiO 5 Theory in Systems Development We need an independent understanding of system development – enable us to understand the situation and compare and select properly between different approaches Task/problem“Solution” RoutineKnown Problem solvingKnownUnknown Problem definitionUnknown Situation Properties

Petter Nielsen Information Systems/IFI/UiO 6 Methodology Method: – Experiences in the form of a recipe – Gives practical advices – how to approach the task Methodology: In addition built on a philosophy Definition “A collection of procedures, techniques, tools and documentation aids which will help the systems developers in their efforts to implement a new information system. A methodology will consists of phases, themselves consisting of sub-phases, which will guide the systems developers in their choice of the techniques that might be appropriate at each stage of the project and also help them plan, manage, control and evaluate information systems projects” (Avison and Fitzgerald (2003))

Petter Nielsen Information Systems/IFI/UiO 7 Objectives of methodologies Examples: –Accurately recording of user needs –Systematic method for effectively monitoring of the process –To provide indications of changes as early as possible in the process –Produce a well documented and easy to maintain IS

Petter Nielsen Information Systems/IFI/UiO 8 Techniques and tools A technique is the doing of a particular activity –Elicit user needs –Describe analytical results A technique may involve the use of one or more tools –Rational rose to draw UML diagrams

Petter Nielsen Information Systems/IFI/UiO 9 Software process models Process model: “Determine the order of the phases/stages involved in a software development process and establish the transition criteria for progressing from one stage to the next” The wrong order of phases can jeopardize a project

Petter Nielsen Information Systems/IFI/UiO 10 Different process models Ad-hoc and native process model Specification/documentation driven process model Implementation/representation driven process model Risk driven process model

Petter Nielsen Information Systems/IFI/UiO 11 Why different models? Evolution – maturization Experiences with failures Historical development More sophisticated tools From only appreciation only the programmer to also include analysts and designers Changing relation between users and developers

Petter Nielsen Information Systems/IFI/UiO 12 Process models Code and fix Write some code Fix the problems in the code Requirement, design, test and maintenance at later stage – and after system in use Primary/fundamental problems –Unstructured code after multiple changes makes changes very expensive: Design is needed before coding –Poor match with user needs: Requirements eliciting is needed before design –Expensive fixing because of poor preparation for testing and modification: Preparation is needed

Petter Nielsen Information Systems/IFI/UiO 13 Process models II Stagewise Stagewise models –To meet the problems of code- and-fix by introducing successive stages, as for example: –The Waterfall model (1970) with two enhancements to the stagewise model: Feedback loops, but only to successive stages –Primary/fundamental problems Documents as completion criteria for early requirement and design phases – elaborated documents for poorly understood usages: Stages are pursued in the wrong order

Petter Nielsen Information Systems/IFI/UiO 14 Process models III Evolution To meet the problems of the stagewise models –By expanding increments of operational software directed by operational experience Primary/fundamental problems –Difficult to distinguish from the code-and-fix model –It is difficult to follow any evolutionary path due to interdependencies –Stages are pursued in the wrong order, as much hard to change code is developed before interdependencies are taken care of

Petter Nielsen Information Systems/IFI/UiO 15 Process models IV Spiral model A general and pragmatic model Each cycle is basically identical 1.Identification of objectives of the product, alternative means of implementation and constraints imposed 2.Evaluate the alternatives of 1, and identify uncertainty and plan how to solve them 3.Develop 4.Plan next cycle Allows a varying degree of completeness, formality and granularity of specifications Primary/fundamental problems Best suited for in-house development A great reliance on risk management

Petter Nielsen Information Systems/IFI/UiO 16 Risk management Identify risk items Plan how to resolve each risk, and maintain a list as the project proceeds Initiate appropriate corrective actions Probability Effects/ Consequences

Petter Nielsen Information Systems/IFI/UiO 17 A Mixed approach Complexity: –The amount of relevant and available information for making design decisions Uncertainty: –The availability and reliability of other information that could be relevant Abstraction and decomposition to reduce complexity: Specifying Prototypes to reduce uncertainty Combination of analytical and experimental approaches to handle both complexity and uncertainty

Petter Nielsen Information Systems/IFI/UiO 18 The experiments Students at UCLA and AU Simple functionality, uncertain GUI Rated after functionality, robustness, ease of use, ease of learning SpecifyingPrototypingMixed approach Functionality +-+ Robustness +-+ Ease of use -++ Ease of learning -++

Petter Nielsen Information Systems/IFI/UiO 19 Mixed approach II Specification: Analytical mode of operation –Abstraction to reduce complexity –Relies on available and reliable information –Simplification –No possibility for user to learn about the system Prototypes: Experimental mode of operation –Meets some of the limitation of specification –But communication and involvement of users gives raise to other challenges as more information

Petter Nielsen Information Systems/IFI/UiO 20 Mixed approach III Mode of operation: –Analytical (simplifying by abstraction) –Experimental (generating information by learning) Means of expression: –Specification (abstract description) –Prototypes (concrete behavior) Complexity and uncertainty are not independent –Analytic approach introduces new uncertainties by simplification of the world –Experiments produces information introducing new sources of complexity

Petter Nielsen Information Systems/IFI/UiO 21 Principle of limited reduction Complexity Uncertainty Experimental and prototyping Analytical and specifying

Petter Nielsen Information Systems/IFI/UiO 22 Mixed approach IV Approach Means of expression Mode of Operation Prototypes Specifications Experimental Analytical

Petter Nielsen Information Systems/IFI/UiO 23 Mixed approach V The Principle of limited reduction: “Relying on analytical behavior to reduce complexity introduces new sources of uncertainty requiring experimental countermeasures. Correspondingly, relying on experimental behavior to reduce uncertainty introduces new sources of complexity requiring analytical countermeasures.” (pp. 69) Means of expression require a certain mixture of analytical and experimental approach –Plans are analytical countermeasures to an experimental approach based on prototypes –Quality assurance as walkthroughs are experimental countermeasures to an analytical approach

Petter Nielsen Information Systems/IFI/UiO 24 Methodology in practice The concepts underpinning most methodologies origins from the 1967 – 1977 (prototyping, stagewise, user-participation) Most methodologies favors large-scale development, with a long development time – in conflict with continuous change and focus on short term requirements of the market Survey, 776 named individuals in different organizations “who were likely to be directly involved or responsible for system development” (Fitzgerald 1998 and 2000)

Petter Nielsen Information Systems/IFI/UiO 25 Methodology usage in practice II Type of projects: Average number of developers: 3.47 Average duration (in months): 5.72

Petter Nielsen Information Systems/IFI/UiO 26 Methodology usage in practice III Profile of current development environment

Petter Nielsen Information Systems/IFI/UiO 27 Methodology usage in practice IV Average percentage of development time allocated to development activities