Title: Software Development Environments
1Software Development Environments CASE
- The cobbler finally gets some shoes
2SDE CASE
- SDE CASE are an information system that helps
people develop information systems - Roots 1960s 1970s
- Workstation, graphical versions around 1984
- GOAL Automate the entire systems development
life cycle - SDE CASE include an integrated (plug-n-play)
set of software tools, techniques, and
methodologies
3SDE CASE
Diagramming Tools
Code Generation
Error Checking
Repository
Prototyping
Import Export
Reengineering Tools
Adapted from Yourdon, E., Deline and Fall of the
American Programmer, Prentice-Hall, Englewood
Cliffs, NJ 1992, p. 137
4SDE/CASE
LOWER CASE (BACK-END)
UPPER CASE (FRONT-END)
PLANNING ANALYSIS DESIGN
IMPLEMENTATION EVOLUTION
CASE Tools Below This Line
- Structured English, etc...
- Screen/Report Design
- Prototyping
- Database Population
- Testing
- Etc...
- Reverse Engineering
- Design Recovery
- Etc...
- Enterprise
- Strategic
- Planning
- Information
- Systems
- Strategic
- Planning
- Etc...
- Code Generators
- Application Generators
- Etc...
- Data Modeling
- Process Modeling
- Object Modeling
- Repository Support
- Validation Verification
- Etc...
Also Bridges between different vendors CASE
products.
Project Management Tools Across All
5SDE CASE - Objectives 1
- Improve productivity of developers
- Improve software quality (zero defects)
- Speed up the systems development process
- Reduce the cost of systems development
- Automate design recovery and reverse engineering
of systems - Automate systems documentation
6SDE CASE - Objectives 2
- Automate programming code generation
- Automate validation and verification (error
checking) - Automate project management tasks
- Promote improved control over the development
process - Integrate systems development steps and tools
- Promote software reusability and portability
7STAGES OF SDE/CASE USAGE
- Disenchantment
- Resignation
- Commitment
- Implementation
- Maturity
8SDE CASE - Issues 1
- True model to model integration (analysis
design) - Stronger coupling between design models and code
generation - Stronger client (workstation) to server (host
computer) integration for repository population
and maintenance for systems development
workgroups - Stronger connection between SDE/CASE and other
technologies such as DBMS and 4GLs
9SDE CASE - Issues 2
- Improved automated support for existing and
future systems development methodologies - Solidification of standards
- Improved maintenance reverse engineering
support - Improved project management support
- Improved awareness of organizational change
issues for introducing SDE/CASE - Stronger commitment from management
10SDE CASE - Culture
Pre-SDE/CASE Post-SDE/CASE
- Emphasis on coding, test
- Paper models
- Manual coding
- Manual documentation
- Testing of code
- Maintaining code
- Emphasis on Analysis Design
- Rapid prototyping
- Automated code generation
- Automatic documentation
- Testing of specs design
- Maintaining specs design
Based on McClure, C., CASE Is Software
Automation, Prentice-Hall, Englewood Cliffs, NJ
1989
11The remaining pages show a Guided Tour of
Oracles Designer/2000 CASE Product
12Oracles Designer/2000 Main Menu (as of 6/97)
13Entity-Relationship Data Modeling
14Building the Entity-Relationship Model
15Attribute Definitions
16Naming Entities
17Defining Unique Identifiers
18Entity-Relationship Model version 2
The bars which now appear on the crows feet
adjacent to the transcript entity signal the fact
that the Transcript entity derives some of its
key values from its relationships with Student
and Class.
19Transition from Analysis to Design
20Transition continued
21Transition Journal - a portion of the
posting preferences to database... created
table-entity 'CLASSESCLASS' posting multi line
text for table 'CLASSES' to the
repository created table 'CLASSES' to implement
entity 'CLASS' created table-entity
'FACULTYFACULTY' posting multi line text for
table 'FACULTY' to the repository created table
'FACULTY' to implement entity 'FACULTY' created
table-entity 'STUDENTSSTUDENT' posting multi
line text for table 'STUDENTS' to the
repository created table 'STUDENTS' to implement
entity 'STUDENT' created table-entity
'TRANSCRIPTTRANSCRIPT' posting multi line text
for table 'TRANSCRIPT' to the repository created
table 'TRANSCRIPT' to implement entity
'TRANSCRIPT' posting changes to
database... committing changes... committed
successfully created primary key
'CLASSES.CLASS_PK' for table 'CLASSES' created
primary key 'FACULTY.FAC_PK' for table
'FACULTY' created primary key 'STUDENTS.STUD_PK'
for table 'STUDENTS' created primary key
'TRANSCRIPT.TRAN_PK' for table 'TRANSCRIPT' postin
g changes to database... committing
changes... committed successfully posting multi
line text for foreign key 'CLASSES.CLASS_FAC_FK'
to the repository created foreign key
'CLASSES.CLASS_FAC_FK' from table 'CLASSES' to
table 'FACULTY' posting multi line text for
foreign key 'TRANSCRIPT.TRAN_STUD_FK' to the
repository created foreign key 'TRANSCRIPT.TRAN_ST
UD_FK' from table 'TRANSCRIPT' to table
'STUDENTS' posting multi line text for foreign
key 'TRANSCRIPT.TRAN_CLASS_FK' to the
repository created foreign key 'TRANSCRIPT.TRAN_CL
ASS_FK' from table 'TRANSCRIPT' to table
'CLASSES' committing changes... committed
successfully etc..
22Schema (Table) Model
23Table Column Definitions
24SQL DDL Generation
25DDL Generation - continued
26REM REM This ORACLE7 command file was generated
by Oracle Server Generator REM Version
5.5.10.0.0 on 09-MAY-97 REM REM For application
CAMPUS version 1 database CAMPUS REM SET SCAN
OFF SPOOL CAMPUS.lst REM TABLE CREATION start
CAMPUS.tab REM CONSTRAINT CREATION start
CAMPUS.con REM INDEX CREATION start CAMPUS.ind
REM REM End of command file REM SPOOL
OFF REM REM This ORACLE7 command file was
generated by Oracle Server Generator REM Version
5.5.10.0.0 on 09-MAY-97 REM REM For application
CAMPUS version 1 database CAMPUS REM REM
TABLE REM CLASSES REM FACULTY REM
STUDENTS REM TRANSCRIPT REM PROMPT PROMPT
Creating Table CLASSES CREATE TABLE classes( id
INTEGER
NOT NULL, fac_id
INTEGER NOT NULL, dept_abbrev
VARCHAR2(5)
NOT NULL, dept_number
INTEGER NOT NULL, title
VARCHAR2(80)
NOT NULL )
DDL Listing - partial
27Function Hierarchy Diagram
28Function Utilization of Entities
29Function Use of Attributes
30Transition from Analysis to Design
31Transition Journal - a portion of the
Application Design Wizard Page1
Log file
Create Candidate Modules
from Function
definitions,
Entity and Attribute usages,
Dataflow definitions
and Business Unit
Associations. Log file created for
Application CAMPUS
Version 1 With User Preferences
of..... Top function
MAIN Commonality of business views
1 Application Design Wizard
Page2 Log
file ShortNameCAMPUS0010 Name
ADMINISTRATION()()1
Type SCREEN Notes Developed by Application
Design Wizard from function ADM-S
candidate module because it is an elementary
function ShortNameCAMPUS0020 Name
ADMINISTRATION()()2
Type SCREEN
32Module Structure Diagram
33Forms Execution - Sample 1
34Forms Execution - Sample 2
35Forms Execution - Sample 3
36Reports Execution Parameter