CASE Tools | Software Engineering Tutorial | Minigranth

CASE Tools : Introduction

  • CASE Tools is stands for Computer Sided Software Engineering Tools. As the name suggests, these are the tools which are used to automate the processes while developing software product through software development life cycle.
  • The CASE Tools are capable of automating the tasks in almost every phase of software development life cycle reducing the workload of developers and other team members. They are application programs which are designed to perform specific tasks.
  • By automating the various processes of software development life cycle, the risk of errors & fault decreases and efficiency & functionality increases. Also, CASE Tools are efficient enough to reduce the time consumption effectively making the cost of the project in control.
  • CASE Tools can be categorised as per the phases of software development life cycle as:
    1. Upper CASE Tools : Those CASE Tools that can be used in first three phases of software development life cycle i.e. analysis and design, planning and development.
    2. Lower CASE Tools : Those CASE Tools that can be used in other phases of the software development life cycle i.e. testing, deployment and
    3. Integrated CASE Tools : CASE Tools that can be used in any of the phases of software development life cycle are called integrated CASE Tools.

This image describes the case tools classification used in software engineering.
CASE Tools : Classification

CASE Tools  : Classification

  • Analysis CASE Tools : These tools are used to check the software product for its proper functionality and requirement analysis. For example : Artemis, Zoho Desk etc.
  • Documentation Tools : These tools are used in generating software requirement specification documents for software product. For example : Webhelp, MarkdownPad, etc.
  • Diagram Tools : These tools are used to generate diagrams such as flowcharts, DFDs and Use case diagrams. For example : Dia, Microsoft visio etc.
  • Design Tools : These tools are used to automate the process of designing for the software products. For example : Adobe Illustrator, Photoshop etc.
  • Prototyping Tools : These CASE tools are used to generate prototypes for various software modules of any software product. For example : Framer, Principle etc.
  • Project Management Tools : These CASE tools are used in planning the whole software product with respect to its features, functionalities, available resources, budget, cost, time etc. For example : Dashboards, Project Scheduling, Project Reporting etc.
  • Programming Tools : These tools are used for development of any software product. They help in writing codes for the software product by providing solid framework. For example : Dreamweaver, Net-Beans, Vim, Atom etc.
  • Quality Assurance Tools : These tools ensures that the quality of the software product which is being generated is of highest standard. For example : Selenium, Appium etc.   
  • Maintenance Tools : After delivering the project, maintenance tools help in automation of maintenance of software product in-order to reduce manual human efforts.

Software Crisis : Introduction

  • If difficulty arises in developing quality software, it leads to software crisis. This means, whenever there is shortage of skilled, efficient and effective software developers, software crisis occurs.  
  • According to Edsger W. Dijkstra software crisis can be defined as :

The major cause of the software crisis is that the machines have become several orders of magnitude more powerful.  To put it quite bluntly, as long as there were no machines, programming was no problem at all. When we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.

  • Also, software crisis put the Software Development/Information Technology industry on back-foot due to inability to generate and build quality software products.

Software Crisis : Causes

  • Whenever software crisis occurs it causes severe implication on the software and information technology industry. The reason for software crisis are listed below :
    1. When objectives are un-cleared and goal is not defined before starting the project.
    2. When the members of the team does not have quality skills and lack of technological interests to work upon the projects.
    3. When projects are undelivered or delivered very late leading to over budget the whole project.
    4. When projects developed are of very low quality.
    5. When the projects are unmanageable due to the fact that developers are not ready to improve their skills with change in new technology and continue to work on old technology.
  • Software crisis will occur if we will not update and polish our self with new technologies and continue to work on same tools and techniques for ages.

Software Crisis : Indicators  

  • The major indicators of software crisis are:

This image describes the various software crisis indicators in software engineering.
Software Crisis : Indicators