CASE Tools - PPT
CASE Tools - PPT
CASE Tools - PPT
Systems development methodology created to radically decrease the time needed to design and implement information systems radically. Five key factors
1.
2. 3. 4. 5.
Extensive user involvement Joint Application Design sessions Prototyping Integrated CASE tools Code generators
19.2
Object-oriented approach to systems development Method of development + Software tools Commonly, a rapid application development (RAD) is implemented in three phases:
Traditional SDLC steps are followed, but phases are combined Iteration is limited to design and development phases
COMPONENTS OF RAD
User involvement is key to success Prototyping is conducted in sessions similar to Joint Application Design (JAD) Prototyping screens become screens within the production system CASE tools are used to design the prototypes
APPROACHES TO RAD
Systems requirement determination is done in context of a discussion of business problems and business areas User Design
End users and IS professionals participate in JAD workshops CASE tools are used to support prototyping Designer creates code using code generator End user validates screens and other aspects of design
Construction
Cutover
Delphi
Move from three character-based systems to a unified, GUIbased system based on a single database
Outcome
System developed in 6 months Estimated development savings of 50 percent New system resulted in immediate 20 percent savings due to reduced maintenance costs
Electronic Federal Tax Payment System Delphi enabled rapid prototyping and development 10 months of development time 125 programmers 250 million rows of data and 55 gigabytes of data on-line
Comdata
Modular Over the Road System (MOTRS) IBM Global Services chosen as vendor Servlets
Programming modules that expand the functions of the Web server Embedded code run from client browser Three months of research Three months of coding Three months of testing
Applets
RAD is a team-based technique that speeds up information systems developments. Like JAD, RAD uses a group approach, but goes much further. RAD resembles a condensed version of the entire SDLC, with users involved every step of the way.
Requirement planning
Users, managers, and IT staffs agree upon business needs, project scope and system requirements
Interact with users, build models and prototypes, and conduct intensive JAD-type sessions Program and application development, coding, integration and system testing
User Design
Construction
Cutover
RAD
The team includes programmers and analysts who are experienced with it. There are pressing reasons for speeding up application development. The project involves a novel ecommerce application and needs quick results. Users are sophisticated and highly engaged with the goals of the company.
6-15
PROTOTYPING
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)
16
PROTOTYPING
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
17
PROTOTYPING
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. First-of-a-series prototype first full-scale model or pilot. Selected features prototype operational model with some of the features in a module. 18
PROTOTYPING
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
19
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
20
COMPONENTS OF CASE
Design Generator Analysis tool
Drawing Tool
Code Generator
Document Generator
CASE repository
Database Generator
Error-checking tool
Screen and Report Generator
Prototyping Tool
Security and Version Control
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.
23
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.
24
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.
25
Upper CASE
Support analysis and design Support programming and implementation Combines both upper and lower CASE
Lower CASE
Integrated CASE
26
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. 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.
27
Examples of 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)
28
Examples of CASE Tools (cont.): 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)
29