CASE Tools CIS 376 Bruce R Maxim UM Dearborn 1 CASE Tools Computer Aided Software Engineering Prerequisites to tool use Need a collection of useful tools that help in every step of building a product Need an organized layout that enables tools to be found quickly and used efficiently Need a Skilled craftsperson who understands how to use the tools effectively 2 CASE Tools Upper CASE requirements specification planning design Lower CASE implementation integration maintenance 3 CASE Building Blocks 1 CASE tools Integration framework specialized programs allowing CASE tools to communicate with one another Portability services allow CASE tools and their integration framework to migrate across different operating systems and hardware platforms without significant adaptive maintenance 4 CASE Building Blocks 2 Operating system database and object management services Hardware platform Environmental architecture hardware and system support 5 A Taxonomy of CASE Tools business systems planning project management CASE Database support analysis and design programming integration testing prototyping simulation tools re engineering framework 6 CASE Tool Taxonomy 1 Business process engineering tools represent business data objects their relationships and flow of the data objects between company business areas Process modeling and management tools represent key elements of processes and provide links to other tools that provide support to defined process activities Project planning tools used for cost and effort estimation and project scheduling 7 CASE Tool Taxonomy 2 Risk analysis tools help project managers build risk tables by providing detailed guidance in the identification and analysis of risks Requirements tracing tools provide systematic database like approach to tracking requirement status beginning with specification 8 CASE Tool Taxonomy 3 Metrics and management tools management oriented tools capture project specific metrics that provide an overall indication of productivity or quality technically oriented metrics determine metrics that provide greater insight into the quality of design or code Documentation tools provide opportunities for improved productivity by reducing the amount of time needed to produce work products 9 CASE Tool Taxonomy 4 System software tools network system software object management services distributed component support and communications software Quality assurance tools metrics tools that audit source code to determine compliance with language standards or tools that extract metrics to project the quality of software being built 10 CASE Tool Taxonomy 5 Database management tools RDMS and OODMS serve as the foundation for the establishment of the CASE repository Software configuration management tools uses the CASE repository to assist with all SCM tasks identification version control change control auditing status accounting Analysis and design tools enable the software engineer to create analysis and design models of the system to be built perform consistency checking between models 11 CASE Tool Taxonomy 6 PRO SIM tools prototyping and simulation tools provide software engineers with ability to predict the behavior of real time systems before they are built and the creation of interface mockups for customer review Interface design and development tools toolkits of interface components often part environment with a GUI to allow rapid prototyping of user interface designs 12 CASE Tool Taxonomy 7 Prototyping tools enable rapid definition of screen layouts data design and report generation Programming tools compilers editors debuggers OO programming environments fourth generation languages graphical programming environments applications generators and database query generators Web development tools assist with the generation of web page text graphics forms scripts applets etc 13 CASE Tool Taxonomy 8 Integration and testing tools Data acquisition get data for testing static measurement analyze source code without using test cases dynamic measurement analyze source code during execution Simulation simulate function of hardware and other externals test management cross functional tools 14 CASE Tool Taxonomy 9 Static analysis tools code based testing tools specialized testing languages requirements based testing tools Dynamic analysis tools intrusive tools modify source code by inserting probes to check path coverage assertions or execution flow non intrusive tools use a separate hardware processor running in parallel with processor containing the program being tested 15 CASE Tool Taxonomy 10 Test management tools coordinate regression testing compare actual and expected output conduct batch testing and serve as generic test drivers Client server testing tools exercise the GUI and network communications requirements for the client and server 16 CASE Tool Taxonomy 11 Reengineering tools reverse engineering to specification tools generate analysis and design models from source code where used lists and other design information code restructuring and analysis tools analyze program syntax generate control flow graph and automatically generates a structured program on line system reengineering tools used to modify on line DBMS 17 The next 17 slides come from Sommerville s book 18 Requirements validation Concerned with demonstrating that the requirements define the system that the customer really wants Requirements error costs are high so validation is very important Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error 19 Requirements validation techniques Requirements reviews Systematic manual analysis of the requirements Prototyping Using an executable model of the system to check requirements Test case generation Developing tests for requirements to check testability Automated consistency analysis Checking the consistency of a structured requirements description 20 Automated consistency checking Requirements in a formal language Requirements problem report Requirements processor Requirements analyser Requir ements database 21 Requirements management Requirements management is the process of managing changing requirements during the requirements engineering process and system development Requirements are inevitably incomplete and inconsistent New requirements emerge during the process as business needs change and a better understanding of the system is developed Different viewpoints have different requirements
View Full Document
Unlocking...