This document provides an overview of Computer-Aided Software Engineering (CASE) and CASE tools. It discusses that CASE uses computer tools to help develop and maintain software across the entire development cycle. CASE tools standardize development processes and support activities like modeling, documentation, project management, and testing. The document categorizes CASE tools as upper CASE for analysis and design, lower CASE for implementation, and integrated CASE for the full lifecycle. It provides examples of CASE tools like Umbrello and discusses the advantages of improved quality, productivity and flexibility as well as disadvantages like complexity and cost.
This document provides an overview of Computer-Aided Software Engineering (CASE) and CASE tools. It discusses that CASE uses computer tools to help develop and maintain software across the entire development cycle. CASE tools standardize development processes and support activities like modeling, documentation, project management, and testing. The document categorizes CASE tools as upper CASE for analysis and design, lower CASE for implementation, and integrated CASE for the full lifecycle. It provides examples of CASE tools like Umbrello and discusses the advantages of improved quality, productivity and flexibility as well as disadvantages like complexity and cost.
This document provides an overview of Computer-Aided Software Engineering (CASE) and CASE tools. It discusses that CASE uses computer tools to help develop and maintain software across the entire development cycle. CASE tools standardize development processes and support activities like modeling, documentation, project management, and testing. The document categorizes CASE tools as upper CASE for analysis and design, lower CASE for implementation, and integrated CASE for the full lifecycle. It provides examples of CASE tools like Umbrello and discusses the advantages of improved quality, productivity and flexibility as well as disadvantages like complexity and cost.
CSE-313 System Analysis and Design Mohammad Shariful Islam Lecturer, Department of CSE Mobile: 01747612143 Email: sharifulruhan@gmail.com
Dhaka International University (DIU) 4/18/2020
Overview
• Computer-Aided Software Engineering (CASE)
• CASE tools • why developed • CASE tools in organizations • Types of CASE tools • Advantages & disadvantages of CASE tools
4/18/2020 Dhaka International University (DIU) 2
CASE Computer Aided Software Engineering (CASE) is the use of different computer-assisted method and software tools to help in the development and maintenance of software. CASE allows planners, designers, code writers, testers and managers to share a common view of where a project stands at each stage of development.
4/18/2020 Dhaka International University (DIU) 3
CASE Tools
• The CASE approach covers the entire cycle
of product development, including code generation, product tools, repositories, prototyping and other tools. • Various tools which are incorporated in CASE and are called CASE tools.
4/18/2020 Dhaka International University (DIU) 4
CASE Tools in Database application CASE tools may support the following development steps for developing data base application: o Creation of data flow and entity models o Establishing a relationship between requirements and models o Development of top-level design o Development of functional and process description o Development of test cases.
4/18/2020 Dhaka International University (DIU) 5
Why CASE Tools Are Developed Main purpose of the CASE tools is to decrease the development time and cost and increase the quality of software. CASE tools are developed for the following reasons: Firstly Quick Installation Time saving by reducing coding and testing time. Enrich graphical techniques and data flow. Enhanced analysis and design development. Create and manipulate documentation The speed during the system development increased.
4/18/2020 Dhaka International University (DIU) 6
How the Organization uses CASE tools Standardize the development: CASE tools help the organization to standardize the development process. It also facilitates coordinated development. Rapid Application Development (RAD): To improve the speed and quality of system development. Testing: It helps in improving the testing process through automated checking & simplified program maintenance. Documentation: It improve the quality, uniformity and ensure the completeness of documentation. 4/18/2020 Dhaka International University (DIU) 7 How the Organization uses CASE tools Project Management: It improves project management activity and to some extent automates various activities. Reduce the maintenance cost: Use of CASE tools makes the software easy to maintain and reduce the maintenance costs. Increase productivity: Automation of various activities of system development and management processes increases productivity of the development team.
4/18/2020 Dhaka International University (DIU) 8
Environment having CASE .
4/18/2020 Dhaka International University (DIU) 9
Components of CASE Tools Central Repository - CASE tools require a central repository, which can serve as a source of common, integrated and consistent information. Central repository is a central place of storage where product specifications, requirement documents, related reports and diagrams, other useful information regarding management is stored. Central repository also serves as data dictionary.
4/18/2020 Dhaka International University (DIU) 10
Major categories of CASE Tools Some major categories of CASE tools are: Diagram tools Project Management tools Documentation tools Web Development tools Quality Assurance tools Maintenance tools
4/18/2020 Dhaka International University (DIU) 11
Types of CASE Tools CASE tools can be broadly divided into the following parts based on their use at a particular SDLC stage: UPPER CASE Tools LOWER CASE Tools INTEGRATED CASE Tools
4/18/2020 Dhaka International University (DIU) 12
Types of CASE Tools
4/18/2020 Dhaka International University (DIU) 13
Types of CASE Tools Upper Case Tools - Upper CASE tools are used in planning, analysis and design stages of SDLC. Lower Case Tools - Lower CASE tools are used in implementation, testing and maintenance. Integrated Case Tools - Integrated CASE tools are helpful in all the stages of SDLC, from Requirement gathering to Testing and documentation.
4/18/2020 Dhaka International University (DIU) 14
Types/Categories of CASE Tools Positioning of CASE tools in a Software Application development:
4/18/2020 Dhaka International University (DIU) 15
Advantages of CASE Tools: CASE tools improve quality and productivity of software. Produces system that more closely meet user needs and requirements. Produces system with excellent documentation. Tools are more effective for large scales systems. Produce more flexible system. CASE tools reduce the time for error correction and maintenance.
4/18/2020 Dhaka International University (DIU) 16
Disadvantages of CASE Tools: Very Complex Not easily maintainable Good quality CASE tools are very expensive. Require training of maintenance staff. May be difficult to use with existing system.
4/18/2020 Dhaka International University (DIU) 17
Characteristics of a successful CASE Tool: A CASE tool must have the following characteristics in order to be used efficiently: A standard methodology: A CASE tool must support a standard software development methodology and standard modeling techniques. Flexibility: Flexibility in use of editors and other tools. The CASE tool must offer flexibility and the choice for the user of editors' development environments. Support for reverse engineering: A CASE tools must be able to generate complex models from already generated code.
4/18/2020 Dhaka International University (DIU) 18
Characteristics of a successful CASE Tool: Strong Integration: If a change is made at any stage, for example, in the model, it should get reflected in the code documentation and all related design and other documents. Integration with testing software: The CASE tools must provide interfaces for automatic testing tools that take care of regression and other kinds of testing software under the changing requirements. On-line help: The CASE tools provide an online tutorial.
4/18/2020 Dhaka International University (DIU) 19
Examples of CASE Tools
Umbrello is a Unified Modelling Language (UML)
modelling tool and code generator. It can create diagrams of software and other systems in the industry-standard UML format, and can also generate code from UML diagrams in a variety of programming languages.
4/18/2020 Dhaka International University (DIU) 20
Examples of CASE Tools
4/18/2020 Dhaka International University (DIU) 21
Examples of CASE Tools
4/18/2020 Dhaka International University (DIU) 22
Examples of CASE Tools
4/18/2020 Dhaka International University (DIU) 23
Questions for this chapter for exam? 1. Define CASE and CASE tools. 2. How CASE tools are user for developing database apps? 3. Why CASE tools are developed? 4. How organizations use CASE tools? 5. Major categories of CASE tools. 6. Types of CASE tools. 7. Advantage and disadvantages of CASE tools. 8. Characteristics of successful CASE tools.