LESSON 9– DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS
Unit 6 - Software Design and Development
Previously
Key features of programming languages
Assignment 1
Software Development Lifecycle –
Design models
Software structures
Assignment 2
Learning outcomes
1. Know the features of programming languages
2. Understand the principles of software design
3. Be able to use tools to demonstrate software designs.
What is covered in this session Inputs and outputs
GUI design with storyboards
Design constraints.
Tools. Data flow diagrams.
Structure diagrams.
Entity relationship models
Flowcharts.
Pseudocode
Inputs and outputs
Inputs can be:
Entered by a user.
Read from a file/database.
Received from sensory devices.
Other?
User Interface
More to it than just putting controls on a screen.
E.g. what if the requirements include:
a bar code reading feature
need to work on a PC and a mobile phone.
What can be done in these situations?
User Interface
Google Chrome – a very popular web browser that runs on many different platforms.
Used storyboards in the form of a comic.
The full comic is available on the WIKI.
Storyboards (Tool)
A graphic representation of how your solution/video will unfold,
screen by screen/shot by shot.
made up of a number of squares with illustrations or pictures representing each aspect
of an interface,
notes (annotations) about what’s going on in the scene.
Think of it as sort of a comic book version of your script.
Storyboards Task 25
Look at the requirements for assignment 3 (on the wiki).
Produce a simple storyboard that outlines the functionality required.
You can use PowerPoint, Publisher, Word or even hand-draw your storyboard.
20 minutes
This will be included your submission
for the assignment.
Constraints
With any project there may be features requested which
technically cannot be achieved
will cost a lot of money and/or time to produce.
Often it is time or money that constrains a project.
Sometimes it can be resources (especially human).
Anything which prevents a feature being achieved or limits a project is known as a constraint.
Structure
A large set of requirements will usually need to be broken down into smaller more manageable sections.
This makes it easier to develop especially when more than one developer is involved since each developer can work on different sections independently.
When separate sections are developed in this way then the need for the sections to communicate becomes more important and there are many ways this can be accomplished.
More on the data
• When data needs to be persisted (stored) then in
modern systems this happens by using files or better
still databases.
• The data needs to be identified along with its type
and rules as to its use (e.g. data size).
• A data dictionary is used to list all the data identified
in a set of requirements along with its type, size and
any rules that need to be applied.
• Calculated fields are rarely stored in files or
databases. Why?
Data dictionary
Data dictionary for data relating to dogs in a dog club
Table Name: tblDog
Attribute Data type Length Default Value Required Key Notes
DogID Autonumber Long Integer Yes Primary
OwnerID Number Long Integer Foreign From Owner table
DogName ShortText 50 Yes
DogDOB Date/time Medium date Yes
BreedCharacteristics LongText
BreedPhoto OLE 240x240 JPEG
Entity Relationship Model (ERM) Tool
When data is to be stored into a database then an ERM (Entity relationship model) is used to further define data by adding how the data relates to other data and for the identification of primary keys and foreign keys.
Entity Relationship Model Task 26
Look at the requirements for assignment 3 (on the wiki).
Produce an ERM that shows the relationships between the data required.
You can use PowerPoint, Publisher, Word or even hand-draw your ERM.
10 minutes
This will be included your submission
for the assignment.
Summary
Input and output.
Storyboards.
Constraints.
Some tools
Storyboards
Data dictionaries
ERM