case tools and their effect on software quality l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CASE Tools And Their Effect On Software Quality PowerPoint Presentation
Download Presentation
CASE Tools And Their Effect On Software Quality

Loading in 2 Seconds...

play fullscreen
1 / 21

CASE Tools And Their Effect On Software Quality - PowerPoint PPT Presentation


  • 197 Views
  • Uploaded on

CASE Tools And Their Effect On Software Quality. Peter Geddis – pxg07u. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CASE Tools And Their Effect On Software Quality' - tambre


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
computer assisted software engineering
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
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 andProgram 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
  • 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
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
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 transformation7
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
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!
refactoring9
Refactoring
  • 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
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 generation11
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 generation12
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
unified modeling language14
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 language15
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
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
documentation17
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
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 summary19
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
case downside
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
The End

!!!PLEASE MARK GENEROUSLY!!!

. .

|

|_____________|

REMEMBER QAT MARKING GOES FROM 80% TO 100% ONLY!