1 / 49

CASE Tools

CASE Tools. CIS 375 Bruce R. Maxim UM-Dearborn. 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

Thomas
Télécharger la présentation

CASE Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CASE Tools CIS 375 Bruce R. Maxim UM-Dearborn

  2. 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

  3. Upper CASE requirements specification planning design Lower CASE implementation integration maintenance CASE Tools

  4. 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

  5. CASE Building Blocks - 2 • Operating system • database and object management services • Hardware platform • Environmental architecture • hardware and system support

  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 external devices • 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

  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 and these are often contradictory

  22. Requirements Change • The priority of requirements from different viewpoints changes during the development process • System customers may specify requirements from a business perspective that conflict with end-user requirements • The business and technical environment of the system changes during its development

  23. Requirements evolution

  24. Requirements Management Planning • During the requirements engineering process, you have to plan: • Requirements identification • How requirements are individually identified • A change management process • Process followed when analysing a requirements change • Traceability policies • Amount of information about requirements relationships that is maintained • CASE tool support • Tool support required to manage requirements change

  25. Traceability • Traceability is concerned with the relationships between requirements, their sources and the system design • Source traceability • Links from requirements to stakeholders who proposed these requirements • Requirements traceability • Links between dependent requirements • Design traceability • Links from the requirements to the design

  26. CASE tool support • Requirements storage • Requirements should be managed in a secure, managed data store • Change management • The process of change management is a workflow process whose stages can be defined and information flow between these stages partially automated • Traceability management • Automated retrieval of the links between requirements

  27. Requirements Change Management • Should apply to all proposed changes to the requirements • Principal stages • Problem analysis. • Discuss requirements problem and propose change • Change analysis and costing. • Assess effects of change on other requirements • Change implementation. • Modify requirements document and other documents to reflect change

  28. CASE Workbenches • A coherent set of tools that is designed to support related software process activities such as analysis, design or testing • Analysis and design workbenches support system modelling during both requirements engineering and system design • These workbenches may support a specific design method or may provide support for a creating several different types of system models

  29. An analysis and design workbench

  30. Analysis workbench components • Diagram editors • Model analysis and checking tools • Repository and associated query language • Data dictionary • Report definition and generation tools • Forms definition tools • Import/export translators • Code generation tools

  31. Testing Workbenches • Testing is an expensive process phase. • Testing workbenches provide a range of tools to reduce the time required and total testing costs • Most testing workbenches are open systems because testing needs are organization-specific • Difficult to integrate testing with closed design and analysis workbenches

  32. Testing Workbench

  33. Testing Workbench Adaptation • Scripts may be developed for user interface simulators and patterns for test data generators • Test outputs may have to be prepared manually for comparison • Special-purpose file comparators may be developed

  34. Integrated CASE Environments -1 • Provide mechanism for sharing information among all tools contained in the environment • Enable changes to items to be tracked to other information items • Provide version control and overall configuration management • Allow direct access to any tool contained in the environment

  35. Integrated CASE Environments -2 • Establish automated support for the chosen software process model, integrating CASE tools and SCI's into a standard work break down structure • Enable users of each tool to experience a consistent look and feel at the human-computer interface • Support communication among software engineers • Collect both management and technical metrics to improve the process and the product

  36. Integration Architecture - 1 • User Interface Layer • interface toolkit • contains software for UI management and library of display objects • common presentation protocol • guidelines that give all CASE tools the same look and feel (icons, mouse behavior, menu names, object names) • Tools Layer • tools management services • control behavior of tools inside environment • CASE tools themselves

  37. Integration Architecture - 2 • Object management layer (OML) • performs the configuration management function, working with the CASE repository OML provides integration services • Shared repository layer • CASE database and access control functions enabling the OML to interact with the database

  38. CASE Repository Functions - 1 • Data integrity • includes functions to validate entries to the repository and ensure consistency among related objects • Information sharing • provides mechanism for sharing information among multiple developers and multiple tools, controls modification of information • Data-tool integration • establishes shared data model and performs configuration management functions

  39. CASE Repository Functions - 2 • Data-data integration • database management system allowing access to related objects so functions can be achieved • Methodology enforcement • E-R model used to define steps needed to be conducted to build the repository contents • Document standardization • definition of objects in the database leads directly to a standard approach for creation of engineering documents

  40. CASE Repository Content Summary • Problem to be solved. • Problem domain. • Emerging solution. • Rules pertaining to software process methodology. • Project plan. • Organizational content.

  41. DBMS Features Needed for CASE Repositories • Non-redundant data storage • High-level access • Data independence • Transaction control • Ad hoc data queries and reports • Openness • Multi-user support

  42. CASE Repository Features - 1 • Storage of sophisticated data structures • diagrams • documents • files • simple variables • information model describing relationships and semantics of data stored in repository

  43. CASE Repository Features - 2 • Integrity enforcement • business rules • policies, constraints • requirements on the information being entered into repository, triggers may be used to check the validity of the design models in real time

  44. CASE Repository Features - 3 • Semantic-rich tool interface • repository meta-model contains semantics that enable a variety of tools to interpret meaning of data stored in the repository • Process/project management • contains information about the software application • characteristics of each project • organization's general process for software development - phases, tasks, deliverables

  45. Configuration Management Features Need by CASE Tools • Versioning • Dependency tracking and change management • Requirements tracing • Configuration management • Audit trails

  46. The next 3 slides come from Sommerville’s book

  47. CASE tools for Configuration Management • Configuration management processes are standardized and involve applying pre-defined procedures • Large amounts of data must be managed • CASE tool support for configuration management is essential • Mature CASE tools to support configuration management are available ranging from stand-alone tools to integrated workbenches

  48. Change Management Tools • Change management is a procedural process so it can be modelled and integrated with a version management system • Change management tools • Form editor to support processing the change request forms • Workflow system to define who does what and to automate information transfer • Change database that manages change proposals and is linked to a VM system

  49. Version Management Tools • Version and release identification • Systems assign identifiers automatically when a new version is submitted to the system • Storage management. • System stores the differences between versions rather than all the version code • Change history recording • Record reasons for version creation • Independent development • Only one version at a time may be checked out for change. Parallel working on different versions

More Related