Title: Lecture 15: Prototyping Data Dictionary Preliminary Design
1Lecture 15PrototypingData DictionaryPreliminar
y Design
MIS 160 Systems Development Life Cycle I
2Prototyping
3Definition
- A PROTOTYPE is a model of the system
- It can be as simple as mock-ups of reports or
screens, or as complete as software that actually
does some processing. - Can be used as a communication tool between
analyst and user. - Prototyping is the process of developing
prototypes. - Prototyping strategy indicates the type of
prototype used.
4How is it Used?
- As a methodology
- As a technique/tool within the SDLC.
- Some phases supported/replaced
5Approaches
- Type I - Iterative
- becomes final system
- Type II - Throwaway
- used as model for final system
6Type I (Iterative) Life Cycle
Requirements Definition
Prototype Training
Project Planning
Rapid Analysis
Database Design
Design Prototype
Generate Prototype
Test Prototype
No
Acceptable?
Yes
Implement System
Maintain System
7Type II (Throwaway) Life Cycle
Requirements Definition
Analysis
Design Prototype
Code Prototype
Test Prototype
No
Acceptable?
Yes
Code Final System
No
Test Final System
Implement Final System
Maintain Final System
Yes
Acceptable?
8Types of Prototypes
- Illustrative
- Mock-ups
- Simulated
- Looks like they work, but are simulations
- Functional
- Does some processing, but doesnt store data
- Evolutionary
- Used to produce an operational systems
9Prototype Levels
- Level 1 (Input-Output)
- printed reports and on-line screens
- screen flow sequence
- screen options
- Level 2 (Heuristic-Learning)
- updating database
- basic transactions
10Levels (Continued)
- Level 3 (Adaptive)
- working model of system
- system with training wheels
- no bells or whistles
11Advantages
- Speed
- Easier for end-users to learn
- System changes discovered earlier
- End-user involvement (ownership)
- increased user satisfaction
- increased user acceptance
- User-analyst communication
- Early problem detection
- reduced development time
- reduced maintenance
12Disadvantages
- Poor documentation
- Hard to control/manage
- (Unrealistic) User expectations
- time for final system
- final system differences
- reduced analysis
13Data Dictionary
14Data Dictionary Defined
- the data dictionary collects and coordinates
specific data terms, and it confirms what each
term means to different people in the
organization. - Kendall Kendall
15Data Dictionary(aka, Project Repository)
- Repository for all primitive-level data
structures and data elements within a system. - Use information from Class Diagram to create the
DD - DD details each of the attributes (data elements)
16Preliminary Design
17Moving to Design
- The purpose of the analysis phase is to figure
out what the business needs. The purpose of the
design phase is to figure out how to provide it. - The steps in both analysis and design phases are
highly interrelated and may require much iteration
18Design
- Analysis focuses on what a system is, what it
must do and logical requirements - Design converts functional models from analysis
into models that represent the solution - Design focuses on how the system will be built
- Structural components
- Target processing environment
- Determining levels of automation
- Requires less user involvement than analysis
19Understanding Design Elements
- Design is the process of describing, organizing,
and structuring the components of a system at
both the architectural level and at a detailed
level - Focused on construction
- Like developing blueprints
20Design Activities
- Designing the architecture of the system
- Modeling concurrent processes
- Designing user interfaces
- Identifying resusable classes and software
components - Mapping classes to constructs in the DBMS
- Designing mechanisms for handling errors
- Allocation of classes to source code and
executable code components
21Combining Three Views
- Functional
- Users perspective of the system
- Static
- Structure of the system
- Dynamic
- Behavior of the system
22Analysis Objectives to Design Objectives
23OO Analysis Models to Design Models
24Major Components and Levels of Design
- System is first partitioned into major components
- Design activities usually proceed in parallel
- Design levels
- Architectural (high level)
- Detail level
25Partitions and Collaborations
- Creating subsystems or larger units
- Grouping units that collaborate
- May have collaboration among units or partitions
- The more messages or contracts between objects,
the more likely they are in the same partition
26PACKAGES AND PACKAGE DIAGRAMS
27Package
- A general construct that groups units together
- a set of classes with shared relationships
- represents a subsystem
- Used to reduce complexity of models
28Package Diagrams
- Shows packages only
- Identifies major components of a system
- High-level diagram
- Determines final program partitions
- Dependencies determined
29Package Diagram Symbols
A PACKAGE Package A DEPENDENCY
RELATIONSHIP
30Dependency
- The structure and code in one package is
dependent on another package. - Indicates that a change in one package could
cause a change to be required in another package. - Example
- A change in one method will cause the interface
for all objects of this class to change.
Therefore, all classes that have objects that
send messages to the instances of the modified
class could have to be modified.
31Package Diagram of Appointment System
32Steps for Identifying Packages and Building
Package Diagrams
- Cluster classes together based on shared
relationships - Model clustered classes as a package
- Identify dependency relationships among packages
- Place dependency relationships between packages