Published on May 29, 2012
CaSe To0ls In SySteM DeVeLoPmEnT: CaSe To0ls I n SySteM DeVeLoPmEnT COMPUTER AIDED SYSTEMS ENGINEERING(CASE): COMPUTER AIDED SYSTEMS ENGINEERING(CASE) CASE is a term covering a whole range of tools and methods that SUPPORT SOFTWARE SYSTEM DEVELOPMENT. WHAT IS CASE TOOLS?: WHAT IS CASE TOOLS? CASE tools are programs (software) that automate or support one or more phases of a systems development life cycle. WHY CASE IS USED?: WHY CASE IS USED? Increasing costs of software development due to the extreme intensive labor required . Avoid simple human errors in software development. CASE offers an important opportunity to alleviate the problems of application development and maintenance. TYPES OF CASE TOOLS: TYPES OF CASE TOOLS Upper-CASE :- describes tools that automate or support the ‘upper’ or earliest phases of systems development Lower-CASE :- describes tools that automate or support the ‘lower’ or later phases of systems development I-CASE (integrative case ):- support the entire SDLC CASE TOOL and METHOD CATEGORIES : CASE TOOL and METHOD CATEGORIES Data Modelling Model and Program Transformation Refactoring tools Source code generation Unified Modelling Language Documentation Data Modeling: Data Modeling What is Data Modeling ? A method that defines data requirements as data models representing the business processes of the system. Model and program transformation: Model and program transformation What Is Model and Program Transformation? Simple Description Its takes A and produces B using models to perform the transformation Real Description Object A conforms to a given model A and produces as output Object B conforming to given model B Refactoring: Refactoring What Is It? The process of modifying a systems internal structure without changing its external behavior and functionality Can be thought of as a special type of Program Transformation Example - RENAMING A CLASS! Source code generation: Source code generation What is It……..Oh wait, That’s easy ! Simple Description Source Code Generation is the generation of code. Better Description Method for generating code based on an ontological model of the source language containing language concepts and their relationships Source code generation: Source code generation How it improves Software Quality Human Error does not mix well with coding Developer benefited by automatic suggestions of variables, classes, components, etc meaning less risk of errors Generated code can be almost always guaranteed as correctly written Unified Modeling Language: Unified Modeling Language What is It? Standardized general-purpose visualizing modeling language Combine multiple methods of modeling and diagrams to form a comprehensive whole What is it used for? Used to construct and document objects and object-oriented systems Equivalent to a blueprint for a building but with the blueprint representing software Documentation: Documentation What is It? Documentation tools allow the creation, modification, and updating of system documentation Compared to other CASE tools these are considerably more basic, however this shouldn’t be taken as useless! Documentation tools can be used to – Generate standard forms Auto correct spelling mistakes Improve layout Generate documentation automatically Documentation: Documentation Why it benefits Software Quality? Documentation details the system and its development, if there’s a problem good documentation is invaluable for finding recent modifications or solving the error Use of tools results in a more polished document, one that is a higher-quality It can create documentation from code (such as Class Definitions) that accurately depicts the codes functions with a depth of detail a human developer couldn’t achieve without more time CASE tool support: 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. CASE Tool Repository: CASE Tool Repository Heart of CASE tool is the central repository. Stores all the information to analyze , create, design and modify an application from feasibility to implementation and maintenance. CASE Repository Functions : CASE Repository Functions 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. CASE Repository Functions : CASE Repository Functions 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 CASE Tool Components: CASE Tool Components The Good and Bad News about CASE: The Good and Bad News about CASE Development process productivity and quality increases are realizable Portability of new systems to other platforms is greatly enhanced Analyst skill set will improve due to greater understanding of the process Time to delivery of new applications will decrease Conformity to development standards will increase CASE acquisition costs are extremely high Training of analysts and administrators is costly and time-consuming Most organizations do not have clear standards for application development CASE tools can be viewed as a threat to job security CASE tools do not have a great reputation due to early benefits not being realized CASE Summary: CASE Summary Overall use of CASE tools on a software system improves software quality dramatically by – Reducing errors Improving designs throughout the development Standardizing many tasks and development aspects Providing many many well-tested automated functions Centralizing resources CASE is so good for software development its extremely rare to find a program that doesn’t include some form of it within the last 2 decades THANK YOU !!!!!: THANK YOU !!!!!