Sie sind auf Seite 1von 6

Graphical User Interface (GUI) / Interface Design Elements Drop down list Text box Radio buttons (select

ect 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 users computer Inclusivity enables all people to use the program e.g. colour blind people

Modelling Tools
Dataflow Diagram A graphical representation of the movement of data between external entities and the processes and data stores within a system. Symbol Name Process Description Any process that the module/system performs

Data Flow

The flow of data between a process and an external entity or data store. Someone that provides data to the system or received data from the system: A location where data is stored: e.g. database or file

External Entity

Data Store

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.

Structure Diagram Shows the representation of a system broken down into separate functions/ processes and the data that flows between each page/module. 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). 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, Output An 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 o Size of shed o Painted (Y/N) o Cash paid (Y/N) Process 1. Calculate material cost based on given formulas 2. Calculate cost 3. Calculate final labour cost Output Final quote: o Material o Labour o Total cost

Data Dictionary A 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/Example Age Integer 2 Characters 18 Name String 30 Characters Fredrick Gender Boolean 0,1 / M,F 0 - Male Simple Data Types Data Type Character String Integer Real Boolean Description Represents a single alphanumeric character Represents a set of characters Represents any whole number both positive and negative Represents any decimal number both positive and negative. Represents one of two possible values, 0 or 1, to represent true or false. Example Y 9 Joshua 3 -55 3.4444 -348.5 0 Male, 1 Female

Structured Data Types Arrays 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 Index 1 Element Fred Print Team (5) = Jim 2 Mary 3 4 Bill Phil Print Team (2) = Mary 5 Jim

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. Details Field Name Name Data John Details.Age = 17 Surname Age Smith 17 Details.Name = John Gender Male

Array of Records - An array of records holds multiples records in one array and allows more data to be stored. 1 2 3 Team(2).Name = Bill Name Jill Bill Bob Age 12 52 37 Gender Female Male Male

Team

index=3 Team(index).Gender = Male

Algorithms
Linear Search Begin Get vale to search for = search_value Count = 1 Found = false WHILE not end of array IF array(count) = search_value THEN Display array(count) Found = true END IF Count = count + 1 END WHILE IF found = false THEN Display search_value not found END IF END Find Max / Min Begin Max = 0 Count = 1 WHILE not end of array IF array(index) > array(max) THEN Max = count END IF Count = count + 1 END WHILE Display array(max) END Sorts Insertion 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.

RIGHTS AND RESPONSIBILITIES OF SOFTWARE DEVELOPERS


Software 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.

Authorship
Protection 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 users expectations as much as is possible.
Right

Response 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 developers 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 developers 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 Approaches
THE 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. 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 APPROACH Prototype 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.