1.12k likes | 2.36k Views
Chapter 6 CASE Tools. Overview. CASE Tools Flowcharts Decision tables Project management tools Prototyping Types & examples of CASE Tools. An Overview of Systems Development. Systems development process Includes a wide range of projects Purchasing a small program
E N D
Chapter 6CASE Tools Chapter 6-- CASE TOOLS
Overview • CASE Tools • Flowcharts • Decision tables • Project management tools • Prototyping • Types & examples of CASE Tools Chapter 6-- CASE TOOLS
An Overview of Systems Development • Systems development process • Includes a wide range of projects • Purchasing a small program • Installing a huge system including hardware, software, communications equipment, and personnel • Typically called a systems development life cycle (SDLC) Chapter 6-- CASE TOOLS
An Overview of Systems Development(Contd..) • Systems investigation and analysis • Looks at the existing system and determines if it can and should be improved • Systems design and implementation • Selecting and planning the best solution • Modifying an existing system or developing a new one, placing the best solution into effect • Maintenance and review • Evaluating the results of the solution • Makes sure that the new or modified system is operating as intended Chapter 6-- CASE TOOLS
An Overview of Systems Development Chapter 6-- CASE TOOLS
Tools and Techniques for Systems Development • Systems development tools • Can greatly simplify the systems development process, it includes: • Computer-aided software engineering tools (CASE): Software tools that automate many of the tasks required in a systems development effort • Flowcharts: system design diagram that charts the path from a starting point to the final goal of a system • Decision tables: displays the various conditions that could exist in a system and the different actions that the computer should take as a result of these conditions • Project management software • Prototyping Chapter 6-- CASE TOOLS
Computer-Aided Software Engineering • Software engineering • Employs computer-aided software engineering (CASE) tools • CASE tools • Automate many systems development tasks • Allow more than one person to work on the same system at the same time via a multiuser interface, which coordinates and integrates the work of all team members Chapter 6-- CASE TOOLS
CASE Tools Chapter 6-- CASE TOOLS • Computer-Aided Software Engineering(CASE) tools are automated software packages that help to automate activities in the SDLC. • CASE tools aim to enforce an engineering-type approach to the development of software systems. • CASE tools range from simple diagramming tools to very sophisticated programs to document and automate most of the stages in the SDLC. • CASE tools used since the early 1990s
CASE Tools (Contd..) Chapter 6-- CASE TOOLS • The case for using CASE tools: • Improve quality of systems developed. • Help to increase the productivity of systems analysts. • Improve communication within the development team and with users. • Encourage an integrated approach to the SDLC. • Improve the management of the project. • Particularly helpful for systems maintenance.
CASE Tools (Contd..) Chapter 6-- CASE TOOLS • And more specifically: • Faster creation/modification of documentation. • Documents can easily be distributed and reviewed. • Reduction in the amount of paperwork. • Maintain a record of the SDLC in an effective way. • Members of the development team can interact more easily throughout the project. • Communication with the user is improved because changes can be reported, implemented and revised more quickly. • Interrelation and continuity between stages in the SDLC are easier to identify and verify. • Crucial for RAD, XP and similar methodologies.
CASE Tools (Contd..) Chapter 6-- CASE TOOLS • Potential drawbacks of CASE Tools: • Lack of standards among different CASE tools. • Development should be driven by the analyst and not by the CASE tools. • CASE tools are no substitute for human expertise.
1. Flowcharts • Chart the path from a starting point to the final destination • Can display various amounts of detail • When developing a system • General flowchart describes the overall purpose and structure of the system Chapter 6-- CASE TOOLS
Flowcharts Chapter 6-- CASE TOOLS
2. Decision Tables • Can be used as an alternative to or in conjunction with flowcharts • In general, a decision table displays • The various conditions that could exist • The different actions that the computer should take Chapter 6-- CASE TOOLS
3. Project Management Tools • Purpose is to plan, monitor, and control necessary development activities • Program Evaluation and Review Technique (PERT) • Creates three time estimates for an activity • The shortest possible time • The most likely time • The longest possible time • Gantt charting • A grid that lists activities and deadlines • Project crashing • Reducing project completion time Chapter 6-- CASE TOOLS
Project Management Tools Chapter 6-- CASE TOOLS
Project Management Tools Chapter 6-- CASE TOOLS
4. Prototyping • The creation of a preliminary model or version of a major subsystem or a small, scaled-down version of the entire system • Iterative approach to systems development • Each phase of the SDLC is repeated several times (iterated) Chapter 6-- CASE TOOLS
4. Prototyping (contd..) • It can be defined as an interactive process for systems development in which users and analysts are in close collaboration for converting requirements to a working system that is continuously revised. • Prototyping can be used as: • Alternative to the ‘traditional’ SDLC approach • Technique for gathering information in the requirements analysis phase of the SDLC (help to find what the user really wants) Prototyping does not mean ‘quick and unplanned implementation’! Chapter 6-- CASE TOOLS
4. Prototyping (contd..) Chapter 6-- CASE TOOLS • Prototyping is a complex technique and to apply it successfully, detailed knowledge of the SDLC is required. • Prototyping helps to set priorities and adapt the planning to changes in requirements with minimum disruption. • Users play a crucial role in prototyping, hence: • Encourage and welcome user input • No resistance to changing the prototype • Two main purposes for prototyping: • Know users’ reaction to working with prototype • Assess how well the prototype’s features address the users’ requirements
4. Prototyping (contd..) Chapter 6-- CASE TOOLS • Guidelines for developing prototypes: • Work in manageable modules • Modify in successive iterations • Estimate the costs of building the prototype • Build the prototype rapidly • Stress the user interface • Types of Prototypes • Patched-up prototype – all necessary features but inefficient. • Non operational prototype – only input/output are prototyped. (TASK) • First-of-a-series prototype (beta version)– first full-scale model or pilot. • Selected features prototype –operational model with some of the features in a module.
4. Prototyping (contd..) • Advantages of prototypes: • Potential for changes to the system early in the development. • Opportunity to stop developing a non-working system. • Possibility of developing system that closely addresses users’ requirements and expectations. • Disadvantages of prototypes: • Prototyping is difficult to manage. • Increase cost Chapter 6-- CASE TOOLS
Types of CASE Tools Chapter 6-- CASE TOOLS There are three types of CASE tools: • Upper CASE • Support analysis and design • Lower CASE • Support programming and implementation • Integrated CASE • Combines both upper and lower CASE
Types of CASE Tools (Contd..) Chapter 6-- CASE TOOLS • Upper CASE tools • Support strategic planning and construction of concept-level products and ignore the design aspect. • Create and modify the system design. • Information about the project stored in the CASE repository (reports, diagrams, files) • Support modelling of how the system fits into the organisation. • Analysis reports show incomplete parts and errors in the system design e.g. balance between process and data models. • Lower CASE Tools • concentrate on the back end activities of the software life cycle • Generate source code and reduce need for systems programming. • Time for maintenance is reduced because test and debug are eliminated. • Once mastered, promote the re-use of existing documentation and components.
Types of CASE Tools (Contd..) –Examples- Chapter 6-- CASE TOOLS • Diagramming– for representing processes, data and control structures graphically. (analysis) • CASE repository – holds information required to create, modify and evolve the system. (analysis, design, implementation) • Form and report generators – automate generation of forms and reports to aid prototyping. (design, implementation, RAD, XP) • Code generators – automate generation of source code from diagrams and forms. (design, implementation) • Project management – aid in the planning, tracking, controlling and reporting of project management. (planning) • Document generator – create standard reports based upon the contents of the CASE repository. (analysis, design, implementation) • CASE analysis tools – help to identify problems of inconsistency, redundancy, and omissions. (more likely in analysis and design)