And Franchise Colleges Supplement 02 - Case Tools By MANSHA NAWAZ Supplement 02 CASE Tools 1 Learning Aims • Objective 1 – to understand the importance of CASE tools and techniques • Aims – What is CASE? Supplement 02 CASE Tools 2 What is CASE? “Computer Aided Software Engineering (CASE) are the software tools that provide automated support for some portion of the systems development process” (Hoffer,1999) • Abstraction based methodology based on diagrams (pictures) • CASE can be used to model any system • All future lectures will be devoted to learning this modelling technique Supplement 02 CASE Tools 3 Why use CASE • TEAM – share system development tasks – Size of development team – Size and scope of project – Skill & experience of the team …. • Documentation used to communication. • STRUCTURED METHODOLOGIES – used to document all systems to a universally accepted defined standards • Documentation standards – use the same tools • Speak the same language - use the same tools • Structured Methodology tool of interest : – Computer Aided Software Engineering Tools & Techniques (CASE) Supplement 02 CASE Tools 4 Integrated CASE Tools • Support activities occurring across several phases of the systems development lifecycle • Integrated CASE provide • tools to create diagrams, forms & report definitions • facilities for analysis, reporting and code generation • shares and integrates data across and between tools • Rely on common terminology, notation and system development methods • Use a common repository to allow data to be shared between tools and SDLC activities Supplement 02 CASE Tools 5 Organisational use of CASE • Depending on the CASE tool, the following system development activities may be covered: • • • • • • Supplement 02 project identification and selection project initiation and planning analysis design implementation maintenance CASE Tools 6 Organisational use of CASE • Objectives of CASE • • • • • • • • • improve quality of developed systems increase speed of systems development improve testing process through automatic checking integrate development activities (common methods) improve documentation (quality and completeness) standardise the development process simplify program maintenance promote reusability of modules & documentation improve software portability across environments Supplement 02 CASE Tools 7 CASE Tool Components • Vary depending on which CASE tool is considered but in general will include: • diagramming facilities • means of describing/defining functional and data objects • means of identifying relationships between system components • central repository of system information • error checking facilities (syntax errors) Supplement 02 CASE Tools 8 CASE Tool Components • • • • • • consistency and completeness checks user interface generators database specification code generators project management aids documentation generators • May also provide features for group working, version control, interfacing facilities and security features Supplement 02 CASE Tools 9 CASE Diagramming Tools • Diagramming facilities include: • • • • • • • • checks for syntactic correctness consistency & completeness checks navigation to linked diagrams data dictionary support layering of system components traceability of requirements report generation system simulation/performance analysis (models) Supplement 02 CASE Tools 10 CASE Repository • A repository is a centralised database containing all models (diagrams), data dictionary entries, form & report definitions and system & organisational information • Holds complete information to develop a system from initiation to maintenance • Supports team IS development Supplement 02 CASE Tools 11 CASE Repository Diagrams Forms and Reports Documentation Project Information Source and Object Code Supplement 02 Analysis & Testing Results CASE Repository Standard Libraries CASE Tools 12 CASE Analysis Tools • Help handle the complexities of building large complex systems • Analyse items stored in the repository for consistency & completeness • includes diagrams, data, process flows and reports • e.g. all classes in a sequence diagram are present in the class diagram and messages are consistent • Analysis tools often may be customised Supplement 02 CASE Tools 13 CASE Documentation Generators • Create reports based on the Repository’s contents • technical & user documents in standard formats • Benefits: • helps manage large amounts of documentation generated during Systems Development Lifecycle • reduces “retrospective” documenting of system • high quality documentation reduces maintenance costs/effort Supplement 02 CASE Tools 14 CASE Code Generators • Automatic generation of program and database definition code from information stored in the Repository • Produce source code (not compiled) allows generation for several environments – standard programming language conventions – compiled on different platforms with different operating systems Supplement 02 CASE Tools 15 CASE Code Generators • e.g. the IBM Rational Rose suite includes tools which: – generate class definitions, • in C++, Visual Basic, Java etc.; – – – generate ER model, SQL schema (e.g. Oracle8), CORBA IDL and Web Publisher; reverse engineer from many of these; trace requirements from model to code; • – • model integrator / check model guide the development process. e.g. the ASCENT suite developed at UoT Supplement 02 CASE Tools 16 Benefits of using CASE Tools • Automation of tedious tasks • Syntax/completeness checks ensure consistency • Amending/updating achieved far more easily • documentation can be kept up-to-date • beneficial effect on maintenance • More rapid development • more feasible to develop & evaluate alternative designs • an aid to prototyping Supplement 02 CASE Tools 17 Benefits of using CASE Tools • Capture of system data for reuse • particularly important for OO development • • • • • • May guide the use of a methodology Clearer communication with users Continuity of development with changing staff Standardised quality assurance/test procedures Improvements in system quality Reduction in defects increases morale Supplement 02 CASE Tools 18 Role of CASE in Software Quality Assurance • CASE can help with: – – – – – – – – adherence to standards, integrity of documentation, centrally held data dictionary, fast capture of requirements, quick modification to designs, trace requirements from model to code, guide the development process, easy, consistent code-generation. • All important in maintaining quality Supplement 02 CASE Tools 19 Limitations of CASE • Limited flexibility in documentation – standards may not suit organisation or project needs • Development approach limited to fit capabilities of the CASE tool – may not adhere to industry or organisational standards • Training and experience required Supplement 02 CASE Tools 20 Limitations of CASE • Front loaded cost of installation of CASE tool & training – benefits may outweigh initial costs • Incomplete coverage of syntax/ consistency checks • Limited intelligence - no checks on overall quality or correctness Supplement 02 CASE Tools 21 SAD using Case Tools • Systems Analysis – “What” the proposed system must do – Construct Analysis Specification document • Systems Design – “How” the proposed system will achieve this – Construct Design Specification document • Documentation Standards – Emphasis on CASE tools documentation – And not PROJECT documentation !!!!!!!!! Supplement 02 CASE Tools 22 CASE Diagramming Tools • Systems Development uses diagrams to represent various system components and their relationships – Context Diagram supported by text – Event List supported by text – Data Flow Fragments supported by text – Top-Level Data Flow Diagram supported by text – Low-Level Data Flow Diagrams supported by text Supplement 02 CASE Tools 23 All future lectures will be devoted to learning CASE Tools & Techniques – – – – – – Context Diagram supported by text Event List supported by text Data Flow Fragments supported by text Top-Level Data Flow Diagram supported by text Low-Level Data Flow Diagrams supported by text Data Dictionary • Data Description – Structures & Elements – Starting point is DATA STORES& DATA FLOW • Data Store Descriptions • Data Flow Descriptions • Process Descriptions – NORMALISATION • Database Tables derived from Data Store Descriptions Supplement 02 CASE Tools 24 Summary • Importance of CASE tools & techniques to model systems • Case Documentation requirements & standards • CASE TOOLS - ONLINE Supplement 02 CASE Tools 25