## Nothing going on here, move along…

### New Zealand Legal System tidbits

New Zealand has two types of law common and statute. Common law is based on England law while statute law has been created here.

A bill can be put forward by any member of parliament

A select committee is a cross section of parliament

There is no single constitutional document in NZ

### Explaination of the program life cycle and its components

The program development life-cycle has 6 phases

1. Define the problem
2. Design the solution
3. Code the program
4. Test the program
5. Document the program
6. Implement the program

In this post I will further define these phases

Define the problem

• Determine the program requirements – What should it do?
• Usually this means meeting with analysts/users
• Identify the program components – Input, processing, output (IPO)

Design the solution

• Design an algorithm for a solution to the problem
• An algorithm is a series of logical steps required to solve a particular problem
• Design tools help to break down the problems and describe the solution

Design tools

• Flow charts to show the steps in the algorithm
• Structure charts to show program flow
• Desk checking to validate the solution

Flowcharting

• A flow chart is a graphical representation of an algorithm
• Each step is represented by a symbol and the arrows indicate the flow and order of the steps
• The shape of the symbol indicates the type of operation that is to occur
• Flow charts may help the more visual students learn and understand logic

Structure charts

• Structure charts like flow charts are graphical
• They show the order in which each step in the algorithm should be performed – the program flow
• They also show the logic that determines the order

Desk checking

After designing a solution, make sure it is going to work before coding it by desk checking it.

1. Develop sets of test data (inputs)
2. Determine the expected result (output) for each data set without using solution algorithm
3. Step through solution using one set of test data and writing down actual result obtained (output)
4. Compare expected results with actual results
5. Repeat steps 3 and 4 for each set of test data

Code the program

• Translate the solution algorithm into a programming language
• Enter program code into a programming development tool using the correct syntax

Test the program

• Remove the syntax and logic errors
• Syntax error – when code violates the programming languages rules
• Logic error – when the program does not generate expected output when using the test data
• Logic errors are also called bugs, so finding and fixing bugs is referred to as ‘debugging’
• Debugging tools – some errors are difficult to find so programmers use a debugger that allows them to walk through the as each statement is executed

Document the program

Programs should be documented so that others can easily understand and change them

Details include:

• A narrative description of the program
• Comments in the program that explain what is happening
• Flow charts, IPO charts and structure charts
• Testing procedures

Implement and maintain the program

• The program(s) are installed on the clients system
• Training, user manuals, user upgrades and conversions must be taken into consideration during the implementation
• Eventually programs may need to be updated due to mandatory updates such as government regulations or changes in the way the business operates
• Programs may be enhanced to add new features or functionality
• Programs may become obsolete when changes become too difficult or new technology becomes available. When this happens, the program development life cycle starts again

Input, Processing and Output (IPO charts)

Many programs use three steps:

1. Gather input data – from the keyboard, from files on disk drives
2. Process the input data
3. Display the results as an output – Send it to the screen, write it to a file.

### History of programming languages

ENIAC Electronic Numerical Integrator And Computer (1946)

The first using of programming, although cables were connected to ports to achieve this.

UDSAC (1947)

First computer with memory

FORTRAN (1954-57)

The first language with a compiler, this cut programming time from 2 weeks to 2 hours

GOTO statements

These are bad for programming, they organise the program in a way that makes it almost impossible to debug.

Object-Orientated

The data and its processes are kept as a single unit called an object

Declarative languages

The computer is told what to do, not how to do it such as SQL

Constraint based languages

Conditions need to be met before processes will be executed

Programming language generations

First generation – Machine code (0’s and 1’s)

Second generation – Assembler (Mnemonic codes)

Third generation – Modern programming languages (BASIC, C and PASCAL)

Forth generation – Declaritive languages (SQL etc. code tells computer what, not how to do it)

Fifth generation – Constraint based languages (Prolog, artificial intelligent applications)

### The meaning of life and research

*Disclaimer: I was lying about the life bit*

Research begins with a theory (or lack of one) which is sometimes based on an assumption and explains phenomenons.

There are five ways in which we gain knowledge:

• Experience (although what works for one person may not work for another)
• argument
• Consulting authority
• Research (Which actually may use all but experience)

Research is conducted for many different reasons and there are many different types, it will never give completely definite answers and over time some research will inevitably become void

We research to explain and understand things, to expand knowledge of subjects, to make or save money, for personal satisfaction or organisational research and development

Research is a process with a beginning, an end and some stuff in the middle.

Questions are refined

Data is collected

And most research opens up new questions and horizons

In order to conduct research to a standard it must be about:

The right questions

Honesty and accuracy

Record keeping

Accepting limitations

Over all

Draw conclusions from data

generalise conclusions

Add to existing knowledge and improve understanding of the world around us

### Assignment draft diagrams etc

Use case diagram

C=Customer

S=Staff

C will be on the left S and A will be on the right.

—-

C

Calls on phone or visits store

S

Checks for customer record

<<ex>> Opens customer file (if they have one)

<<ex>> Creates new file (if they don’t have one)

C

<<incl>> Provides personal details for creating a new file

—-

C

Gives details of when and where they want holiday

S

Provides holiday choices

C

Chooses preferred holiday

S

Books holiday

<<ex>> Restart holiday process (if customer wants to book another holiday)

<<ex>> Sends reports and logs to A (if customer doesn’t want to book another holiday)

—–

A

Sends customer booking confirmation

Files reports and logs

Use case description

1. Customer either calls or visits the store
2. Staff member asks if they have a profile
3. If there is no profile customer details are taken and one is created
4. If there is a profile it is found and opened
5. Customer provides details of when and where they would like to holiday
6. Staff member provides availible holiday choices
7. Customer chooses preferred holiday
8. Staff member books holiday
9. Staff member updates the customer profile accordingly
10. If the customer would like to book another holiday the process is restarted from 5.
11. Staff member sends reports and logs to admin
12. Admin sends holiday confimation/s to customer
13. Admin file reports and logs

Activity diagram

Start ->

Customer calls or visits store->

Staff checks for profile-> If no profile take customer details and create

-> Profile is opened

*Customer provides holiday prefs->

Staff member provides holiday choices->

Customer chooses holiday->

Staff member books holiday->

If customer would like to book another holiday the * procedure is restarted

If the customer does not want another holiday the staff member sends the reports and logs to admin->

### Equation terms

Standard deviation – The standard deviation is the measurement for how spread out your data is and is shown with a σ symbol

Null hypothesis – The idea that you are trying to prove wrong eg. That too much of your budget is going on coffee.

Alternative hypothesis – The idea that you are trying to prove right eg. The goverment is taking too much money from your budget.

http://www.null-hypothesis.co.uk/science//item/what_is_a_null_hypothesis a cool random website I stumbled on along the way

### JAG Assignment details

Need to create/ recommend a database

Designing output

Questions:

Purpose of output

Who wants the info, why do they need it, how the info will be used

What specifics will be included

Is the output printed, onscreen or both, what devices will the output go to?

Types of outputs

In systems design phase you create forms, reports, docs and other types of output these are used in different types of media such as internet, email, IM, wireless devices etc

User importance in report design

Recipients should approve all report designs in advance

You should submit each report as you design it for approval

Report design principals

• Attractive, proffessional, easy to read
• Column spacing
• Field order
• Grouping detail lines

Report design issues

• Uniform and consistant
• Each report should share common design elements

User interface design

Evolution of user interface

• Process control
• User centered system
• Process use to rule how things were done, now it is more user based.

Human-computer interaction (HCI)

This is the relationship between humans and computers

The main objective is to create a user friendly design that is easy to learn and use

Basic principals of user based design

• An understanding of the underlying business functions
• Maximum graphic effectiveness
• Profile the system users
• Think like a user
• Use prototyping
• Use a storyboard/ mockup

Pricipal of user centered design

• Usability metrics
• Design a comprehensive interface
• Continue the feedback process
• Document the interface design

Input and data entry methods

Online data entry etc

Input volume: The guidelines will help with this

1. Input necessary data only
2. Do not input data that the user can retrieve from the system files or calculate from other data
3. Do not input constant data
4. Use codes

Data entry screens

The most effective method of online data entry is form filling

1. You should restrict data access
2. Use a descriptive caption for each field