6 chap


Published on

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

6 chap

  1. 1. Chapter No. 6CASETOOLS 1
  2. 2. Study Resources• Reference Books1. Analysis and design of information systems: James A. Senn. Page no. 525, 2602. Software Engineering : Summerville. Page No. 2723. Modern systems analysis and design: Jeffrey Hoffer. Page no .19-214. Software Engineering : W S Jawadekar. Page No. 96, 99, 120 2
  3. 3. 6.1. Introduction to CASE tools• What are CASE tools• Is a catchall term to describe virtually any software development tool.• typically used to refer to software development tools that use diagrammatic representations of software design. 3
  4. 4. Computer Aided Software Engineering•What is a CASE Environment? – CASE is the use of computer-based support in the software development process.•What is a CASE Tool? – A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within a software development process. – A set of tools to (optimally) assist in each step of software development. 4
  5. 5. Purpose of CASE Tools• Provides software engineers and programmers with software based tools that help with some combination of: – specifying requirements – designing software to meet the requirements – generate code automatically – support documentation efforts• A central repository to input, store, revise, and output work done on a project.• Provide ‘leverage’ (Control). 5
  6. 6. Purpose of CASE Tools• Supply basic functionality, do routine tasks automatically – Be able to support editing of code in the particular programming language, supply refactoring tools.• Enhance productivity – Generate code pieces automatically.• Increase software quality• Intuitive use (easy to use and understand)• Integration with other tools – For example, code editor works with code repository. 6
  7. 7. Purpose of CASE ToolsTo reinforce and support an engineering approach to softwaredevelopment and evolution by providing computer basedassistance, which translates to low-defect solutions and enhancedproductivity.A CASE tool is any computer based system that may be usedduring the software development process.A Computer Aided Software Engineering (CASE) tool is anycomputer based tool for software planning, development andevolution. This definition includes all examples of computer-based support for the managerial, administrative, or technicalaspects of any part of a software development project. 7
  8. 8. Purpose of CASE Tools“ ... to automate the entire software life cycle process with a set ofintegrated tools” -McClure (1989)“CASE tools are used to facilitate greater standardisation of workprocedures and adherence with design discipline” -Orlikowski (1988)“CASE tools are important because they speed development, automatetedious tasks, and enforce standards and procedures.” 8
  9. 9. System Development Items Stored in the CASE Repository 9
  10. 10. CASE Tool Architecture INPUTS: CASE Tool models, Facilities descriptions (on a workstation) OUTPUTS: and reports, prototypes problems, and analyses Graphics Description Prototyping links links Tools Tools ToolsRepository Server House- imported Quality keeping and Management Tools exported Tools knowledge check-out/ check in Data Local Decision knowledge Sharing Repository Support Tools (on a LAN Tools Server) Security and Inquiry and Version Reporting Control Tools Tools CENTRAL REPOSITORY Design Code Document Generators Generators Tools 10
  11. 11. The Relationship between CASE Tools and the Systems Development Life Cycle 11
  12. 12. Why CASE Tools Are Popular• Support the need to develop and revise documentation.• Support the need to trace requirements to design, and requirements to test.• Reduce systems development time.• Produce more easily maintained code.• Support the needs of IS professionals.• Support the SDLC. 12
  13. 13. Capabilities of CASE Tools• Support graphics with drawing aids.• Create and maintain data model and process specification entries.• Create documentation.• Verify that rules are followed.• Consistency checking.• Create portions of computer programs.• Allows IS developers to focus on important issues by freeing them from “mechanics” issues. 13
  14. 14. Organizational Benefits• Improved quality of systems• Faster development of systems• Ease and improve testing• Improve quality and completeness of documentation• Improves integration of development activities via common methodologies• Standardize development• Improve project management• Promote reusability of modules and documentation• Simplify maintenance• Improve software portability 14
  15. 15. Scope of CASE Technology• Business Systems Planning – Provide a ‘meta-model’ from which specific systems are derived. The focus is not on the requirements of specific applications but rather on building a model of the business itself. Business information is modelled as it ‘flows’ through the different organisation units in a company.• Project Management – Tools which focus on: • software project effort and cost estimation • project scheduling • requirements tracing• Support – Broad selection of tools applicable over the entire development process such as Desk top publishing tools.• Integration and Testing – Tools such as Static Analysis tools, Dynamic Analysers 15
  16. 16. Scope of CASE Technology• Analysis and Design – Enable a software engineer to create models which describe a system which is being built. • Methodology Tools: Such tools support one or more software development methodology and provide consistency and quality checking on the constructed models. • Prototyping and Simulation Tools: Provide a means for creating functional and behavioural models of a system. Some also provide code generation facilities. – Interface Design and Development Tools: Toolkits of program components such as buttons and windows and interface prototyping tools.• Programming – Tools such as compilers, debuggers, linkers and environments which integrate these tools. 16
  17. 17. Scope of CASE Technology• Prototyping – A broad range of tools which is applicable to many tools in other categories. These tools allow the developer to build scratch systems of differing functionality and performance. This can range from tools which allow mock-ups of users interfaces to be developed to tools which generate source code.• Maintenance – These tools aid in the maintenance of software. • Reverse engineering tools which try to extract analysis and design models corresponding to source code. • Code restructuring tools. • Re-engineering tools which perform a combination of reverse engineering and restructuring.• Framework – Tools that provide an environment which supports the integration of other CASE tools. 17
  18. 18. Benefits from CASE tools Better quality of produced systems Better communication between developers Better productivity of developers Formalized design methodologyBetter maintenance of the productetter project management Source: CASE RESEARCH CORP. Other 5 10 15 20 25 30 35 40 % answers 18
  19. 19. Cost distribution during SI lifecycle Traditional cost “ad hoc” methods Methods based on CASE tools Planning Analysis Design Programming Deployment Maintenance time 19
  20. 20. Why CASE tools are (sometimes) inefficient?Sources of difficulties: Too high expectations: CASE tools are only tools - they are not able to learn from experience and to think. “A fool with a tool is still a fool.” A CASE tool is able to reduce the cost of the software production at most on 30-50%. People tend to treat CASE tools as code generators. A CASE tool is used only as a “very high level programming language”, without proper documentation of the analysis and design phases. No analysis and design methodology. Bad organization of software development processes, lack of order, lack of a plan, lack of good estimations and measures, lack of monitoring, etc. Underestimating other costs induced by a CASE tool: education, deployment, organizational changes, improvement of discipline, etc. Effects of CASE tools usually appear after some time. 20
  21. 21. 6.2. Types & Names of CASE toolsProject Management Tools1. Green UML2. ESS-Model3. Gather Space4. MS - Project 21
  22. 22. Executive Support System 22
  23. 23. 6.2. Types & Names of CASE toolsAnalysis tools1. Meta-Boss2. UML CASE Tools3. DMS Software Reengineering Toolkit 23
  24. 24. 6.2. Types & Names of CASE toolsDesign tools1. Magic Draw2. ArchE – Is an Architecture Expert Design Assignment3. ER Studio 24
  25. 25. ConclusionA CASE tool makes it possible to improve software production processes, butnot in auto-magical way: it requires good project organization, well definedproject goals, and a disciplined methodologyCASE tools are sometimes expensive. There are two kinds of costs: (1) the cost of software and installation (2) education and changes in software manufacturing routines.The ultimate benefit depends on good integration of a CASE tool with theassumed A&D methodology, project management, software constructionroutines and documentation standards. 25