Bite sized training sessions: CASE tools
CASE tools Computer Aided Software Engineering tools – assist in the development and maintenance of software Does NOT have to restricted to software – but that is why they were developed Term CASE coined by Nastec Corp in 1982 by Albert F. Case (rumour he changed his name to do this is untrue!)
Basic CASE tool concepts Record once use many – the repository Enforce rigour Platform specific CASE can generate code and schemas The most important component of a CASE tool is the repository. The repository is a database of analysis components. The most functionally rich CASE tools let you customise the objects in the repository, their relationships to each other, the information recorded for each object and how they get reported. CASE tools can enforce certain rules. For example, the rule that in a decomposed process model the inputs and outputs of sub-levels cannot be greater than those for summary levels. However, as they are only blindly enforcing binary rules (they only apply rules that have a yes/no outcome and they always apply the rule) there is a limit to what they can enforce. There is no CASE tool for example that forces you to do the right analysis! Some CASE tools can generate programme code and data specifications – the objective being to generate a solution directly from requirements. In reality these always needs reviewing and tailoring, but they can be excellent labour saving devices.
What are the benefits of CASE tools? Reduce analysis effort Initial analysis Reduce duplicated effort Improve analysis quality Improve analysis deliverables quality – reporting Reduce impact analysis effort Improve impact analysis quality
What can CASE tools do? Implement methods and notation (e.g. relational data modelling (method) using ERDs (notation)) Enforce method and notation rules Provide method and notation advice Report Analyse impact Share analysis products Implement methods and notation (e.g. relational data modelling (method) using ERDs (notation)) CASE tools can do this (and do it very well) if the CASE tool vendor is aware of the concepts. Example: One very well known CASE tool I used does physical database modelling very well but in the version I used it did not do logical data modelling: e.g. composite primary keys (especially involving relationships) needed a relatively manually intensive work arounds. In addition, entity relationships had to be declared using foreign key attributes rather than just declaring the relationship and the cardinality. Worse still, the help desk seemed unaware of even the concept of doing logical data modelling. Enforce method and notation rules Again, CASE tools can not only do this very well if the vendor is aware of the concepts, the best CASE tools can let maintain the methods, notations, components and relationships between components. Provide method and notation advice Same comment as before about how well CASE tools can do this so long as the vendor is aware of the concepts of the methods and notation the tool gives advice about. Report Reports have already been mentioned. CASE tools generally will allow great customisation of reports in to a variety of formats. Given how important these reports are this is a great feature. Analyse impact Essentially a report. Share analysis products Based around the concept of a single repository but in this case networked: i.e. shared between analysts. Most CASE tools will provide stand alone and networked versions (with cost implications). What should be coming clear by now is that selecting an appropriate CASE tool requires careful analysis!
What can’t CASE tools do? Implement approaches (e.g. Agile, Waterfall, RAD/JAD) Find business errors – and errors in understanding GIGO Do the analysis! Implement approaches (e.g. Agile, Waterfall, RAD/JAD) CASE tools provide the best ways to document the products of analysis, they can not change the way that the analysis is done (they can support change, they can not make that change). Find business errors – and errors in understanding GIGO – garbage in garbage out. If an analyst records rubbish in the process execution logic for a process step the good news they only have to do it once. The bad news is that it will be re-used many times. The good news is that to fix it only requires fixing it in one place. Do the analysis! CASE tools provide the best ways to document the products of analysis, they can not do it for an analyst!
What are the costs of CASE tools? Purchase and maintenance costs – from free to very expensive Learning curve costs The obvious costs are purchase and on-going costs. However, there are other costs: Configuration costs…of networked repositories, CASE tool components, reports, etc… Educating analysts to use the tool…and the method…? ...and the approach…? ...and the analysis process...? …and the standards…? Educating the suppliers and customers of the information that the BAs produce…?
Some CASE tools ARIS – Business Systems Design Enterprise Architect CASEWise Systems Architect (IBM) Oracle Designer (Oracle) Visio??? Word, Excel, Access…? While Visio is often quoted as a CASE tool it seems to be functionally underwhelming given the requirements discussed on earlier slides: Implement methods and notation (e.g. relational data modelling (method) using ERDs (notation)) Enforce method and notation rules Provide method and notation advice Report Analyse impact Share analysis products It does not have a shared single repository. Word, Excel and Access are also used sometimes but by now it should be obvious show limited they are for this purpose.
Aris (express is free)
Enterprise Architect
CASEwise
Some things to think about There are around 666 CASE tools on the market! Most businesses don’t have CASE tools Most CASE tools that are purchased fall in to disuse within the first year It is possible to create bigger messes more quickly with CASE tools There are around 666 CASE tools on the market! Why the interesting number? Well, it must be out of date by now (this was a survey done in 2006). However, it makes the point there are LOTS and that the choice is wide so select carefully. Most businesses don’t have CASE tools It is outside the scope of this module to go in to why this might be, but the fact is they don’t. The message is analysis can be done without them – it’s just more labour intensive and error prone. Most CASE tools that are purchased fall in to disuse within the first year Give a teenager who can’t drive a Ferrari and pretty soon there is nothing left but a mess: likewise give a group of BAs who aren’t sure of the way they need to use it and pretty soon an impenetrable mess is created – the temptation is to blame the tool, so it gets shelved. It is possible to create bigger messes more quickly with
Questions?