VCE IT Lecture Notes by Mark Kelly , McKinnon Secondary College

VCE Software Development 2011-2014

SOFTWARE DEVELOPMENT THEORY

Visit the ITA Theory Summary page

Details of the mandated problem solving methodology are here.

The VCE Software Development study design is here.

Click the VCEIT.COM Theory slideshow icons to see the Powerpoint 2003 slideshows
Click the hyperlinked text to read the web page.

Also refer to the VCAA IT FAQ published for the new study design and the glossary


Exam Post Mortems

Adapted from the VCAA IT Study Design
Used with permission from VCAA
The Key Knowledge numbering is my invention, not VCAA's
SD U3O1
SD U3O2
SD U4O1
SD U4O2
   
Please note that the slideshows are regularly updated and improved. Please check back from time to time for new versions.

SD Unit 3 Outcome 1

SD U3O1 KK01 - stages of the problem-solving methodology

VCEIT.COM Theory slideshowAnalysis

VCEIT.COM Theory slideshowDesign

VCEIT.COM Theory slideshowDevelopment

VCEIT.COM Theory slideshowEvaluation

SD U3O1 KK02 - key tasks associated with planning software projects, including

  • identifying tasks, resources, people and time - a work breakdown structure (WBS) is good for this.
  • scheduling tasks, resources, people and time - Gantt or PERT charts are typically used in real projects.
  • monitoring tasks, resources, people and time - milestones (major points of progress) tell you whether you are on track.

Note - knowledge of Gantt and PERT charts, milestones, slack, predecessors, lag, critical paths etc is not required. Nor is the use of project management software. Students only need to know the need for such project management skills. If you're still keen, see Gantt and PERT

SD U3O1 KK03 - OSI slideshow link a brief overview of the concept of the OSI model for network protocols
SD U3O1 KK04 - purposes and functions of the physical layer (Layer 1) of the OSI and the relationship of the physical layer to the Transmission Control Protocol/Internet Protocol model
SD U3O1 KK05 - appropriateness of interviews, surveys and observation as methods of collecting data to determine needs and requirement
SD U3O1 KK06 - Slideshow link features of functional and non-functional solution requirements
SD U3O1 KK07 - constraints that influence solutions
SD U3O1 KK08 - the functions, technical underpinnings and sources of worms, Trojans and spyware [and viruses] that intentionally threaten the security of networks
SD U3O1 KK09 - factors that determine the scope of solutions
SD U3O1 KK10 - tools and techniques for depicting the interfaces between solutions, users and the network, including VCEIT.COM Theory slideshow use cases, via the Unified Modelling Language
SD U3O1 KK11 - features of context diagrams and VCEIT.COM Theory slideshow data flow diagrams that allow data flows to be depicted
SD U3O1 KK12 - Slideshow link composition of an SRS and purposes of documenting an analysis in this form.
 

SD Unit 3 Outcome 2

SD U3O2 KK01- stages of the problem-solving methodology
SD U3O2 KK02- Slideshowcharacteristics of data types: integer, floating point number, Boolean, character, string
SD U3O2 KK03- types of data structures, including one-dimensional arrays, records and files
SD U3O2 KK04- methods of expressing software designs using data dictionaries and data structure diagrams, object descriptions and pseudocode
SD U3O2 KK05- formatting and structural characteristics of efficient and effective input and output
SD U3O2 KK06- needs of users and how these influence the design of solutions

SD U3O2 KK07- criteria for evaluating the efficiency and effectiveness of solutions

Read up on the difference between evaluation and testing.

SD U3O2 KK08- a programming language as a method for developing solutions that meet specific needs
SD U3O2 KK09- processing features of programming languages, including instructions, procedures, methods, functions and control structures
SD U3O2 KK10- purposes and characteristics of internal documentation

SD U3O2 KK11- techniques for checking that coded solutions meet design specifications, including construction of test data.

Test data is data that is deliberately created to fully test a solution with normal, abnormal and faulty data. Test data is designed to be deliberately difficult for a solution to process: it often includes "boundary condition" data that tests whether the solution is behaving properly with values that are on the border between one state and another. e.g. if you created a spreadsheet formula to determine whether a person's birthdate made them 18 years old, you would want to include test data that included "boundary condition" data such as "one day short of 18", "18 exactly" and "one day past 18" and test if the solution handled the "tricky situations" accurately or not.

You use test data rather than real data to avoid the chance of destroying the real and valuable data with a solution that is not yet working properly.

Read up on the difference between evaluation and testing.

From the 2003 SD exam:

Q12. If the condition 'Sales are greater than or equal to 100' needs to be tested, what would be the best test data?

A. 90,95,99
B. 98,99,100
C. 95,100,105
D. 100,150,1000

[C]  To test properly, you need data that meets the condition, and data that does not meet the condition.

[A] and [B] cannot test for "greater than" and [D] can't test for "less than" yet 41% of students chose [D]!

   

SD Unit 4 Outcome 1

SD U4O1 KK01- stages of the problem-solving methodology

SD U4O1 KK02- Slideshow link types and characteristics of mobile computing devices, including:

  • PDAs
  • mobile phones
  • laptops
  • gaming consoles

SD U4O1 KK03- procedures and techniques for VCEIT.COM Theory slideshow handling and managing files, including VCEIT.COM Theory slideshow security, archiving, backing up and disposing of files

  • Archiving makes a copy of data that is no longer needed regularly. The copy is stored offline and the original data is deleted.
  • Backing up makes a copy of data and retains the original data.

SD U4O1 KK04- methods of organising files to suit particular software needs, including serial and random access

SD U4O1 KK05- ways in which file size, storage medium and organisation of files affect access of data
SD U4O1 KK06- VCEIT.COM Theory slideshow characteristics of efficient and effective user interfaces

SD U4O1 KK07- factors affecting solution design, including

  • user interface,
  • user needs,
  • processing efficiency,
  • development time,
  • technical specifications of mobile devices
SD U4O1 KK08- VCEIT.COM Theory slideshow naming conventions for solution elements

SD U4O1 KK09 - methods and techniques of expressing software designs

VCEIT.COM Theory slideshowData Dictionary

VCEIT.COM Theory slideshowdatabase

VCEIT.COM Theory slideshowEntity relationship diagram

VCEIT.COM Theory slideshowWebsites

VCEIT.COM Theory slideshowDFD

VCEIT.COM Theory slideshowSRS

VCEIT.COM Theory slideshowOthers for SD

SD U4O1 KK10- forms and uses of data structures to organise and manipulate data, including two-dimensional arrays, VCEIT.COM Theory slideshow stacks and queues
SD U4O1 KK11- the syntax of a programming language

SD U4O1 KK12- VCEIT.COM Theory slideshow validation techniques, including

  • existence checking - referred to as Null checking in the 2010 SD exam
  • range checking and
  • type checking

Note - To muddy the waters, the 2010 SD exam referred to:
Existence - to make sure that the number entered exists on Medicare's database
Null - to make sure something has been entered

SD U4O1 KK13- techniques for searching, including binary search, and techniques for sorting, including bubble sort and quick sort

SD U4O1 KK14- techniques for checking that coded solutions meet design specifications, including construction of test data

Testing, and test data

SD U4O1 KK15- VCEIT.COM Theory slideshow forms and types of user documentation, including

FORMS:

TYPES:

  • quick start guide,
  • tutorial,
  • content sensitive help
  • manual

slideshow link Writing good documentation for SD U4O1

SD U4O1 KK16- applications and purposes of utilities in a programming environment

SD U4O1 KK17- legal obligations of programmers

See VCEIT.COM Theory slideshowCopyright

See VCEIT.COM Theory slideshowPrivacy Act

See VCEIT.COM Theory slideshowHuman Rights & Spam Act

SD U4O1 KK18- VCEIT.COM Theory slideshow Security measures designed to protect the integrity and security of data and information.
 

SD Unit 4 Outcome 2

SD U4O2 KK01- VCEIT.COM Theory slideshow technical underpinnings of intranets, the Internet and virtual private networks

SD U4O2 KK02- characteristics of wired and wireless networks

VCEIT.COM Theory slideshowNetwork hardware

VCEIT.COM Theory slideshowNetwork protocols

VCEIT.COM Theory slideshowInternet, Intranets, VPN

VCEIT.COM Theory slideshowMeasuring network reliability

VCEIT.COM Theory slideshowTesting Network Security

VCEIT.COM Theory slideshowNetworking

VCEIT.COM Theory slideshowDesigning LANs

SD U4O2 KK03- techniques for measuring the reliability and maintainability of networks, including audits, error logs* and software tracking tools]

*6/6/2011 - After I queried, VCAA announced that it should say "error logs", not "errors". Another erratum will be published.

SD U4O2 KK04- VCEIT.COM Theory slideshowcriteria and techniques for testing the security of networked environments

SD U4O2 KK05- VCEIT.COM Theory slideshowcharacteristics of efficient and effective solutions

SD U4O2 KK06- VCEIT.COM Theory slideshowstrategies and techniques for acquiring evaluation data about the quality of solutions

There are many ways to acquire data about a newly implemented system so it can be evaluated.
Of course, the data that needs to be acquired, depends on the criteria that need to be evaluated. These criteria would have been established during system analysis.

  • interviewing users about their opinions of the system
  • examining error logs to determine the reliability of the system
  • timing its speed when carrying out a typical process
  • load-testing the system to quantify its performance under pressure
  • study its output to judge its readability, accuracy, attractiveness
  • survey customers about the ease of use of the system
  • refer to security logs to see if the system has been subject to successful hacking attempts
  • pull the plug out and see if test data is lost or damaged, and how well the system recovers from power outage
  • simulate other common errors, such as hard disk failure and see if the system copes as it should
  • compare output from the new system with output from the old system and see if it is better
  • check the financial figures to determine its total cost of ownership over a certain period
  • refer to a log of complaints or suggestions for improvement by users or customers

More on evaluation criteria and methods.

SD U4O2 KK07- VCEIT.COM Theory slideshowcriteria and techniques for testing acceptance by users of solutions

Acceptance testing is black-box testing carried out on a system before it is delivered to its owner.

Black-box testing means that the tester is not concerned with how the system works internally. All the tester is concerned about is system inputs and outputs and whether everything works as it should. It's called black box testing because the interior of the system is invisible and mysterious as if it were in a black box, and only its outward behaviour is relevant and can be evaluated.

Acceptance testing may be carried out by the system provider to assure the client that the system performs in accordance with the logical design or system requirements specifications (SRS). This happens before ownership of the system is transferred to the client. It is a part of formal testing. It is a set of tests that conclusively proves that the system can satisfy the client's documented requirements of the system.

User acceptance testing (UAT) is carried out by the customer using typical users to ensure that the real user is satisfied that the system is usable. This is because the client is probably a manager who would not know whether the system was good or not from an expert daily operator's point of view. (Imagine your grandma choosing you a new phone for your birthday.)

UAT can also be known as end-user testing.

SD U4O2 KK08- VCEIT.COM Theory slideshowtypes of training for the users of solutions, and techniques for measuring the suitability of training programs
SD U4O2 KK09- VCEIT.COM Theory slideshowtypes of system support documentation offered to users and criteria for determining their appropriateness for users
SD U4O2 KK10- VCEIT.COM Theory slideshowpractices that cause conflict between stakeholders who use, or are affected by, solutions that operate within networked environments

SD U4O2 KK11- VCEIT.COM Theory slideshowsuitability of setting codes of ethics, imposing sanctions, education programs and the use of decision-support frameworks as strategies for managing ethical dilemmas.

Unlike clear-cut legal issues, there are more areas of grey when dealing with ethical dilemmas (a dilemma is a situation where a decision needs to be made and the only options are equally unpleasant.) Since ethical decisions are so subjective (opinion-based) it is quite possible that there will not be consistency or perceived fairness in an organisation's decisions.

This is why some rules-based support is sometimes adopted in cases where ethical problems arise. They include:

Setting codes of ethics - if rules of conduct are formulated and enforced, it can prevent ethical problems arising in the first place. Organisations' acceptable use policies are such codes. e.g. if you are related to a person applying for a job in your organisation, you must disclose the fact before the person is employed and you may not be part of the candidate selection process.

Imposing sanctions - sanctions are actions taken (usually a form of punishment) to enforce a society's standards. Punishing those who transgress a group's accepted code of ethics makes them less like to repeat the behaviour, and reminds others of the consequences of such behaviour.

Education programs - if ethical problems arise because the person was not aware that certain behaviours were not allowed, education may be more effective than punishment. Once people are aware of what is expected, they have no excuse for future transgressions.

The use of decision-support frameworks - if leaders used only their personal ethics when judging ethical issues, the results may be inconsistent or may be seen to be unfair. For example, if a strongly religious boss severely punished a worker for blasphemy, but another boss merely chided another worker for the same offence, there would be understandable unquiet amongst workers. If there were strict procedures for making such decisions, the results would be predictable, consistent and fair. For example, in cases of ethical breaches, there may be established procedures for judging the case (e.g. a tribunal composed of bosses, co-workers, union reps), established methods of collecting evidence (e.g. sworn statements) and agreed levels of sanctions to choose from (e.g. a reprimand for a first offence, termination for a repeat offence.) Such frameworks also make it easier for decision makers to take actions that are unpleasant or unpopular.

Sample code of ethics from the ACS (Australian Computer Society)

Code of Ethics

As a member you must uphold and advance the honour, dignity and effectiveness of being a professional. This entails, in addition to being a good citizen and acting within the law, your adherence to the following Society values:

  • The Primacy of the Public Interest
    You will place the interests of the public above those of personal, business or sectional interests.
  • The Enhancement of Quality of Life
    You will strive to enhance the quality of life of those affected by your work.
  • Honesty
    You will be honest in your representation of skills, knowledge, services and products.
  • Competence
    You will work competently and diligently for your stakeholders.
  • Professional Development
    You will enhance your own professional development, and that of your colleagues and staff.
  • Professionalism
    You will enhance the integrity of the Society and the respect of its members for each other.

This Code of Ethics applies to all members regardless of their role or specific area of expertise in the ICT industry.

   

Back to the IT Lecture Notes index

Back to the last page you visited

Created 25 March 2010

Last changed: February 10, 2012 11:47 AM

VCE IT Lecture notes copyright © Mark Kelly 2001-