Professional Documents
Culture Documents
Page 2 of 18
Objectives are what you are aiming to achieve. The objectives of the system give direction to the project. Throughout the design and development of a system the objectives should continually be examined to ensure their fulfilment. Objectives are developed from the needs, and are more clear-cut; they provide a definite set of working conditions that need to be fulfilled for the project to be successful. Boundaries
Boundaries define the limits of a system; anything outside of the system is part of the environment. An interface is required for communication between the system and its environment.
Feasibility
Is it worth solving? Constraints Budgetary Operational Page 3 of 18
Alan Yeung | SDD HSC Technical Scheduling Possible alternatives Social and ethical considerations
Design specifications
The developers perspective
Data types Algorithms Variables Software design approach Modelling the system Documentation
The developers perspective mainly concerns the development, programming and internal operation of the software product.
Modelling
IPO Charts Storyboards Data flow diagrams System flowcharts Screen Designs A limited prototype
Flowcharts
Flowcharts describe the logic and the flow of data in a system. Interactions between inputs, processes, outputs and storage are included.
Page 4 of 18
Storyboard
A storyboard is used to describe how the screens interact with each other in a project. It is a collection of screen designs with links in between. There are linear, hierarchical, and hybrid storyboard layouts.
Data dictionary
A data dictionary documents the variables and identifiers within a coded project. This includes their: Data type Scope of usage Length Purpose or description
IPO charts
Input-Process-Output charts are used to describe the lower level processes that occur under context/data flow diagrams.
Communication issues
The need to empower the user The need to acknowledge the users perspective Enabling and accepting feedback
Communication methods include: Meetings Questionnaires Memos Interviews Phone calls and emails (correspondence)
Page 5 of 18
Function and procedures Functions send values as parameters, but there is a returned value from the function call. Procedures pass values between calling and called subroutines. They do not return any values. o E.g. in C, functions mimic procedures by having void parameters.
Page 6 of 18
Alan Yeung | SDD HSC Multi-dimensional arrays: These are essentially nested arrays. A 2D array can be visualised as a table; a 3D array can be visualised as a prism. Arrays of records: Records are contained within each array index, the same as in a database Methods of storing these: Sequential files and Random access files
Selection of language
Event driven software
Driven by the user Program logic
Sequential approach
Defined by the programmer
Implementing
Interface
Identification of data required GUI elements commonly used are:
Menus Command buttons Tool bars Text boxes List boxes Combination boxes Check boxes Radio buttons Scroll bars Grids Labels Pictures and image boxes
Help
Context help: The screen elements provide help text such as tooltips in web browsers. Procedural help: Manuals can provide an in-depth guide as a procedure to learning. Conceptual help: Aims to explain what and why, rather than how; the user is left to their own devices to administer a solution, given a better understanding of the task at hand. Tours, tutorials and wizards: These are an easy, concise, and comprehensive help solution which gives a user practical, guided steps towards completing a task.
Consistency in approach
The following should be kept consistent throughout a GUI: Names of commands such as Cut, Copy and Paste, which are universal User of icons such as a floppy disk for Save Placement of screen elements, such as the positioning of command buttons. The provision of feedback over longer tasks Forgiveness providing warnings and alert messages to users, and allowing users to undo actions. Page 8 of 18
Language syntax
Metalanguage descriptions of programming languages
Page 9 of 18
Page 10 of 18
Page 11 of 18
Characters must be represented using binary code if they are to be stored and processed by computers. Characters are split into printable and non-printable. ASCII, the American Standard Code for Information Interchange, is a standard character set containing 128 characters.
Integer representation
Sign and modulus Ones complement Twos complement
Sign and modulus: The 8 bits are divided into 1 bit for the sign and 7 bits for the modulus (signed integer). Or, there is no sign and 8 bits represent the modulus (unsigned integer). Ones complement: Creates a finite positive integer system, which can be represented as a number circle. In an n-bit ones complement numeral system, every integer in the range of 2N-1-1 to +2N-1-1 can be represented. E.g. An 8-bit system can represent -127 to + 127. Negative numbers can be expressed as their positive complement in the system. Since both positive and negative numbers are represented as positive numbers, the ALU is able to perform addition operations on the numbers. In an 8-bit system, The complement is simply obtained by swapping the 1s and 0s.
Twos complement: In an n-bit twos complement numeral system, every integer in the range of 2N-1 to +2N-1-1 can be represented. The difference between ones and twos complement is that ones has two values for representing zero whereas twos only has one value. Therefore twos is able to accommodate one extra integer in its system, and the range of an 8-bit system is -128 to +127. In an 8-bit system, The complement (inverted sign) of a number can be obtained by inverting the digits in the binary number, then adding 1.
Page 12 of 18
Alan Yeung | SDD HSC o E.g. 710 = 000111112 By inverting the digits we get 111110002 = -810 Adding 1 gives 111110012 = -710 which is the correct complement. Alternatively, we can scan the binary number from the RHS, and after ignoring the first 1 digit, we invert every single digit after that. o E.g. 1210 = 000011002 After ignoring the 1 third from right, we swap the rest of the digits Giving us 111101002 = -1210
Fixed point: Bits are allocated to represent both the integer and decimal parts of the number. It is a fixed point number because the fraction is only accurate to a certain amount of decimal places that are specified. E.g. A fixed-bit number consisting of 16 bits may have 8 bits allocated to representing the whole number and 8 bits to the fraction. Hence the smallest fraction able to be represented in this system is 0.000000012.
Floating point (FLOP): The byte is split into a sign, and exponent, and a mantissa. This makes it possible to represent fractions up to a very large negative power, much like a number in scientific form is expressed as + 2.345678 106. There is an IEEE standard (IEEE 754) for two formats of floating point representation: single precision (32 bits) and double precision (64 bits). The FPU in the processor is a dedicated unit that processes floating point numbers. Single precision: 1 bit sign, 8 bit exponent, 23 bit mantissa Double precision: 1 bit sign, 11 bit exponent, 52 bit mantissa Special cases o Infinity: 0 11111111 00000000000000000000000 o Negative Infinity: 1 11111111 00000000000000000000000 o Zero: 0 00000000 00000000000000000000000 o Negative Zero: 1 00000000 00000000000000000000000 o NaN: x 11111111 xxxxxxxxxxxxxxxxxxxxxxx
Page 13 of 18
Binary Arithmetic
Addition 01011111 + 00001100 01101011
01110101 + 00110110 10101011 Yes, there is an error if indeed this is a two's complement addition > overflow.
Subtraction using twos complement representation It is, as suggested, the addition of twos complement numbers, to obtain a result. In this, the value to be subtracted is converted into its twos complement, then this negative number is added to the other value, resulting in a subtraction operation.
Multiplication, shift and add; division, shift and subtract Multiplication consists of many additions, with each subsequent addition shifter left, as with multiplication by hand. Same with division.
Page 14 of 18
Symbology
Page 15 of 18
Identify inputs and outputs Identify required components Check solution with a truth table Evaluate the circuit design
Half Adder: Is good for adding two bits together, but impractical for any more than two bits, since it does not take into account carried values. Full adder: This circuit adds two bits, takes into account any carried values, and produces the added result and a carried result. Flip Flop: A flip flop is a memory store. The circuit is bistable, able to remember two different states. There are three flip flop components: Latch component This is a circuit which is capable of storing a binary digit. Clocking component Used to synchronise the changing of latches, so that ALL the latches are changed at the same time. Edge trigger component Ensures that there is only one change per clock tick; the change of clock state is called an edge. A common type of flip flop, RS, receives a Reset and Set signal. Here is a truth table for an RS NOR and RS NAND latch:
S 0 0 1 1 R 0 1 0 1 Q Retains last Q 0 1 Illegal Q-1 Retains last Q-1 1 0 Illegal
Clock component
Format: The format of a data stream consists of data wrapped around a header and trailer file. The header and trailer information ensure that the data is transmitted correctly. Header information: Often, this is just a single start bit to inform the receiving device of an incoming data packet Data characters: Data to be used by the receiving device. o Will often contain control characters which active certain sequences or internal functions. Trailer information: Includes error checking and stop bits.
Documentation: Because hardware devices are manufacture from a wide range of sources, manufacturers include documentation and specifications with their products. Example PS2 Mouse A PS2 mechanical (ball) mouse contains simple switches which determine movement in the X and Y directions. Using a PS2 port, the mouse sends data to the computer as synchronous transmissions. [Note were talking about the two button ball mouses here] When a mouse sends information, it sends three consecutive data packets. These packets contain information about the state of each button and the movement that has occurred in both X and Y directions since the last transmission. The first packet contains data about the direction, button states and overflow. The next two packets respectively are X and Y bit displacement values. Since the mouse is a synchronously connected device, there is no need for header or trailer information.
The software used to perform the processing of the data stream (a driver) needs to be able to understand the precise format of the data stream.
Page 17 of 18
Control Systems
Responding to sensor information Specifying motor operations
Open control system: Is unable to react with its environment, i.e. there is no feedback loop. Example: Hotel door locks are unable to provide further feedback. Closed control system: Sensors provide feedback so that the controller causes actuators to react to changes. Example: ABS braking systems detect the changes caused by actuators, in feedback loops.
Printer operation
Control characters for features, including page throw, font change, line spacing Why doesnt the textbook cover this
Page 18 of 18