Outline of Presentation

I. What is CASE?

  • A. It's name
  • 1. CASE -- Computer-Aided-Software-Engineering, or automation of software development [McClure, 4)
  • 2. CASD -- Computer Aided Systems Development [BRATH90, 143]
  • B. Purpose (Mc Clure, 6)
  • 1. Makes Structured Techniques Practical
  • 2. Enforces software/information engineering
  • 3. Improves software quality through automated checking
  • 4. Makes prototyping practical
  • 5. Simplifies program maintenance
  • 6. Speeds up development process
  • 7. Frees developer to focus on creative part of software development
  • 8. Encourages evolutional and incremental develoopment
  • 9. Enables reuse of software components.
  • C. Aspects of CASE
  • 1. Differences with traditional development (McClure, 7)
  • a. Support Dedicated, Personal computing environment
  • b. uses graphics
  • c. Links different phases of the SDLC
  • d. Integrates all computer data from beginning to end of SDLC
  • e. Uses AI to help.
  • 2. Support of the SDLC
  • a. Diagramming tools
  • b. Screen and report painters ( Prototyping)
  • c. Dictionnairies
  • d. Information Management (In a repository)
  • e. Store of Technical Specs (In a repository)
  • f. Project management tools (in a repository)
  • g. Specification Checking Tools (Data Design)
  • h. Code Generators-Programming toolkits
  • i. Maintenance toolkits
  • j. Documentation Generators
  • 3. Support for different aspects of each stage.

  • a. Brathwaite, 90, p. 144
  • (1) Programmer/Project Productivity Tools (Natural language programming, project management, documentation)
  • (2) Systems Development Methodology Tools (Support and enforce methodologies)
  • (3) Systems Development Support Tools (Diagramming tools, data dictionnairies, analysis tools, productivity tools)
  • II. Tools for System Design

  • A. What they are supposed to do vs. what they do.
  • They're supposed to facilitate the usage of standard methods.
  • 1. ER
  • 2. DFD
  • 3. Structure Charts
  • 4. Formal Specifications
  • 5. etc.
  • B. What are the pitfalls?
  • 1. We need to think in new ways
  • 2. Cost/Productivity tradeoff
  • 3. Resistance to Change
  • 4. Over-expectation of results
  • 5. Technical Problems
  • a. Facilities to characterize and reuse existing software modules
  • b. Integration with other software packages, including revision control, compilers, etc.
  • c. Need for standard information repository
  • d. Integrated maintenance of design and code
  • C. Where do tools fit in the SDLC?
  • 1. Wherever information needs to be stored
  • 2. With tools, the computer can do what is rule-based. Any time the analyst/designor needs to choose, the computer should prompt the analyst/designor for interaction.
  • D. How should tools be chosen.
  • Characteristics to be considered:
    1. What data does it store?
    2. What is the future potential of the tool?
    3. Does it have an open architecture?
    4. What help is it to reengineering?
    5. Relationship to other tools currently used or under consideration.
    6. What level of detailed graphical explosion is possible?
    7. Does the tool have windowing capabilities, so different aspects can be viewed side-by-side?
    8. Does the environment integrate business planning?
    9. Prototyping capabilities
    10. Generation of physical design from logical design
    11. Support for analysis of design documentation? (Checking DFDs, etc)
    12. Generation of Design Specification Reports
    13. Convenient and comprehensive customization of generated system.
    14. Support for distributed design and development
    15. Possibility of exporting portions of the design.
    16. Interface to company DBMS
    17. Support for wordprocessing
    18. Project management support
    19. Can methodologies be changed?
    20. Support for generation of end-user documentation
    21. Support for system maintenance.
    22. Support for a variety of types of systems.
  • III. The future

  • A. Future Developments
  • 1. 40-75% generated code
  • 2. Voice interaction?
  • B. Suggestions for Further Research
  • Solve Technical problems