Title: ComputerAided Software Engineering CASE
1Computer-Aided Software Engineering (CASE)
- University of Tartu, Winter 1999
2Definition
- CASE Computer Aided Software Engineering
- Stand-alone CASE Tools
- CASE Platform (Framework)
- User Interface
- Repository, Data Management Services
- Messaging Services
- Integration of stand-alone CASE Tools
- CASE Environment
- contains several tools,
- integrated by a platform
3Definition
Software Engineering
Computer aided
Foundation (Formalization)
Methods
Tools
Complex methods become easy to use
CASE
4Intention
- Programming as art until 60s
- structured techniques since end of 60s
- 4GL late 70s
- CASE Beginning of 80s
- OOA, OOD, OOP Beginning of 90s
- OODB, OO-CASE Mid-90s
- Component Software (Java) 1996
5NIST/ECMA Reference Model for CASE Environments
User-interface services
Process-management services
CASE Tool
CASE Tool
CASE Tool
CASE Tool
CASE Tool
CASE Tool
CASE Tool
Plug in a new tool
Message Services
Data-integration services
Repository services
6Objectives of CASE Tools
- Reduce cost / increase revenues (for SW
producers) - faster generators instead of manual coding
- easier maintenance
- re-usability
- flexible modifications
- Better quality
- automatic documentation
- re-usable
- automatic checks of consistency and redundancy
- use of validated methods
7Classification of CASE Tools
Enterprise CASE
EI-CASE
- Enterprise Modeling
- Planning
- Analysis
- Design
- Implementation
- Installation
- Maintenance
Upper CASE
Integrated CASE (I-CASE)
Lower CASE
8CASE Tool Requirements
- Consistent use of methods
- Basic functionality
- increase of efficiency in SW development
- increase of SW quality
- automation of manual routine work
- easy to use
- export/import interfaces
- integration in CASE platforms
9Functionality of CASE Tools
10Classification of CASE Environments
- Method-oriented
- Support of early development stages with
connection to one or several programming
languages - used for applications in business/administration
- pre-dominant on the market today
- Example Oracle Designer 2000
- Programming-language-oriented
- environment for only one programming language
- Example Borland Delphi
- Administrative
- support of special aspects, e.g. configuration
management - Example Document Management Software
- Meta CASE environment
- CASE Environment to build individual CASE Tools
- Example MIP alfabet (ARIS Toolset)
11Selection of CASE Environments
- Application of quantitative and qualitative
criteria - Qualitative criteria Use value analysis
- Define criteria
- classify criteria
- select alternatives
- determine score of each alternative
- chose alternative
- Quantitative criteria
- software license costs
- instruction costs
- estimated development time
- ...
12Requirements of CASE Environments (1)
- Integration (tools, views, development levels)
- Openness
- integrate new/foreign tools
- export/import project data
- User-friendliness
- personalization
- ergonomy
- standardization
-
- portability
- re-usability of results in new hardware
environment/operation systems - General platform services
13Requirements of CASE Environments (2)
- Completeness
- all SW development activities
- all SW management activities
- general office functionality
- Incremental use
- start with only a part of the functionality and
then extend use - Evaluation of current CASE environments
- only partially complete
- Users apply and combine their own selection of
different tools - problems method break between analysis and
design
14Criteria for Selection of CASE Environments
- Type of planned system
- Application Domain
- business, technical, real-time, interactive
- Newness
- new, partially new, maintenance, ...
- Size of system (lines of code)
- Hardware environment and operating system
- Language restrictions
- compatibility of CASE languages with existing
languages - standard languages?
- Innovative languages?
- Languages compatible with chosen procedure model?
- Project Restrictions / Limited Resources
15Application fields for CASE
- CASE is recommended for
- New applications (no reverse engineering)
- stand-alone applications (no problems of
interfaces or distribution) - interactive, database-oriented applications
- medium-size application (small and medium-size
project teams) - CASE is not recommended for
- complex, integrated systems
- algorithmic, computing-intensive problems