Author(s): Samuel Davis
Publisher: Parramatta Education Centre
Year: 2011
Language: English
Pages: 381
Acknowledgements......Page 4
To the student......Page 8
Evolution of software applications......Page 10
Internet applications......Page 11
Spreadsheets and presentation software......Page 13
Set 1A......Page 19
Intellectual property......Page 22
Software licence agreements......Page 24
Sources of code and license conditions that apply......Page 29
Set 1B......Page 30
Ergonomics......Page 31
Set 1C......Page 32
Inclusivity......Page 40
Required skills in software design and development......Page 47
Chapter 1 review......Page 48
2. Hardware and software......Page 53
The function and operation of hardware within a computer system......Page 57
Input......Page 59
Keyboard......Page 60
Scanner......Page 62
Radio frequency identification (RFID)......Page 64
Microphone (and sound card)......Page 67
Set 2A......Page 68
Output......Page 71
LCD based monitors......Page 72
CRT based monitors......Page 73
Data projectors......Page 77
Inkjet printers......Page 80
Speakers (and sound card)......Page 81
Set 2B......Page 83
Storage......Page 86
Secondary storage......Page 87
Optical storage......Page 89
Flash memory......Page 93
Processing and control......Page 101
Set 2C......Page 105
Operating system and utilities......Page 106
Utilities......Page 110
Application software......Page 112
Programming languages......Page 114
Generations of programming languages......Page 115
The need for translation......Page 119
How does the hardware process software instructions? (The fetch-execute cycle)......Page 123
What occurs when an application is first initiated and run?......Page 125
What are the hardware requirements for software?......Page 127
3. Software Development Approaches......Page 128
Agile approach......Page 131
Prototyping approach......Page 135
Set 3A......Page 144
Rapid application development (RAD) approach......Page 145
Set 3B......Page 149
Chapter 3 review......Page 154
Introduction to software development......Page 156
Identification of inputs and required outputs......Page 157
Determining the steps that will solve a problem......Page 159
Systems flowcharts......Page 161
Data flow diagrams (DFDs)......Page 168
Structure charts......Page 171
Set 4A......Page 175
Representing numbers in binary and hexadecimal......Page 176
Integer......Page 179
Floating point (real)......Page 180
String......Page 181
Boolean......Page 183
Data structures......Page 185
One-dimensional array......Page 186
Sequential files......Page 188
Data dictionary......Page 192
Set 4C......Page 194
Methods for representing algorithms......Page 195
Control structures......Page 197
Set 4D......Page 206
Subroutines......Page 207
Modularity......Page 208
Loading and printing arrays......Page 211
Processing using sequential files......Page 213
Set 4E......Page 215
Chapter 4 review......Page 217
5. Implementing software solutions......Page 221
Metalanguages......Page 225
Set 5A......Page 233
Statements used to define and use data types......Page 234
Statements used to code algorithms, including control structures......Page 238
Set 5B......Page 247
Syntax errors......Page 248
Runtime errors......Page 249
Logic errors......Page 250
Stubs......Page 251
Flags......Page 252
Debugging output statements......Page 253
Automated debugging tools......Page 254
Set 5C......Page 255
Developing standard subroutines for reuse......Page 256
Combining code from different sources......Page 262
Making the same data available to different subroutines and modules......Page 263
Sharing variables by altering their scope......Page 264
Parameter passing......Page 265
Set 5D......Page 266
Consultation with users and/or managers......Page 268
Effective user interfaces......Page 269
Factors affecting readability......Page 270
Prompts and messages......Page 275
Set 5E......Page 277
Documentation for developers......Page 279
Documentation for users......Page 281
6. Testing and evaluating software solutions......Page 286
Test data for checking algorithms and code......Page 289
The selection of appropriate test data......Page 290
Stepping through a coded solution......Page 294
Set 6A......Page 298
Comparing different solutions to the same problem......Page 300
Desk checking......Page 303
Checking the solution meets the original requirements......Page 305
Social and ethical perspective......Page 306
Set 6B......Page 309
Chapter 6 review......Page 311
7. Maintaining software solutions......Page 314
Changing user requirements......Page 315
Upgrading the user interface......Page 316
Changes in the data to be processed......Page 317
Changing organisational focus......Page 318
Changes in government requirements......Page 319
Inclusion of code from other sources......Page 320
Set 7A......Page 322
Use of variables or constants instead of literal constants......Page 323
Use of standard control structures......Page 324
One logical task per subroutine......Page 325
Reading original documentation to understand code......Page 326
Reading original algorithms......Page 329
Creating algorithms from source code......Page 330
Chapter 7 review......Page 335
8. Developing software solutions......Page 338
Defining and understanding the problem......Page 339
Identification of inputs, processes and outputs......Page 342
Identifying a suitable development approach......Page 344
Prototype 1......Page 345
Prototype 2......Page 349
Prototype 3......Page 354
Prototype 4......Page 358
Chapter 8 review......Page 359
Glossary......Page 367
Index......Page 376