software design and development hsc half yearly notes

8
Graphical User Interface (GUI) / Interface Design Elements Drop down list Text box Radio buttons (select only 1 option) Check box (choose multiple options) Label/heading Links Scroll bars Buttons Menus Pictures/diagrams Principles Consistency – use of the same layout for each page and streamlined font/sizes Ease of use – allows the user to use the program easily without having to think Borders – used to group separate parts of a form together to help the user White space – areas of the form left white/blank to ensure ease of use Alignment – all sections of the form align together and look appealing Industry standards – reflects the operating/system of the user’s computer Inclusivity – enables all people to use the program e.g. colour blind people

Upload: hotz-inator

Post on 30-Nov-2015

111 views

Category:

Documents


3 download

DESCRIPTION

Software Design and Development HSC Half Yearly Notes

TRANSCRIPT

Page 1: Software Design and Development HSC Half Yearly Notes

Graphical User Interface (GUI) / Interface Design

Elements Drop down list Text box Radio buttons (select only 1 option) Check box (choose multiple options) Label/heading

Links Scroll bars Buttons Menus Pictures/diagrams

Principles Consistency – use of the same layout for each page and streamlined font/sizes Ease of use – allows the user to use the program easily without having to think Borders – used to group separate parts of a form together to help the user White space – areas of the form left white/blank to ensure ease of use Alignment – all sections of the form align together and look appealing Industry standards – reflects the operating/system of the user’s computer Inclusivity – enables all people to use the program e.g. colour blind people

Modelling Tools

Dataflow DiagramA graphical representation of the movement of data between external entities and the processes and data stores within a system.

To create a dataflow diagram, first draw the circles and fill in all the processes. Then link the processes to the external entities and the data stores by showing how the data flows.

A context diagram represents the entire system. One ‘process’ symbol represents the whole system and shows all of the ‘entities’ that interact with the system.

Symbol Name Description

ProcessAny process that the module/system performs

Data FlowThe flow of data between a process and an external entity or data store.

External EntitySomeone that provides data to the system or received data from the system:

Data StoreA location where data is stored: e.g. database or file

Page 2: Software Design and Development HSC Half Yearly Notes

Structure DiagramShows the representation of a system broken down into separate functions/

processes and the data that flows between each page/module. To create a structure diagram, brainstorm all of the functions that need to be

coded (rectangles). Link the boxes appropriately using lines and add in data symbols. If needed add in diamonds for decisions and circular arrows for loops.

IPO – Input, Process, OutputAn IPO chart shows all of the inputs, processes and outputs of a given module or system. It helps understand the problem and allows you to easily draw structure and dataflow diagrams.

Input Process Outputo Size of shedo Painted (Y/N)o Cash paid (Y/N)

1. Calculate material cost based on given formula’s

2. Calculate cost3. Calculate final labour cost

Final quote:o Materialo Labouro Total cost

Symbol Description

Rectangles represent sub programs, functions, processes and the modules of a system.

Data movement between functions (usually passed as parameters) is shown with an unfilled in arrow.

Data movement with a filled in circle indicates a flag or Boolean variable.

A circular arrow shows the repetition of a particular function/process multiple times.

A small diamond with multiple functions/processes leading off it indicates that a decision must be made.

A line is used to show the connection between functions and processes (rectangles).

Page 3: Software Design and Development HSC Half Yearly Notes

Data DictionaryA table that shows all of the variables that are found within a given module or section of a program. It is usually set-up in the follow way:Variable Data Type Size (max) Description/ExampleAge Integer 2 Characters 18Name String 30 Characters FredrickGender Boolean 0,1 / M,F 0 - Male

Simple Data Types

Data Type Description ExampleCharacter Represents a single alphanumeric

characterY9

String Represents a set of characters JoshuaInteger Represents any whole number both

positive and negative3-55

Real Represents any decimal number both positive and negative.

3.4444-348.5

Boolean Represents one of two possible values, 0 or 1, to represent true or false.

0 – Male,1 – Female

Structured Data TypesArrays – Used to hold a number of related data items, which are held as a list. Arrays can only hold one particular data type. Each data element in the array is indexed and the data is accessed through its position in the array using this index.

Team

Print Team (5) = Jim Print Team (2) = Mary

Records – To hold related data that have different data types, a record can be used. Each data item in a record is called a field and is accessed by the record and the field name. A record can only hold one set of details. Field Name Name Surname Age GenderData John Smith 17 Male

Details

Details.Age = 17 Details.Name = John

Array of Records - An array of records holds multiples records in one array and allows more data to be stored.

Team

Index 1 2 3 4 5Element Fred Mary Bill Phil Jim

Name Age Gender1 Jill 12 Female2 Bill 52 Male3 Bob 37 Male

Page 4: Software Design and Development HSC Half Yearly Notes

Team(2).Name = Bill index=3 Team(index).Gender = Male

Algorithms

Linear SearchBegin

Get vale to search for = search_valueCount = 1Found = false

WHILE not end of arrayIF array(count) = search_value THEN

Display array(count)Found = true

END IFCount = count + 1

END WHILEIF found = false THEN

Display “search_value not found”END IF

END

Find Max / MinBegin

Max = 0Count = 1

WHILE not end of arrayIF array(index) > array(max) THEN

Max = countEND IFCount = count + 1

END WHILEDisplay array(max)

END

SortsInsertion – The insertion sorts splits the array into a sorted and unsorted part. The sort goes through the unsorted part of the array and inserts it into the correct position in the sorted part of the array. Selection – The selection sort selects the largest element from the unsorted part of the array and places it at the beginning of the sorted part of the array. (2 while loops)Bubble – The bubble sort makes many passes through the unsorted array, swapping the elements in successive pairs of index positions into the required order. The values ‘bubble’ to their sorted position.

Page 5: Software Design and Development HSC Half Yearly Notes

RIGHTS AND RESPONSIBILITIES OF SOFTWARE DEVELOPERSSoftware develops invest time and money into the development of their product. This investment brings responsibilities to the developer but also gives them rights over the product they develop.Electronic material is easy to reproduce and distribute but not easy to develop. Many people are involved in the software design process and all have rights and responsibilities.AuthorshipProtection of their product against theft and Acknowledge the authors and sources modification without their permission used in development, particularly where there is a development team.

Reliability- Protection of their product against operating system problems and other hardware and

programs which may make their product unusable- Check the product works with the hardware and operating system they specify.- Ensure the product has no runtime errors when installed and run as directed

Quality- Codes to ensure that others develop programs.- Use thorough testing procedures and that follow the same high standard error

checking code- Meet the user’s expectations as much as is possible.

RightResponse to Problems

- Not to be harassed with trivial problems that Provide troubleshooting manuals and could have been solved by reading the online help documentation

- Provide customer support- Quick response to major or critical problems- Make “bug fixes” freely available to users

Code of Conduct- All developers follow the same ethical standard- Adhere to the standards set by members of the professional association to which they belong

Viruses- Protection of the developer’s products by ensuring that they do not distribute users by the

user of good current AV products viruses with their products or as part of their customer contact such as via email.

- Software piracy is the theft of computer programs. This could involve copying the program or using a product that is installed illegally on a machine without the developer’s permission.

- Software piracy results in the increase in the cost of software for those who follow ethical standards and reduce user options as software developers have reduced incentive to develop new ideas.

- Responsibility

Development ApproachesTHE STRUCTURED APPROACH

Define the problem:Understand and define and problem. This is important so you know what you are solving. It is much easier and cheaper to fix mistakes here than in any other stage of development.

Page 6: Software Design and Development HSC Half Yearly Notes

Planning the solution:involves a further understanding of the needs of the users and a choice of a method or methods to solve the problem. Data needs to be collected to provide the basis for decisions. Planning involves designing algorithms, planning a UI, data and program structures needed, scheduling the project, choosing a programming language. As well, dataflow diagrams, IPO charts, Gantt charts, screen designs and storyboards are all likely tools that will be used here.

Building the solution:Contamination of the whole project if there is badly written code and you can reuse the modules that you create.is a continuous part of the development cycle. It involves using real data and may include beta testers. This is to make sure that the program meets the needs and requirements determined in the defining stage. If the project passes management approval, it can be implemented.Sometimes it is necessary to after a program has been implemented so that it works more effectively. The program may need to be updated to keep abreast of hardware or software changes or may need to be expanded to cover new tasks.

Checking the solution: is a continuous part of the development cycle. It involves using real data and may include beta testers. This is to make sure that the program meets the needs and requirements determined in the defining stage. If the project passes management approval, it can be implemented.

Making modifications:Sometimes it is necessary to make modifications after a program has been implemented so that it works more effectively. The program may need to be updated to keep abreast of hardware or software changes or may need to be expanded to cover new tasks.

AGILE APPROACHPrototype is placed onto market, updated constantly using feedback given by consumers.It features the fastest solution for the product to be placed on the market, with an interactive approach and selective refinement. The working version of the software is delivered after each iteration which responds well to changing specifications due to the close collaboration between development team and client(s).

- Flexible, and always has a stable version- Though the future of software is not certain, and cost is unknown.