Скачать презентацию CASE Tools And Their Effect On Software Quality Скачать презентацию CASE Tools And Their Effect On Software Quality

130ba2b884f32eaea0087cfa9d7af08e.ppt

  • Количество слайдов: 21

CASE Tools And Their Effect On Software Quality Peter Geddis – pxg 07 u CASE Tools And Their Effect On Software Quality Peter Geddis – pxg 07 u

COMPUTER ASSISTED SOFTWARE ENGINEERING What is CASE? CASE is a term covering a whole COMPUTER ASSISTED SOFTWARE ENGINEERING What is CASE? CASE is a term covering a whole range of tools and methods that SUPPORT SOFTWARE SYSTEM DEVELOPMENT CASE Tools and Methods These tools and methods reduce the load on developers allowing them to focus their skills on other goals Usable at all stages of the Software Development Life Cycle Example Automating tasks such as code generation and model transformations would take a lot of time for a human developer!

MORE ‘What Is CASE? ? ? ’ CASE provides automation and aided design to MORE ‘What Is CASE? ? ? ’ CASE provides automation and aided design to developers in almost every single developer program for the last couple decades CASE Tool and Method Categories Data Modelling Model and Program Transformation Refactoring tools Source code generation Unified Modelling Language Documentation

Data Modeling What is Data Modeling? A method that defines data requirements as data Data Modeling What is Data Modeling? A method that defines data requirements as data models representing the business processes of the system These Data Models contain data elements, structure and relationships of a system as well as providing the definition and format for those parts Models should be considered progressive ‘living’ documents that change with requirements Basically the foundations that make the system work!

Data Modeling Process Conceptual Data Model Describes the semantics of an organizations entities and Data Modeling Process Conceptual Data Model Describes the semantics of an organizations entities and represents significant attribute and relationship concepts within the organization Logical Data Model Actual implementation of a conceptual data model using a particular data management technology - This may require multiple logical data models to complete Physical Data Model Giving the logical data model real-world implementation values

Model and program transformation What Is Model and Program Transformation? Simple Description Its takes 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 meta-model A and produces as output Object B conforming to given meta-model B Model-Driven Engineering uses the concept of Model Transformation to allow domain-less concepts Example - Convert a Text doc to a Word doc – (Abstract example!)

Model and Program Transformation Used in areas such as Compiler Construction and Documentation Generation Model and Program Transformation Used in areas such as Compiler Construction and Documentation Generation Benefits software development through increased productivity by – Maximizing compatibility between systems Simplifying the process of design Promoting communication between the people working on the system Program Transformation is useful for generating new programs modified for example to contain comments or transformed based on a pattern

Refactoring What Is It? Description The process of modifying a systems internal structure without Refactoring What Is It? Description 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!

Refactoring is generally used when there’s a desire to modify code to – Fit Refactoring is generally used when there’s a desire to modify code to – Fit a particular coding style Improve aspects of the code such as Readability Performance Coding Structure Useful for machines to do the work of refactoring software Comp – ‘ 1 Second’ to change all class instances in a system Human – ‘ 1 Hour’ to change hopefully all instances

Source code generation What is It……. . Oh wait, That’s easy! Simple Description Source Source code generation What is It……. . Oh wait, That’s easy! Simple Description Source Code Generation is the automatic generation of code Better Description Method for generating code based on an ontological model of the source language containing language concepts and their relationships Ontological Model = Representation of the source language Example - Model allows an IDE to automatically fill class names for you

Source code generation This CASE tool is used in range of highly useful ways Source code generation This CASE tool is used in range of highly useful ways including – Programs that create Graphical interfaces in a drag and drop manner, background code generation at work Infer the direction your code is going Auto suggestions Add extra code to the system without needing human approval Doing the setup and run work for you

Source code generation How it improves Software Quality Human Error does not mix well 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 What is It? Standardized general-purpose visualizing modeling language Combine multiple methods 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 objectoriented systems Equivalent to a blueprint for a building but with the blueprint representing software

Unified Modeling Language UML Modeling Categories Structural Takes static aspects of the system such Unified Modeling Language UML Modeling Categories Structural Takes static aspects of the system such as objects, attributes, methods and the relationships between to form a structure representing the system Behaviour The systems dynamic behavior (as if the system was running) is captured using dynamic diagrams including activity, sequence, communication and state machines

Unified Modeling Language UML is widely used at all cycles of the software life Unified Modeling Language UML is widely used at all cycles of the software life cycle due to its usefulness bringing a system together UML Programs Allow creation and modification of modeling diagrams much more efficiently then modeling on paper Depth can be added to sections Links to other work Electronic UML can be stored in a central repository allowing all team members to access up-to-date documentation and system design Transfer of whole or sectional designs possible

Documentation What is It? Documentation tools allow the creation, modification, and updating of system 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 Why it benefits Software Quality? Documentation details the system and its development, if 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 Summary Letting a machine do work produces correct output as long as the CASE Summary Letting a machine do work produces correct output as long as the model the machine is using is correct Automating tasks frees more time up that can be spent improving the software in other ways UML and data modeling is a great way to construct a system from scratch and spot major quality-flaws early on So general purpose it could solve or aid in any system design

CASE Summary Overall use of CASE tools on a software system improves software quality 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 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

CASE Downside CASE has little effect on a few aspects of development and software CASE Downside CASE has little effect on a few aspects of development and software quality. This is because those aspects are hard or just impossible to automate Example – Requirements Gathering and Definition Requires human input!

The End !!!PLEASE MARK GENEROUSLY!!!. . | |_______| REMEMBER QAT MARKING GOES FROM 80% The End !!!PLEASE MARK GENEROUSLY!!!. . | |_______| REMEMBER QAT MARKING GOES FROM 80% TO 100% ONLY!