9.1 Quality and productivity issues in information systems development: CASE tools and prototyping IMS5006 - Information Systems Development Practices.

Slides:



Advertisements
Similar presentations
Systems Development Environment
Advertisements

Software Project Management
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Ch 3 System Development Environment
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),
Alternate Software Development Methodologies
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
4.1 Blended approaches: Information Engineering IMS Information Systems Development Practices.
Chapter 7 CASE Tools and Joint and Rapid Application Development.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Introduction to System Analysis and Design
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
1.1 Introduction: concepts and overview of systems development IMS Information Systems Development Practices.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
IMS Information Systems Development Practices
Fundamentals of Information Systems, Second Edition
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
IMS Information Systems Development Practices
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Chapter 1 The Systems Development Environment
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
CSI315 Web Technology and Applications
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Chapter 1 The Systems Development Environment
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 7 CASE Tools and Joint and Rapid Application Development.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix B Rapid Application.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
Modern Approaches of Systems Development By: Hanouf AL-Monawer Sara Mohammed.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
CASE (Computer-Aided Software Engineering) Tools
Appendix 2 Automated Tools for Systems Development
Fundamentals of Information Systems, Sixth Edition
Modern Systems Analysis and Design Third Edition
CASE Tools and Joint and Rapid Application Development
Modern Systems Analysis and Design Third Edition
Business System Development
Chapter 1 The Systems Development Environment
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Modern Systems Analysis and Design Third Edition
Presentation transcript:

9.1 Quality and productivity issues in information systems development: CASE tools and prototyping IMS Information Systems Development Practices

9.2 Quality and productivity “solutions” include:  user participation  JAD (Joint Application Design)  prototyping  automated and other tools  RAD (Rapid Application Development)  reuse

9.3  in what ways have system development methodologies been influenced by these initiatives?  how have techniques and tools relating to these initiatives been incorporated into system development methodologies? Quality and productivity

9.4 Prototyping  Prototype  a working model of some aspect(s) of an information system  Prototyping  an iterative process of quickly building an experimental system, for demonstration and evaluation so that users can dynamically determine their information requirements and explore and test the design of the system

9.5  Can be used in various phases of the SDLC  Initiation - to test the feasibility of a particular technology that might be applied for an IS  Analysis - to discover users’ requirements by ‘painting’ screens and reports to solicit feedback  Design - to simulate the ‘look and feel’ of the system and evaluate how easy it is to use and learn  Implementation - prototype evolves directly into the production system, to train users Prototyping

9.6  A prototype is designed with an expectation of change - expect to get it wrong the first time!  Need appropriate technology  Types of prototypes  features eg external design mock-up  throw-away  evolutionary Prototyping

9.7  Useful  when there is uncertainty about requirements or design solutions  can capture requirements in concrete, rather than verbal or abstract form  users are more likely to be able to state their detailed requirements when they see and use a prototype  users are more likely to get what they want Prototyping

9.8  Useful  when there are several stakeholders  convenient display method for multiple parties  because it encourages user participation  user can relay feedback immediately  changes can be made interactively  because it is easier to identify behavioural issues when users are using the prototype  the designer can interactively accommodate the way the user ‘uses’ the interface Prototyping

9.9 Prototyping Prototyping in information systems development:  can assist with defining system requirements  can improve the system design process  a communication tool, a learning vehicle  increases development speed (maybe)  widely accepted technique a prototype is designed with an expectation of change

9.10  Limitations  tends to skip through analysis and design phases too quickly --> lack of thorough understanding of the problems  a tendency to avoid creating formal documentation of system requirements which can then make the system more difficult to develop into a production system  can discourage consideration of a wide range on alternative design options.. tendency to go with the first one that the user likes Prototyping

9.11  Limitations  often lacks flexibility, technical efficiency and maintainability because of hasty construction  not suitable for large applications which have large amounts of data and multiple users - hard to control  often built as stand-alone systems, thus ignoring issues of data sharing and interactions with other existing systems Prototyping

9.12  Limitations  checks in the SDLC are bypassed so tendency to gloss over essential tasks eg. feasibility, standardisation, documentation, testing, security, etc..  can become too specific to the user representative and difficult to adapt to other potential users Prototyping

9.13 Prototyping Roles of prototypes  Functional prototypes: demonstrate, test and evaluate functionality  Process prototypes: processes, sequences, responses etc.  Design prototypes: external design features  Performance prototypes: response times, loads, volumes, etc.

9.14 Prototyping  prototyping as a technique: can be incorporated into a systems development methodology (analysis, design, construction)  prototyping as basis for a system development methodology: uses an iterative lifecycle model e.g. requirements analysis build prototype evaluate prototype refine prototype construct system using prototype as part of the specification

9.15 Prototyping Potential advantages of prototyping:  users see something concrete early on  improved understanding and learning/discovery  make changes quickly and easily Potential disadvantages of prototyping:  poorly documented systems  incomplete systems  unrealistic user expectations  project management difficulties

9.16 Prototyping and ISD methodologies for information systems development methodologies (ISDMs):  changed view of the lifecycle  less emphasis on paper-based documentation  widespread acceptance: ISDMs need to keep up-to-date with latest trends in technology has prototyping improved system development?

9.17 Prototyping and evolutionary development  Evolutionary development (vs traditional, linear SDLC) incremental approach delivering a system in stages: the system evolves (is built) over time  Each delivery achieves something usable, useful but not necessarily complete: a series of development efforts (see Fig 6.1 Avison & Fitzgerald 2003, p. 86)  Approach:  Design does not have to be perfect, but something is delivered  Accommodate future change  Does not have to be comprehensive  Appropriate for situations with unclear requirements: system is developed as more is learned about the problem situation  Evolutionary prototyping uses an evolutionary development approach where the prototype evolves into the final system

9.18 What are CASE tools?  computer-aided software tools that provide automated support for some portion of the systems development process  provide an engineering-type discipline to improve productivity and increase the quality of information systems  CASE tools may run on various mini and mainframe systems, but the PC is the dominant CASE workstation

9.19 CASE tools  CASE (Computer Assisted Software Engineering) tools Objective of CASE tool usage:  higher quality systems, a less expensive and more productive system development process “automated and integrated software development tools, techniques and methodologies that add significant value by increasing the productivity of the application development process and the quality of the applications that they're used to develop” Stone (1993) p.8

9.20 CASE tools Objectives  to improve the quality of the systems developed: e.g. better and more complete specifications and designs  to improve the productivity of systems development: less people and faster  to ease and improve consistency of specifications, conformity of designs, and testing through automated checking  to improve the integration of development activities via the use of common methodologies and techniques  to improve the quality and completeness of documentation

9.21 CASE tools Objectives  to improve the management and control of projects  to promote consistency across projects within the organisation  to promote consistency and quality of systems across the organisation  to promote resuability  to reduce maintenance effort

9.22 CASE tools core CASE tool functionality:  graphical facilities for diagrams and modelling  data dictionary  automated documentation additional functionality:  code generation from system specifications and models  automatic audit trail of changes  project management facilities  enforced diagramming and documentation standards

9.23  diagramming tools  screen and report generators  analysis tools  a central repository  documentation generators  code generators Components of CASE Tools

9.24  diagramming tools enable graphical representation of system data, processes, and control structures  screen and report generators help to prototype how systems “look” and “feel” to users help to identify data and process requirements  analysis tools automatic checking for correctness, completeness, and consistency of specifications in diagrams, reports, forms Components of CASE Tools

9.25  a central repository enables integrated storage of systems specifications and project management information  documentation generators help to produce both technical and user documentation in standard formats  code generators automatic generation of program and database definition code directly from the design documents, diagrams, reports and forms Components of CASE Tools

9.26  the repository is central to the CASE tool for integration to allow sharing between tools and SDLC activities  a centralised database containing all form and report definitions, diagrams, data definitions (data flows, entities etc), process flows, functions, process logic, other organisational and system components  common terminology, notations, methods to support integration  potential benefits: supports co-ordination of team members and effort promotes reusability CASE tools: the CASE repository

9.27  Upper CASE designed to support the earlier lifecycle phases: IS planning, project identification and planning, systems analysis, design  Lower CASE designed to support the implementation and maintenance phases of systems development  I-CASE (integrated CASE) “seamless” integration of products and tools across lifecycle phases via a common repository (see Avison & Fitzgerald 2003, Chapter 18) Types of CASE tools

9.28  Cross lifecycle CASE CASE tools used to support activities that occur across multiple phases of the SDLC e.g.  project management: developing estimates of time and resources, scheduling, monitoring project progress  production of documentation the repository and document generators are used across multiple lifecycle phases CASE tool usage

9.29  the adoption of CASE is closely related to the use of a formal, standardized systems development process or methodology: many CASE tools force or encourage analysts to follow a specific methodology organizations without a widely used methodology or an approach that is compatible with a CASE tool will have difficulties  CASE adoption has been slower than expected due to several factors including: cost, training needs, front end lifecycle effort Implementing CASE tools in organisations

9.30  startup costs I-CASE costs per analyst: $5,000 to $50,000 only large-scale system builders can spend this smaller organisations use tools with less functionality  training for every dollar spent on tools, half to double that spent on training  front end lifecycle effort the big benefits come in later lifecycle phases: construction, testing, implementation, maintenance early phases lengthened by up to 40% (see Hoffer et al 2002, chapter 4) Implementing CASE tools in organisations

9.31 Why organisations resist CASE tools  common resisting organisational factors for CASE adoption:  high cost of purchasing  high cost of training personnel  low organisational confidence in the IT department to deliver high quality systems on time and within budget  lack of methodology and standards  CASE seen as a threat to job security  lack of confidence in CASE products

9.32 CASE tool implementation critical success factors:  the right tools  a CASE implementation strategy  a systems development methodology  the methodology must be structured to facilitate the use of CASE tools  a CASE-compatible culture  appropriate human resources  appropriate expectations

9.33 Selecting CASE tools  compatible with systems development methodology/approach  compatible with technology architecture  development and application environment  organisational culture  implementation strategy  vendor support

9.34 Systems development using CASE tools  changes in work practices:  focus on analysis and design  “automatic” documentation generation  maintain designs  modifications to analysis and design products  project management  project team structures  task structures  differences between CASE-based vs manual versions of SDMs

9.35 Evolution and future of automated tools  Visual development tools:  rapidly build interfaces, reports etc using visual tools e.g. Visual Basic, Powerbuilder and instantly test the look of the design (development and programming environments)  Embed AI into development environments  use of intelligent agents (programs) residing in a computer to carry out developer’s instructions to create new systems

9.36 References  Prescribed text: Avison, D.E. & Fitzgerald, G. (2003). Information Systems Development: Methodologies, Techniques and Tools. (3rd ed), McGraw-Hill, London. Chapters 9.2, 18, 6.1, 6.2, 6.3  HOFFER, J.A., GEORGE, J.F. and VALACICH (2002) 3rd ed., Modern Systems Analysis and Design, Prentice- Hall, New Jersey, Chapter 4