code development code development for end user systems
TRANSCRIPT
Code Development
Code development for end user systems
Program Architecture
The organization of code components
The objective of system architecture is to simplify maintenance by
putting code together that will be changed at the same time
Architectural Philosophies
Requirements Driven Data Driven Dialog Driven Event Driven
Coding Standards
StructuredLimit control structures to sequence,
iteration, and selection Event Driven
Interactive systems driven by user actions
Object orientedEncapsulate data and code into objects
that can be called independently
Good Code Maintenance is 80% of the cost of a
large system. Instructions that will be changed
together located together. Errors and bugs isolated.
Traditional Design
Traditional Life Cycle ApproachFormal MethodologiesCASE ToolsPurchased Systems
New ApproachesRADEvolutionary CodeGUI designObject Oriented Design
Good Practice: Loose Coupling
Associations among code modules
Data passes only data Control passes data and control
codes Stamp passes information from
the structure of the data Hybrid one module changes the
code in another
Good Practice: Tight Cohesion
Functions done by one code module.
A module is a set of code statements that is called and executed together. A cohesive module executes only statements that always go together.
Typical Modules
Modules in identified files Macros and functions Forms, Reports and Queries Objects
Programming Principles
KISS (Keep it Simple, Stupid)Volatility
Prototyped code will be revised frequently. Simple solutions are much better than elegant ones that are hard to understand.
Clarity over EfficiencyEUC systems are usually elective and not run as production code.
Programming Principles
Code should be written to be readGood communication principles
White spaceBoxesIndentationExplain complex logic
Modular constructionVery simple control structures
Mnemonic variables
Programming Principles
Minimize external documentationDocument the objective rather than the
procedure. The next programmer can find his own solution too.
Include descriptive and complete title lines
Include an initial statement of program purpose
Line comments hard to maintain
Programming Principles
Fully document data filesUse labels and file descriptionsUse original common data sources where
possibleCreate as few original data tables as
possibleDocument edits and modifications
Programming Principles
Retain natural documentationKeep instructional memos and notes in
fileDocument objectives so that modules
can be reprogrammed as needed
References
Weinberg, ‘Prototyping and the SDLC’, J Info Systems Mgt, 1991.Chen, Nunamaker, Weber, ‘CASE: present status and future directions’,
Database, 1989