Content / Knowledge
Textbook focus
Software Development VCE Units 3&4, Chapter 4, textbook pages 158-164.
Before you start detailed design documentation
The textbook explains that you are ready to begin software design documentation once:
- the use case diagram identifies each entity and accurately shows all relationships
- the context diagram has all aspects of the software solution recorded
- the data flow diagram has been mapped out and the model is consistent
Documentation is important because it records definitions, decision details and assumptions that underlie the final software solution.
Methods of expressing software designs
The textbook identifies five main methods:
- data dictionaries
- object descriptions
- mock-ups
- IPO charts
- pseudocode
Data dictionaries
The textbook explains that, in VCE Software Development, the relevant data dictionary is the software design data dictionary, not the database design data dictionary.
A data dictionary in software design is used to plan data elements in the software, including definitions, formats and explanation of usage. Its main purpose is to ensure consistency and clarity in the management and use of data.
The textbook states that a software design data dictionary usually lists:
- variable names
- type
- size in characters
- scope
- purpose
It may also include:
- format
- example values
Data dictionaries are especially valuable when code has to be modified later and the purpose of a variable or array is not obvious. The textbook also notes that they may need to be kept up to date during development if the initial design changes.
Object descriptions
The textbook explains that object descriptions represent objects that will be incorporated into the software design.
The basic capabilities of a software object are:
- identity
- properties
- attributes
Object-oriented languages also include inheritance.
Object descriptions are similar to data dictionaries, but they can also contain:
- methods
- events
The textbook states that there is no single standard format for an object description. What matters is understanding the purpose and function of the tool.
Mock-ups and annotated diagrams
Mock-ups and annotated diagrams show the intended appearance of:
- printed output
- on-screen information
- interfaces
Mock-ups
The textbook describes mock-ups as visual representations of a software application's user interface. They allow clients and stakeholders to:
- visualise the final design
- provide feedback
- build shared understanding with the design team
Annotated diagrams
Annotated diagrams are visual representations with notes added to clarify:
- design decisions
- constraints
- relationships
- guidance for developers
Key Point
The textbook states that, in VCE Software Development, you do not have to use software to create mock-ups. They can be created by hand.
IPO charts
The textbook explains that Input-Process-Output (IPO) charts are especially helpful when used together with context diagrams and data flow diagrams.
A completed IPO chart serves as a blueprint for software development. It helps with:
- coding
- testing
- debugging
- communication between team members and stakeholders
Steps for creating an IPO chart
1. Select the functional requirement
Choose the functional requirement from the SRS that the IPO chart will represent.
2. Determine the input
Identify all required inputs. Inputs may come from:
- external sources
- user interactions
- other systems
3. Describe the process or processes
List the actions performed on the inputs. The textbook refers to:
- algorithms
- calculations
- data processing
- decision-making
4. Describe the output
Identify the outputs produced after processing. Outputs may include:
- final products
- user messages
- signals to other systems
- changes in the user interface
5. Create the chart
Arrange the inputs, processes and outputs in a tabular format.
6. Refine and revise the chart
Check the chart for completeness and accuracy against:
- the SRS
- previously created diagrams
- feedback received
Pseudocode
The textbook describes pseudocode as something written for human reading rather than machine reading. It is an informal, high-level description of a program or algorithm.
Pseudocode:
- uses a combination of programming terminology and plain English
- describes the logic of the program or algorithm
- is written in Structured English
Common keywords listed in the textbook include:
- START
- END
- BEGIN
- STOP
- DO
- WHILE
- FOR
- UNTIL
- REPEAT
- IF
- THEN
- ELSE
- GET
- OPEN
- CLOSE
- READ
- WRITE
- RETURN
The textbook also notes that combinations such as IF-THEN-ELSE, DO UNTIL, DO WHILE, END IF and FOREACH may be used.
Good pseudocode habits from the textbook
- use sensible variable names
- add comments where necessary
- use indentation to improve readability and keyword pairing
Exam reminder
The textbook notes that, although pseudocode uses conventions rather than strict rules, previous VCE examinations have established specific expectations around the left-pointing assignment arrow and indentation.