L 13 – P CASE T ECTURE
Transcription
L 13 – P CASE T ECTURE
LECTURE 13 – PROTOTYPING AND CASE TOOLS 1 • Rapid Application Development • Prototyping • CASE Tools • Types of CASE Tools Software Project Management Maria Petridou RAPID APPLICATION DEVELOPMENT Object-oriented approach to systems development Method of development + Software tools Commonly, a rapid application development (RAD) is implemented in three phases: 2 Software Project Management Maria Petridou PROTOTYPING 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’! 3 Software Project Management Maria Petridou PROTOTYPING 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 4 Software Project Management Maria Petridou PROTOTYPING 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. First-of-a-series prototype – first full-scale model or pilot. Selected features prototype –operational model with some of the features in a module. 5 Software Project Management Maria Petridou PROTOTYPING 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 6 Software Project Management Maria Petridou 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 7 Software Project Management Maria Petridou CASE TOOLS 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. 8 Software Project Management Maria Petridou CASE TOOLS 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. 9 Software Project Management Maria Petridou CASE TOOLS 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. 10 Software Project Management Maria Petridou TYPES OF CASE TOOLS There are three types of CASE tools: Upper CASE Lower CASE Support analysis and design Support programming and implementation Integrated CASE Combines both upper and lower CASE 11 Software Project Management Maria Petridou TYPES OF CASE TOOLS Upper CASE tools 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 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. 12 Software Project Management Maria Petridou TYPES OF CASE TOOLS Examples of CASE Tools: 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) 13 Software Project Management Maria Petridou TYPES OF CASE TOOLS Examples of CASE Tools (cont.): 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) Reading: (Kendall&Kendall, pages 14-19, chapter 6). 14 Software Project Management Maria Petridou