Introduction to CASE Tools
Computer-aided software engineering is the application of computer-assisted tools and methods in software development to ensure a high-quality and defect-free software.
Why Tools are Used
Software tools are used for the following reasons:
- Productivity Cost
- Accuracy
- Quality
- Safety
When CASE is used properly:
- You will become a better software engineer.
- You will work better with others.
- Your code will be tested more.
- You will do things you wouldn’t normally bother to do.
- Refactoring code.
- Your life in software engineering will be slightly less stressful.
CASE tools can be:
- General Purpose:
- Build and test tools.
- Language agnostic.
- Build and test tools.
- Specialist:
- Load testing
- DoS tool
- Low Orbit Ion Cannon
Evolution of CASE
- Machine Language
- No real CASE.
- Assembly Language
- Still no checks
- All abstraction in the programmer’s head.
- High Level Language Compilers
- Abstractions are part of the language.
- Code is capable of:
- Being structured.
- Being tested as part of compilation.
-
Interpreters
Programs can be:
- Source Code Based
- Fast turnaround time.
- No pre-compile check.
- Only checks running code.
- Intermediary Code Based
- Slower turnaround time.
- Supports pre-compile checks.
- Allow for multiple languages to be converted to the same intermediate language.
- Source Code Based
CASE Tools
Programming Tools
- Machine Language
- Assembler
- Compiler
- Interpreter
- IDEs
- Editing tools.
- Refactoring
- Tool Integration
Testing & Debugging Tools
- Debuggers
- Generally focused on specific programming languages.
- Logic Analysers
- Profiler
- View where time is spend running your code.
- Logger
- Testing Framework
- Stress & Security Testers
Management Process & Collaboration Tools
- Project Scheduler
- Bug Management
- Document source code version control.
- Wikis
- Cost estimation tools.
Design Development Tools
- UML Editors
- Code Generators
- Reverse Engineering
- Database ORM Tools
- Allow you to test on database object data.