Definition CASE tools are software systems that are
- Slides: 20
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing design diagrams, checking diagram consistency and keeping track of program tests which have been run.
CASE Tools Categories • The most popular classification of CASE technology and tools is based on the distinction made between the early and late stages of systems development. • Upper-CASE – Tools to support the early process activities of requirements and design; • Lower-CASE – Tools to support later activities such as programming, debugging and testing. • Integrated-CASE – Tools to support the whole SDLC (system development life cycle).
Upper-CASE • upper. CASE tools assist the designer only at the early stages of system development and ignore the actual implementation of the system. • The emphasis in upper. CASE is to describe the mission, objectives, strategies, operational plans, resources, component parts etc. of the enterprise and provide automated support for defining the logical level of the business • Upper. CASE tools support traditional diagrammatic languages like Entity Relationship Diagrams, Data Flow Diagrams, Structure Charts etc. providing mainly draw, store as well as documentation facilities.
Lower-CASE • Other CASE tools deal with the application development itself with regard to the efficient generation of code. These are termed lower. CASE tools because they assist the developer at the stage of system generation and ignore the early stages of system requirements specification. • Lower. CASE tools employ mapping algorithms to automatically transformal specifications into an executable form. • This includes, among others, transformation of specifications to relational database schemas, normalization of database relations and SQL code generation.
Integrated-CASE • The CASE market nowadays claim that provide support for both the early stages as well as the implementation stages of information systems development. Clearly, this move towards integrated CASE (ICASE). • In this architecture, the repository plays a more active role in that all tools can interface and exchange data with it. • A repository, holds data fields and definitions and ensures that data integrity is maintained throughout the development lifecycle. As a consequence, ICASE allow tools to work together relatively seamlessly( )ﺑﺴﻼﺳﺔ.
Taxonomy( ﺗﺼﻨﻴﻒ ) of CASE tools 1. 2. 3. 4. 5. 6. 7. Project management Support Analysis and Design Programming Integration and Testing Prototyping (Maintenance)
Project Management Tools 1. Project Planning Tools ¬ Cost estimation: using lines of code to be produced, problem complexity, staff experience, time available ¬ Project scheduling: define project tasks, create task network describing interdependencies and parallelism
2. Requirement Tracing Tools: making sure the contract is fulfilled and no requirements are accidentally missed 3. Metrics Tools: Evaluating quality of software under development and its functionality
Support, Analysis & Design Tools • Documentation Tools: 20 -30% of software development effort is in documentation • SA/SD Tools: Structured Analysis & Structured Design, for creating more and more complex models of the system • PRO/SIM Tools: Prototyping and Simulation • Interface Design and Development Tools: Interface accounts for 50 -80% of code generated
Programming Tools • Conventional coding tools: – Editor – Assembler – Interpreter – Compiler – Debugger • Fourth Generation Language Tools
Interpreter Compiler Scans the entire program and Translates program one statement at translates it as a whole into machine a time. code. It takes less amount of time to analyze the source code but the overall execution time is slower. It takes large amount of time to analyze the source code but the overall execution time is comparatively faster. No intermediate object code is generated, hence are memory efficient. Generates intermediate object code which further requires linking, hence requires more memory. Continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. It generates the error message only after scanning the whole program. Hence debugging is comparatively hard. Programming language like Python, Ruby use interpreters. Programming language like C, C++ use compilers.
Assembler • An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. • Some people call these instructions assembler language and others use the term assembly language.
Integration and Testing Tools • Static analysis tools: – Code-based testing, generating test instances from source code – Specialised testing languages, for writing detailed test specifications – Requirement-based testing, generating test cases based on specific user requirements
• Dynamic analysis tools: – Interactions with an executing program – Provide information regarding number of times a loop is executed, running time of components, etc.
Prototyping Tools Three kinds of prototypes: • Paper/PC-based prototype modelling the human-computer interaction • Working prototype implementing a subset of the desired functionality • Using an existing program as an approximation
Formal Specification Languages • • Formal vs. informal specifications Problems with informal specifications: – – – Contradictions Ambiguities Vagueness( ﻏﻤﻮﺽ ) Incompleteness Mixed levels of abstraction
Advantages of Formality • Formal = mathematically precise, usually involving formal logics • Advantages: – Contradictions can be spotted – No ambiguities possible – Vagueness dissolves – High level of validation: you can PROVE that design matches specification and that implementation correctly reflects design
Formal Specification of Remove. Block in Z
Problems with Formality • Time consuming • Difficult to carry out for complex software, e. g. formal validation of Windows is computationally infeasible • Consequently, formal specification is mainly used in safety-critical domains
Towards fully automatic software engineering • Computers programming computers: intelligent robots or softbots • Fourth Generation Languages, adding another layer of abstraction • Disadvantage: less control over details • Adding more Artificial Intelligence: Computer needs to make more decisions autonomously
- Antigentest åre
- Phân độ lown ngoại tâm thu
- Block xoang nhĩ độ 2 type 1
- Thơ thất ngôn tứ tuyệt đường luật
- Thơ thất ngôn tứ tuyệt đường luật
- Walmart thất bại ở nhật
- Tìm vết của đường thẳng
- Con hãy đưa tay khi thấy người vấp ngã
- Tôn thất thuyết là ai
- Gây tê cơ vuông thắt lưng
- Sau thất bại ở hồ điển triệt
- Systems analysis and design 5th edition
- Best case worst case average case
- Types of case tools in software engineering
- Classic case tools
- Case tools automate
- Embedded development tools
- Case tools definition
- The appropriate cutting tool used in cutting fabrics
- Child protection case management tools
- Popular case tools