CASE ToolsCASE Tools
Union PalenshusUnion Palenshus
In the early days…In the early days…
►Software engineering tools consisted Software engineering tools consisted solely of translators, compilers, solely of translators, compilers, assemblers, linkers, loaders, etc. – the assemblers, linkers, loaders, etc. – the software NEEDED to build code.software NEEDED to build code.
►Computers weren’t powerful enough or Computers weren’t powerful enough or advanced yet to support higher-level advanced yet to support higher-level functioningfunctioning
But now…But now…
►Software engineering often follows Software engineering often follows specific standardized methodsspecific standardized methods
►There are lots of diagrams and There are lots of diagrams and documentation involveddocumentation involved
►So now computers can be used to deal So now computers can be used to deal with the higher-level aspects of with the higher-level aspects of software engineeringsoftware engineering
Computer Aided Software Computer Aided Software EngineeringEngineering
►What is a CASE Environment?What is a CASE Environment? CASE is the use of computer-based CASE is the use of computer-based
support in the software development support in the software development process.process.
►What is a CASE Tool?What is a CASE Tool? A CASE tool is a computer-based product A CASE tool is a computer-based product
aimed at supporting one or more software aimed at supporting one or more software engineering activities within a software engineering activities within a software development process.development process.
Goal of using CASE toolsGoal of using 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► Integration with other tools
For example, code editor works with code repository
What could be called a CASE What could be called a CASE tool?tool?
►Project management softwareProject management software►System design toolsSystem design tools►Code storageCode storage►CompilersCompilers►Translation toolsTranslation tools►Test softwareTest software
But generally…But generally…
►Code generation tools (Visual Code generation tools (Visual Studio .NET)Studio .NET)
►Code analysis (Borland Audits)Code analysis (Borland Audits)►Development of data models (UML Development of data models (UML
editors)editors)►Cleaning up code (refactoring tools)Cleaning up code (refactoring tools)►Bug trackerBug tracker►Version control (CVS, etc.)Version control (CVS, etc.)
They do THAT?They do THAT?
►CASE tools do more than just output CASE tools do more than just output codecode
►Can be used to generate SE documentsCan be used to generate SE documents Database schemaDatabase schema Data flow diagramsData flow diagrams Entity relationship diagramsEntity relationship diagrams Program specificationsProgram specifications User documentationUser documentation
Class DiagramsClass Diagrams
State ChartState Chart
TestingTesting
Upper and Lower CASEUpper and Lower CASE
►Upper Upper CASECASE: Tools for the analysis : Tools for the analysis and design phase of the software and design phase of the software development lifecycle (diagramming development lifecycle (diagramming tools, report and form generators, tools, report and form generators, analysis tools) analysis tools)
►Lower Lower CASECASE: Tools to support : Tools to support implementation, testing, configuration implementation, testing, configuration managementmanagement
Flash DemonstrationFlash Demonstration
ResourcesResources
►http://en.wikipedia.org/wiki/CASE_toolhttp://en.wikipedia.org/wiki/CASE_tool►http://www.npd-solutions.com/case.hthttp://www.npd-solutions.com/case.ht
mlml►http://www.sei.cmu.edu/legacy/case/cahttp://www.sei.cmu.edu/legacy/case/ca
se_whatis.htmlse_whatis.html►http://www.borland.com/us/products/tohttp://www.borland.com/us/products/to
gether/viewlets.htmlgether/viewlets.html