Quality assurance tools: The majority of CASE tools that claim to focus on quality assurance are actually metrics tools that audit source code to determine compliance with language standards.
Other tools extract technical metrics in an effort to project the quality of the software that is being built. Database management tools: Database management software serves as a foundation to establish a CASE database repository , which is called project database. Emphasizing on configuration objects, database management tools for CASE are evolving from relational database management systems to object-oriented database management systems.
Software configuration management tools: Identification, version control, change control, auditing, and status accounting are the phases in Software Configuration Management. The CASE database provides a mechanism for identifying each configuration item and relating it to other items; the change control process can be implemented with the aid of specialized tools; easy access to individual configuration items facilitates the auditing process and CASE communication tools can greatly improve status accounting.
Analysis and design tools: Analysis and design tools enable a software engineer to create models of the system needs to be built. The models represent data, function, and behavior, and characterizations of data, architectural, component-level, and interface design. Consistency and validity checking on the models, analysis and design tools provide a software engineer with some degree of insight into the analysis representation and help eliminate errors before they propagate into the design, or worse, into implementation itself.
In addition, these tools enable the software engineer to develop mock-ups of the real-time system, allowing the customer to gain insight into the function, operation, and response prior to actual implementation.
Interface design and development tools: Interface design and development tools are actually a tool kit of software components such as menus, buttons, window structures, icons, scrolling mechanisms, and device drivers.
However, these tool kits are being replaced by interface prototyping tools that enable rapid onscreen creation of sophisticated user interfaces that conform to the interfacing standard that has been adopted for the software. Prototyping tools: Screen painters enable a software engineer to define screen layout rapidly for interactive applications. More sophisticated CASE prototyping tools enable to create a data design, coupled with both screen and report layouts.
Programming tools: The programming tools encompass the compilers, editors, and debuggers that support the most conventional programming languages. In addition, object-oriented programming environments, fourth-generation languages, graphical programming environments, application generators, and database query languages are also considered within category.
Web development tools: Activities associated with web engineering are supported by a variety of tools for WebApp development. These include tools that assist in the generation of text, graphics, forms, scripts, applets, and other elements of a web page. Integration and testing tools: In their directory of software testing tools, Software Quality Engineering defines following testing tools categories:.
It should be noted that many testing tools have features that span two or more of the categories. Static analysis tools: Specialized testing languages enable a software engineer to write detailed test specifications that describe each test case and the logistics for its execution. Requirements-based testing tools isolate specific user requirements and suggest test cases that exercise the requirements. Static testing tools assist the software engineer in deriving test cases.
Three types of static testing tools are used in the industry: code-based testing tools, specialized testing languages, and requirements-based testing tools. Code-based testing tools accept source code as input and perform a number of analyses that result in the generation of test cases.
Dynamic tools can be either intrusive or non-intrusive. An intrusive tool changes the software to be tested by inserting probes that perform the activities just mentioned. Non-intrusive testing tools use a separate hardware processor that runs in parallel with the processor containing the program that is being tested. Test management tools: Test management tools are used to control and coordinate software testing for each of the major testing steps. In addition to the functions noted, many test management tools also serve as generic test drivers.
A test driver reads one or more test cases from a testing file, formats the test data to conform to the needs of the software under test, and then invokes the software to be tested. Reengineering tools: Tools for legacy software address a set of maintenance activities that absorb a significant percentage of all software-related effort.
Jtest is an automatic static analysis and unit testing tool for Java development. It reduces time spent chasing and fixing bugs by automatically generating unit test cases.
These tools detect stylistic issues, dataflow problems, platform, and compiler portability metric. This tool is used in unit testing; it checks that all possible code paths have been executed. FindBugs is a static analysis tool to find bugs in Java programs. It is a tool for finding Java coding errors, especially deadlock detection.
This is an acceptance testing tool. This is a Java code analysis tool used to identify uninitialized and unused variables, call trees. This is a tool for identifying major changes in source code and their impact on testing.
Finds runtime bugs in Java code, e. This tool provides information about diagnostics on memory usage. This is a Java source code analysis tool and analyzes code metrics, code coverage.
This is a Java test coverage analyzer. It identifies the bugs and improves the quality of program. This is a Java unit testing framework for testing a web-based application.
This is a Java code coverage tool. It can be used to identify parts of Java program lacking test coverage. This is a Java test coverage tool. It is used for statement and branch testing. Existing CASE tools can be classified along four different dimensions:. Workbenches integrate several CASE tools into one application to support specific software process activities.
Hence, they achieve:. CASE workbenches can be further classified into eight classes:. An environment is a collection of CASE tools and workbenches that support the software process. Toolkits are loosely integrated collection of products that are easily extended by aggregating different tools and workbenches. Typically, the support provided by a toolkit is limited to programming, configuration management, and project management.
Loose integration of toolkits requires user to activate tools by explicit invocation or simple control mechanisms.
Resulting files are unstructured and could be in different format; there-fore, the access of file from different tools may require explicit file format conversion. However, as the only constraint for adding a new component is formats of the files, toolkits can be easily and incrementally extended.
The environment itself is written in the programming language for which it was developed, thus enabling users to reuse, customize and extend the environment. Integration of code in different languages is a major issue for language-centered environments, and lack of process and data integration is also a problem. Strengths of these environments include good level of presentation and control integration.
These environments achieve presentation integration by providing uniform, consistent, and coherent tool and workbench interfaces. Data integration is achieved through repository concept; they have a specialized database to manage all the information produced and accessed in the environment.
Fourth-generation environments were the first integrated environments. They are sets of tools and workbenches that support the development of a specific class of program, electronic data processing and business-oriented applications. In general, they include programming tools, simple configuration management tools, document handling facilities, and, sometimes, a code generator to produce code in lower-level languages such as Informix 4GL and Focus.
Process-centered Environment. Environments in this category focus on process integration with other integration dimensions as starting points. Change Language. Related Articles. Table of Contents. Improve Article. Save Article. Like Article. Recommended Articles. Article Contributed By :. Easy Normal Medium Hard Expert. Writing code in comment? Please use ide. Load Comments. What's New. Most popular in Software Engineering. More related articles in Software Engineering.
0コメント