Agenda
ï‚— Policy Review (again) ï‚— Announcements
 Review Chapter 8 material – DFD  Review Chapter 9 material – ERD
 Chapter 10 material – Process Descriptions  Break – 15 minutes
ï‚— Group Work
Policy Review
ï‚— Absence should be documented
ï‚— Arriving to meetings on time is an important
aspect of professional conduct
ï‚— Extremely casual behavior can no longer be
tolerated
ï‚— If you have conflicts or other business, simply
ask to be excused
ï‚— Our time together must be productive
ï‚— If we are not productive, classroom activities
Announcements
ï‚— The IT Club has arranged for a guest speaker
ï‚— Informal presentation regarding Software
Industry in BiH
ï‚— http://www.infostudio.ba
ï‚— Saturday November 29th at 12:00 ï‚— RSVP to [email protected] ï‚— Question and Answer Session
ï‚— PMI Meeting was small but productive
Chapter 8 – Review
ï‚— Data flow diagrams illustrate how data moves
through a system
ï‚— Data flow diagrams capture:
ï‚— External entities ï‚— Sources
ï‚— Sinks
ï‚— Processes
ï‚— Files or Data stores
Chapter 8 & 9 – Review
ï‚— Data flow diagrams illustrate how data moves
through a system
ï‚— Data flow analysis is used to model system
flows
ï‚— Entity Relationship analysis is used to model
system data
ï‚— If you use both models, they should use names
consistently
ï‚— Each model can help to develop and
Chapter 9 – Review
ï‚— Entity Relationship Analysis uses three
major abstractions to describe data:
ï‚— Entities
ï‚— Relationships ï‚— Attributes
ï‚— Entity Relationship Model represents
Chapter 9 – Review
ï‚— Entity: a distinct object in a system
ï‚— Entity Set: a component in an E-R diagram
that represents a set of entities with the same properties
ï‚— Relationship: one interaction between one
or more entities
ï‚— Relationship Set: a component in an E-R
Chapter 9 – Review
ï‚— Attribute: a property of a set in an E-R model ï‚— Identifier: a set of properties whose values
identify a unique object in an object set
PERSONS
PERSON-ID
NAME
Chapter 9 – Review
ï‚— Cardinality: The number of relationships in
which one entity can appear
Chapter 9 - Review
ï‚— DFD can suggest what to include in an E-R
Diagram
ï‚— External entities can be modeled by an entity
set
Chapter 10 – Process Description
ï‚— DFD and ERD models are graphical models for
systems
ï‚— Convenient for high-level design items ï‚— Easy to understand
ï‚— Not convenient for specifying processes in detail
ï‚— Defining processes in detail requires language
ï‚— Natural language is an option for higher-level
items
ï‚— Natural language can be ambiguous
Chapter 10 – Process Description
ï‚— Scripting processes in Data Flow Diagrams
ï‚— Structured English ï‚— Tight English
ï‚— Decision Tables ï‚— Decision Trees
ï‚— Block structured language is a way of
Chapter 10 – Structured English
IF credit limit exceeded THEN
IF customer has bad payment history THEN refuse credit
ELSE
IF purchase is above $200 THEN refuse credit
Chapter 10 – Structured English
ï‚— Imperative sentencesï‚— add PERSONS-SALARY to TOTAL-SALARY
ï‚— Structured English logic
ï‚— REPEAT, WHILE, DO, IF, THEN, ELSE, FOR, etc.
ï‚— Grouping imperative sentences
ï‚— BEGIN and END are used to group imperatives
ï‚— Decisions
ï‚— IF, THEN, ELSE clauses determine branching
ï‚— Repetition
Chapter 10 – Decision Tables
ï‚— Decision Tables are excellent for describing
complex business logic
ï‚— Conditions record the logical possibilities
ï‚— Actions record the specific tasks to be
Chapter 10 – Decision Tables
Condition s
Account Type P P T T
Activity Type W D W D
Actions Add to account x x
Subtract from account x x
Add 1 to trade withdrawal x
Add 1 to personal withdrawal x
Add 1 to trade deposits x
Add 1 to personal deposits x
Chapter 10 – Decision Tables
ï‚— Decision Tables and Rules Engines
ï‚— Rules engines can enforce business rules
ï‚— Rules engines accept decision tables as input ï‚— A convenient technique for externalizing
business logic
ï‚— DROOLS is an open source rules engine that
works with decision tables
User Requirements Example
ï‚— User must be able to login
ï‚— Username ï‚— Password
ï‚— If username/password combination is correct,
then refresh webpage and display user’s home page
ï‚— If username/password combination is incorrect,
then refresh webpage and display error page
ï‚— If user is an administrator, display link to
Technical Requirements Example
ï‚— Expected number of users: 100
ï‚— MySQL database will meet our needs for user
storage
ï‚— PHP will meet our needs for Web Site
ï‚— We do not expect heavy load of use so we can
disregard scalability issues
ï‚— Performance issues will be handled with database
tuning
ï‚— These technical requirements meet tight budget
guidelines because both are free
Structured English - DFD 1.1
BEGINReceive Username / Password from form SELECT USER-ID FROM USER-SECURITY WHERE USERNAME = ‘Username’
AND PASSWORD = ‘Password’ IF RECORD COUNT = 1
THEN RETURN USER-ID ELSE
Capturing Business Logic
ï‚— These techniques are designed to capture
business logic
ï‚— Business Logic defines the rules for
decision-making in business
ï‚— Presentation Logic defines the Graphical User
Interface and its rules and screen flows
ï‚— Database Layer concerns itself with the
Break
15 minute break
Group Work: Technical Requirements
ï‚— Revise requirements based on:
ï‚— Feedback from previous class
ï‚— Fill in additional functionality where needed ï‚— Add technical details such as:
ï‚— Number of users supported ï‚— Technology required
ï‚— Scalability and Performance requirements ï‚— Availability requirements
ï‚— Revised requirements with technical details