Chapter 6 CASE Tools Chapter 6 CASE TOOLS

  • Slides: 25
Download presentation
Chapter 6 CASE Tools Chapter 6 -- CASE TOOLS 1

Chapter 6 CASE Tools Chapter 6 -- CASE TOOLS 1

Overview • • • CASE Tools Flowcharts Decision tables Project management tools Prototyping Types

Overview • • • CASE Tools Flowcharts Decision tables Project management tools Prototyping Types & examples of CASE Tools Chapter 6 -- CASE TOOLS 2

An Overview of Systems Development • Systems development process – Includes a wide range

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) 3 Chapter 6 -- CASE TOOLS

An Overview of Systems Development (Contd. . ) • Systems investigation and analysis –

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 4 Chapter 6 -- CASE TOOLS

An Overview of Systems Development 5 Chapter 6 -- CASE TOOLS

An Overview of Systems Development 5 Chapter 6 -- CASE TOOLS

Tools and Techniques for Systems Development • Systems development tools – Can greatly simplify

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 6 Chapter 6 -- CASE TOOLS

Computer-Aided Software Engineering • Software engineering – Employs computer-aided software engineering (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 7 Chapter 6 -- CASE TOOLS

CASE Tools • Computer-Aided Software Engineering (CASE) tools are automated software packages that help

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 1990 s 8 Chapter 6 -- CASE TOOLS

CASE Tools (Contd. . ) • The case for using CASE tools: – Improve

CASE Tools (Contd. . ) • 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. 9 Chapter 6 -- CASE TOOLS

CASE Tools (Contd. . ) • And more specifically: – Faster creation/modification of documentation.

CASE Tools (Contd. . ) • 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. 10 Chapter 6 -- CASE TOOLS

CASE Tools (Contd. . ) • Potential drawbacks of CASE Tools: – Lack of

CASE Tools (Contd. . ) • 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. 11 Chapter 6 -- CASE TOOLS

1. Flowcharts • Chart the path from a starting point to the final destination

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 12

Flowcharts Chapter 6 -- CASE TOOLS 13

Flowcharts Chapter 6 -- CASE TOOLS 13

2. Decision Tables • Can be used as an alternative to or in conjunction

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 14

3. Project Management Tools • Purpose is to plan, monitor, and control necessary development

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 15 Chapter 6 -- CASE TOOLS

Project Management Tools 16 Chapter 6 -- CASE TOOLS

Project Management Tools 16 Chapter 6 -- CASE TOOLS

Project Management Tools 17 Chapter 6 -- CASE TOOLS

Project Management Tools 17 Chapter 6 -- CASE TOOLS

4. Prototyping • The creation of a preliminary model or version of a major

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) 18 Chapter 6 -- CASE TOOLS

4. Prototyping (contd. . ) • It can be defined as an interactive process

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 19

4. Prototyping (contd. . ) • Prototyping is a complex technique and to apply

4. Prototyping (contd. . ) • 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 20 Chapter 6 -- CASE TOOLS

4. Prototyping (contd. . ) • Guidelines for developing prototypes: – – – Work

4. Prototyping (contd. . ) • 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. 21 Chapter 6 -- CASE TOOLS

4. Prototyping (contd. . ) • Advantages of prototypes: – Potential for changes to

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 22

Types of CASE Tools There are three types of CASE tools: • Upper CASE

Types of 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 23 Chapter 6 -- CASE TOOLS

Types of CASE Tools (Contd. . ) • Upper CASE tools – Support strategic

Types of CASE Tools (Contd. . ) • 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. 24 Chapter 6 -- CASE TOOLS

Types of CASE Tools (Contd. . ) –Examples– Diagramming – for representing processes, data

Types of CASE Tools (Contd. . ) –Examples– 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) 25 Chapter 6 -- CASE TOOLS