Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS

Similar presentations


Presentation on theme: "Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS"— Presentation transcript:

1 Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS

2 Overview CASE Tools Flowcharts Decision tables
Project management tools Prototyping Types & examples of CASE Tools Chapter 6-- CASE TOOLS

3 An Overview of Systems Development
Systems development process Includes a wide range of projects Purchasing a small program Installing a huge system including hardware, software, communications equipment, and personnel Typically called a systems development life cycle (SDLC) Chapter 6-- CASE TOOLS

4 An Overview of Systems Development (Contd..)
Systems investigation and analysis Looks at the existing system and determines if it can and should be improved Systems design and implementation Selecting and planning the best solution Modifying an existing system or developing a new one, placing the best solution into effect Maintenance and review Evaluating the results of the solution Makes sure that the new or modified system is operating as intended Chapter 6-- CASE TOOLS

5 An Overview of Systems Development
Chapter 6-- CASE TOOLS

6 Tools and Techniques for Systems Development
Systems development tools Can greatly simplify the systems development process, it includes: Computer-aided software engineering tools (CASE): Software tools that automate many of the tasks required in a systems development effort Flowcharts: system design diagram that charts the path from a starting point to the final goal of a system Decision tables: displays the various conditions that could exist in a system and the different actions that the computer should take as a result of these conditions Project management software Prototyping Chapter 6-- CASE TOOLS

7 Computer-Aided Software Engineering
Employs computer-aided software engineering (CASE) tools CASE tools Automate many systems development tasks Allow more than one person to work on the same system at the same time via a multiuser interface, which coordinates and integrates the work of all team members Chapter 6-- CASE TOOLS

8 Software Engineering CASE Tools Computer-Aided Software Engineering (CASE) tools are automated software packages that help to automate activities in the SDLC. CASE tools aim to enforce an engineering-type approach to the development of software systems. CASE tools range from simple diagramming tools to very sophisticated programs to document and automate most of the stages in the SDLC. CASE tools used since the early 1990s Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

9 CASE Tools (Contd..) Improve quality of systems developed.
Software Engineering CASE Tools (Contd..) The case for using CASE tools: Improve quality of systems developed. Help to increase the productivity of systems analysts. Improve communication within the development team and with users. Encourage an integrated approach to the SDLC. Improve the management of the project. Particularly helpful for systems maintenance. Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

10 CASE Tools (Contd..) And more specifically:
Software Engineering CASE Tools (Contd..) And more specifically: Faster creation/modification of documentation. Documents can easily be distributed and reviewed. Reduction in the amount of paperwork. Maintain a record of the SDLC in an effective way. Members of the development team can interact more easily throughout the project. Communication with the user is improved because changes can be reported, implemented and revised more quickly. Interrelation and continuity between stages in the SDLC are easier to identify and verify. Crucial for RAD, XP and similar methodologies. Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

11 CASE Tools (Contd..) Potential drawbacks of CASE Tools:
Software Engineering CASE Tools (Contd..) Potential drawbacks of CASE Tools: Lack of standards among different CASE tools. Development should be driven by the analyst and not by the CASE tools. CASE tools are no substitute for human expertise. Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

12 1. Flowcharts Chart the path from a starting point to the final destination Can display various amounts of detail When developing a system General flowchart describes the overall purpose and structure of the system Chapter 6-- CASE TOOLS

13 Flowcharts Chapter 6-- CASE TOOLS

14 2. Decision Tables Can be used as an alternative to or in conjunction with flowcharts In general, a decision table displays The various conditions that could exist The different actions that the computer should take Chapter 6-- CASE TOOLS

15 3. Project Management Tools
Purpose is to plan, monitor, and control necessary development activities Program Evaluation and Review Technique (PERT) Creates three time estimates for an activity The shortest possible time The most likely time The longest possible time Gantt charting A grid that lists activities and deadlines Project crashing Reducing project completion time Chapter 6-- CASE TOOLS

16 Project Management Tools
Chapter 6-- CASE TOOLS

17 Project Management Tools
Chapter 6-- CASE TOOLS

18 4. Prototyping The creation of a preliminary model or version of a major subsystem or a small, scaled-down version of the entire system Iterative approach to systems development Each phase of the SDLC is repeated several times (iterated) Chapter 6-- CASE TOOLS

19 Software Engineering 4. Prototyping (contd..) It can be defined as an interactive process for systems development in which users and analysts are in close collaboration for converting requirements to a working system that is continuously revised. Prototyping can be used as: Alternative to the ‘traditional’ SDLC approach Technique for gathering information in the requirements analysis phase of the SDLC (help to find what the user really wants)  Prototyping does not mean ‘quick and unplanned implementation’! Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

20 Software Engineering 4. Prototyping (contd..) Prototyping is a complex technique and to apply it successfully, detailed knowledge of the SDLC is required. Prototyping helps to set priorities and adapt the planning to changes in requirements with minimum disruption. Users play a crucial role in prototyping, hence: Encourage and welcome user input No resistance to changing the prototype Two main purposes for prototyping: Know users’ reaction to working with prototype Assess how well the prototype’s features address the users’ requirements Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

21 4. Prototyping (contd..) Guidelines for developing prototypes:
Software Engineering 4. Prototyping (contd..) Guidelines for developing prototypes: Work in manageable modules Modify in successive iterations Estimate the costs of building the prototype Build the prototype rapidly Stress the user interface Types of Prototypes Patched-up prototype – all necessary features but inefficient. Non operational prototype – only input/output are prototyped. (TASK) First-of-a-series prototype (beta version)– first full-scale model or pilot. Selected features prototype –operational model with some of the features in a module. Patch Up Prototype This type of Prototype Model encourages cooperation of different developers. Each developer will work on a specific part of the program. After everyone has done their part, the program will be integrated with each other resulting in a whole new program. Since everyone is working on a different field, Patch Up Prototype is a fast development model. If each developer is highly skilled, there is no need to overlap in a specific function of work. This type of software development model only needs a strong project manager who can monitor the development of the program. The manager will control the work flow and ensure there is no overlapping of functions among different developers. Non-Operational Prototype A non-operational prototype model is used when only a certain part of the program should be updated. Although it’s not a fully operational program, the specific part of the program will work or could be tested as planned. The main software or prototype is not affected at all as the dummy program is applied with the application. Each developer who is assigned with different stages will have to work with the dummy prototype. This prototype is usually implemented when certain problems in a specific part of the program arises. Since the software could be in a prototype mode for a very long time, changing and maintenance of specific parts is very important. Slowly it has become a smart way of creating software by introducing small functions of the software. First of a Series Prototype Known as a beta version, this Prototype Model could be very efficient if properly launched. In all beta versions, the software is launched and even introduced to the public for testing. It’s fully functional software but the aim of being in beta version is to as for feedbacks, suggestions or even practicing the firewall and security of the software. It could be very successful if the First of a Series Prototype is properly done. But if the program is half heartedly done, only aiming for additional concept, it will be susceptible to different hacks, ultimately backfiring and destroying the prototype. Selected Features Prototype This is another form of releasing a software in beta version. However, instead of giving the public the full version of the software in beta, only selected features or limited access to some important tools in the program is introduced. Selected Features Prototype is applied to software that are part of a bigger suite of programs. Those released are independent of the suite but the full version should integrate with other software. This is usually done to test the independent feature of the software. Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

22 4. Prototyping (contd..) Advantages of prototypes:
Potential for changes to the system early in the development. Opportunity to stop developing a non-working system. Possibility of developing system that closely addresses users’ requirements and expectations. Disadvantages of prototypes: Prototyping is difficult to manage. Increase cost Chapter 6-- CASE TOOLS

23 Types of CASE Tools Upper CASE Lower CASE Integrated CASE
Software Engineering Types of CASE Tools There are three types of CASE tools: Upper CASE Support analysis and design Lower CASE Support programming and implementation Integrated CASE Combines both upper and lower CASE Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

24 Types of CASE Tools (Contd..)
Software Engineering Types of CASE Tools (Contd..) Upper CASE tools Support strategic planning and construction of concept-level products and ignore the design aspect. Create and modify the system design. Information about the project stored in the CASE repository (reports, diagrams, files) Support modelling of how the system fits into the organisation. Analysis reports show incomplete parts and errors in the system design e.g. balance between process and data models. Lower CASE Tools concentrate on the back end activities of the software life cycle Generate source code and reduce need for systems programming. Time for maintenance is reduced because test and debug are eliminated. Once mastered, promote the re-use of existing documentation and components. Upper CASE Tools support strategic planning and construction of concept-level products and ignore the design aspect. They support traditional diagrammatic languages such as ER diagrams, Data flow diagram, Structure charts, Decision Trees, Decision tables, etc.,, Lower CASE Tools concentrate on the back end activities of the software life cycle, such as physical design, debugging, construction, testing, component integration, maintenance, re engineering and reverse engineering. Integration dimension Three main CASE Integration dimensions have been proposed:[7] CASE Framework ICASE Tools Integrated Project Support Environment(IPSE) Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS

25 Types of CASE Tools (Contd..) –Examples-
Software Engineering Types of CASE Tools (Contd..) –Examples- Diagramming – for representing processes, data and control structures graphically. (analysis) CASE repository – holds information required to create, modify and evolve the system. (analysis, design, implementation) Form and report generators – automate generation of forms and reports to aid prototyping. (design, implementation, RAD, XP) Code generators – automate generation of source code from diagrams and forms. (design, implementation) Project management – aid in the planning, tracking, controlling and reporting of project management. (planning) Document generator – create standard reports based upon the contents of the CASE repository. (analysis, design, implementation) CASE analysis tools – help to identify problems of inconsistency, redundancy, and omissions. (more likely in analysis and design) Chapter 6-- CASE TOOLS Chapter 6-- CASE TOOLS


Download ppt "Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS"

Similar presentations


Ads by Google