18 Software. design. Learning outcomes. Credit value: 10

Size: px
Start display at page:

Download "18 Software. design. Learning outcomes. Credit value: 10"

Transcription

1 Credit value: Software design While not every IT practitioner is a programmer, an understanding of the process by which programs are written is important. Developing software is a complex process and so the design phase is very important. This unit looks at what is involved in the development process and the tools and techniques which can be used to create a design. For anyone considering a career in software development, understanding software design is clearly important. A job as a software designer is a senior position requiring many years of experience, but even a trainee programmer is expected to understand the principles of software design. The software designer must first of all understand what the program needs to do and then develop a design which will guide the programmers who will write the software. The creation of the design is therefore very important the design must be correct, otherwise it is unlikely that the software that will be produced from it will do what is required. Learning outcomes After completing this unit you should: 1. know the features of programming languages 2. know the software development process 3. be able to design software development solutions. 1

2 BTEC s own resources Assessment and grading criteria This table shows you what you must do in order to achieve a pass, merit or distinction grade, and where you can find activities in this book to help you. To achieve a pass grade the evidence must show that you are able to: P1 describe the characteristics of programming paradigms See Assessment activity 18.1 on page 18 P2 identify the factors influencing choice of programming language See Assessment activity 18.1 on page 18 P3 describe the stages of the software development life cycle See Assessment activity 18.2 on page 24 P4 outline a specification for a business requirement See Assessment activity 18.2 on page 24 P5 design a software solution to a business requirement using appropriate design tools See Assessment activity 18.3 on page 36 P6 review the design against the original requirement See Assessment activity 18.3 on page 36 To achieve a merit grade the evidence must show that, in addition to the pass criteria, you are able to: M1 describe the features of programming languages; including how sequence, selection and iteration are used See Assessment activity 18.1 on page 18 M2 select and justify the programming language to be used See Assessment activity 18.2 on page 24 M3 describe the data types and software structures used in a design solution See Assessment activity 18.3 on page 36 To achieve a distinction grade the evidence must show that, in addition to the pass and merit criteria, you are able to: D1 develop algorithms to represent a design solution See Assessment activity 18.3 on page 36 D2 evaluate the design tools used See Assessment activity 18.3 on page 36 2

3 Unit 18 Software design How you will be assessed This unit is internally assessed. You will provide a portfolio of evidence to show that you have achieved the learning outcomes. Your portfolio of evidence can be supplied in many formats including electronically as well as paper-based. The grading grid in the specification for this unit lists what you must do to obtain pass, merit and distinction grades. The Assessment activities in this unit will guide you through tasks that will help you to be successful in this unit. Your tutor will tell you exactly what form your assessments will take, but you could be asked to produce: presentations written documentation: o supporting documents o specification o design documentation an evaluation of your work. Amir Khalid, a 17-year-old Level 3 learner I studied this unit last year, and now I m on the Level 3 course. I was really interested in this unit, as software development is what I want to do. To be honest, design isn t the most interesting part of software development but now I realise how important it is. I think one thing that we found quite hard was relating the fairly simple examples of programs and designs that we looked at with real commercial software. The part I found most difficult was creating the structure and dataflow diagrams. To start with, I found this very hard and needed to practise it. I discovered that the best way to produce these diagrams was to have a very good understanding of what the software is supposed to do and then to follow the whole process through, using action lists and storyboards initially. As far as the assessments were concerned, the toughest parts were justifying my choice of programming language and evaluating the design tools I used. Of course, I also found producing the design hard too! Overall I think this was the most challenging unit we did, but I found it really interesting. Over to you Do you have an interest in software development? Have you ever wondered about how computer games are designed and created, for example? What sort of attitude or personality do you think makes a good programmer? Do you know anyone who has done programming, perhaps on a higher level course or at university, or as a job? Speak to them and find out how they find writing programs (easy or difficult, fun or challenging?). 3

4 BTEC s own resources 1. Know the features of programming languages Start Warm up Programming a robot Imagine you have to write a program that controls a robot. It might be an industrial robot that paints a car in a factory or a robot the army would use to search for roadside bombs. Working in a group, think about how you would design the program to control the robot. The first thing you would need to decide is what sort of robot it is and exactly what it will do. How would you split up the design and creation of the control program between the members of your group? What techniques could you use to design the way the robot works? You don t need to define this in a lot of technical detail, just think in general terms about how you could create a design. Case study: Working as a specialist software developer I run a small software company that writes specialist software for the building trade. We have created a program which is used to help builders estimate how much a particular job will cost. Over the years we have developed and added to the program so it now includes many different modules. It is used by over 250 different building companies around the country. We wrote the original version in Visual Basic because that s the language my partner and I knew best. Also, we wanted to use Microsoft Access as the database and these two link together well. We have built up expertise in these products in the company, so it would be difficult to change the programming language we use now, although we have considered it because it does restrict our customer base to those who run Microsoft Windows. The software is always being developed and, because we have lots of customers, we have to survey them all on the features they would like to see in the next version. In that way we create a wish list of new features. It s very important to understand the building trade and what they need from the program. Once we are clear on what new features we will add in the next version, we begin the design. Over the years we ve found that, although the design stage can be difficult and not as interesting or as exciting as writing the programs and getting them working, it is very important to get the design right. If it s not right, we hit problems when we come to write the programs. 1. What influenced the company s choice of programming language? 2. What must the company do before they start work on a new version of their software? 3. Why is the design stage so important? 4

5 Unit 18 Software design What is a computer program? A computer program is a series of instructions that tells the computer s processor what to do. Programs are what make computers powerful. Unlike typewriters or fax machines, which have only one function, computers must carry out many different tasks. Programs make this possible. Computers, however, can understand only machine code instructions in the form of binary codes. Programs for the very first computers were written using these binary codes, but they are very difficult for people to understand. Because of this, programming languages (sometimes called high-level languages) were developed. Programs consist of two important parts: instructions, which tell the computer what to do data, which the instructions act on. Data is often input by the user of the program. In the Windows Calculator program, the user enters the numbers that they want to do the calculation with this is input data. The program then carries out the instructions to do the calculation and displays the result this is the output data. The data varies depending on what the user inputs, but the instructions for a given calculation stay the same. 1.1 Programming paradigms Key terms Machine code the instructions that are executed directly by the computer s CPU, sometimes called the instruction set. These instructions are in the form of binary numbers. Programming language a defined set of English-like instructions which are used to create a program. These instructions are easier for people to understand than binary codes. The instructions are converted into the binary codes that the computer understands, using a piece of software called a compiler. Paradigm an approach, framework or way of doing something. Computer programs can be very complex indeed. Over the years a number of different paradigms have been developed to deal with this complexity and encourage the development of efficient and error-free programs. Procedural programming In this approach the programmer writes the instructions as a series of logical steps to produce the desired result. Different functions within the program are provided by different procedures (or subroutines). In the Windows Calculator, different procedures might be provided to do addition, subtraction, multiplication, etc. Procedures can be run from the main program to carry out their specified function or from within other procedures. One of the benefits of this approach is that where tasks need to be carried out several times within the program, the instructions do not need to be duplicated. Instead, the procedure runs as many times as required. This provides a better way to organise or structure a large, complex program. With the procedural approach the data in the program is shared between the procedures. Object-oriented Object-oriented (or OO) methods were developed as a response to the increasing complexity of software, which was difficult to handle with the procedural approach. 5

6 BTEC s own resources Object With the OO approach to programming, the things a procedure does (its functions) are put together with the data it needs in something called an object. The idea of an object is based on the real things the program is dealing with, for example: Key terms Attributes the name given to the data used within a class. Methods the functions of a class, i.e. the things a class can do. Encapsulation the technical term for the way in which the attributes (data) and the methods (functions) of a class are packaged together within a class, and the data of a class can only be accessed by the methods. LearnerName LearnerMarks setname showmarks updatemarks Learner Figure 18.1: Class diagram for the Learner Class. in a library system, the objects might include books, members and loans in a mail order system, the objects might include customers, orders and products. Objects in a software system can represent physical things like customers or books, or conceptual things like an order or a loan. Class A class is a template for an object and defines the data (or attributes in OO terminology) that each object of that class will have. For example, think of a library system which has a class for books. The data that the book class would define includes things such as the book title, author, ISBN number, etc. An object of the book class is created using the class template and has actual values for the data that the class defines, such as Harry Potter and the Goblet of Fire as the title and J. K. Rowling as the author. Methods Classes also have functions (things the class can do), which in OO terminology are called methods. A customer class might have a change of address method. A book class in a library system might have a go on loan method. Remember that a class is like a template for objects and defines the data and methods (functions) of the class. All the objects of that class have the same attributes and methods. Classes can be defined by a class diagram. This lists the name of the class, its attributes and methods. Figure 18.1 shows the class diagram for a learner class in a system for recording learners assignment marks. This simple class has just two attributes (name and marks) and three methods (set name, show marks and update marks). An OO system is made up of objects (created using the class as a template). These objects work together by one object requesting a service from another (using the methods of that class). For example, if there is also a Tutor class, then an object of the Tutor class might request an object of the Learner class to run its showmarks method, so it could find out the marks that the learner currently has. It is important to understand that the only way in which other objects can gain access to the attributes of a class is by the methods of that class. This is one of the key differences between the procedural approach to programming (where data is shared between procedures) and the OO approach (where the data is contained within the object and is only accessible via the object s methods). This concept is known as encapsulation. 6

7 Unit 18 Software design Event driven The event driven approach to programming refers to how the program responds to user input, not to how the program is structured. Therefore, event driven programs can be written using a procedural or an objectorientated approach. Event driven programming is used with the Windows user interface. Windows programs respond to user input for example, when you click a button or choose a menu option a particular function is carried out. Clicking buttons or choosing menu options are all considered events. Event driven programming therefore involves writing event procedures which respond to the actions the user takes. Key term Events inputs to the program that control what the program does. Events are often user inputs, such as mouse clicks or menu selections. Activity: Events in a Windows program What different events can a Windows program respond to? As well as left-clicking on a button or menu on the screen, there are several other events that popular Windows applications respond to. List as many as you can. 1.2 Program features To help you understand the features that programs have, we ll look at some simple examples of programs written using the Visual Basic programming language. This is not intended to be a tutorial on writing programs in Visual Basic the programs are shown to help you understand the features and structures of programs. As mentioned on page 5, a program consists of instructions and data. The data in a program is usually input by the user. It is then stored in the program in a memory area that the programmer creates called a variable. Variables have three properties: A name, which is given by the programmer. Variable names should give some clue as to what the variable is used for, but they cannot contain spaces. A data type, also defined by the programmer. This defines the sort of data the variable can hold. Typically a programming language will have data types for text and various numerical formats. A value, which is held in the variable. This may often be set as a result of user input. Let s look at a simple program, as shown in Figure 18.2 on page 8. Here we are using a console application, which does away with the visual side of the language and uses simple text input and output via a console window. Using a console application helps us to concentrate on Key terms Variable a storage area in a program for data. This data might come from user input or from a calculation done within the program. Console application a text-based application that runs in a command prompt window. Did you know? You can download Microsoft Visual Basic 2010 Express for free by going to Hotlinks and clicking on this unit. 7

8 BTEC s own resources These instructions define 3 variables, called input1, input2 and result all with a data type of integer (whole numbers). These instructions output messages to the user and then assign the input the user makes to the variables input1 and input2. This instruction adds together the values in Input1 and Input2 and assigns the result to the variable called result. These output instructions display the result variable and wait for the user to press any key before the console window closes. Figure 18.2: A simple Visual Basic console application. the key features of programming, rather than having to worry about the complexity that using a Windows application adds. This program takes two numbers input by the user, adds them together and outputs the result. Figure 18.3 shows the program running. In this simple example, the instructions in the program are followed in the order they appear in the program. However, programs can also select to carry out one set of instructions instead of another. The choice (selection) of which set of instructions to follow is usually made by the user. There are other sections of code which may be repeated a certain number of times or until some condition is met. These different situations give us three ways that the flow of program instructions can be arranged: Sequence: Instructions are followed one after the other, as in the example above. Selection: A choice is made as to which set of instructions to follow. 8

9 Unit 18 Software design Figure 18.3: The adding program running. Iteration: A set of instructions is repeated in what is sometimes called a loop. We will demonstrate selection and iteration by making some modifications to the simple program we looked at earlier. Sequence When the program needs to do things like calculations, accepting user input or outputting data, the program instructions are followed in sequence from top to bottom. But in many situations, a program needs to do different things, perhaps because of the input the user has made. In these situations selection is used. Selection In most programming languages selection is done using an if instruction. The instruction compares one value or variable with another and if the outcome is true, the instructions following the if statement are executed. If the outcome of the comparison is false, the following instructions are skipped and the program continues at the end of the if instructions. Several different comparisons can be done to take into account various different possibilities. Figure 18.4 (on page 10) shows a modified version of the program we looked at in Figure 18.2 (on page 8). The new instructions are in red. 9

10 BTEC s own resources Sub Main() Dim input1 As Integer Dim input2 As Integer Dim result As Integer Dim choice As String Console.WriteLine("Enter a number") input1 = Console.ReadLine() Console.WriteLine("Enter another number") input2 = Console.ReadLine() Console.WriteLine("Enter A to add or M to multiply") choice = Console.ReadLine() If choice = "A" Then result = input1 + input2 ElseIf choice = "M" Then result = input1 * input2 Else Console.WriteLine("Invalid choice") End If Console.WriteLine("The result is " & result) Console.WriteLine("Press any key to continue") Console.ReadLine() End Sub This new variable is named choice and has a data type of String (text). The user is requested to enter an A or an M and their input is placed in the choice variable. An if instruction checks the choice variable and carries out add or multiply based on what the user enters. If the user enters something other than an A or an M this part of the if instruction is executed. Figure 18.4: Program demonstrating selection. result = input1 + input2 Figure 18.5: This instruction is only executed if the choice variable contains an A. This type of instruction is sometimes called if... then... else. Notice how the instructions are indented following the if instruction. This shows which instruction is executed depending on the result of the if comparison. For example, the instruction in figure 18.5 is only executed if the choice variable contains an A. Where there are a number of different values to consider in a selection instruction block, the if instruction can be rather long and complex. A slightly simpler alternative is the Case instruction. Look at the modified version of the previous program shown in Figure This allows the Console.WriteLine("Enter A to add, M to multiply, ") Console.WriteLine("S to subtract or D to divide") choice = Console.ReadLine() Select choice Case "A" result = input1 + input2 Case "M" result = input1 * input2 Case "S" result = input1 - input2 Case "D" result = input1 / input2 End Select Console.WriteLine("The result is " & result) Figure 18.6: Program demonstrating the use of the Case instruction. 10

11 Unit 18 Software design user to carry out all four arithmetic operations (add, subtract, multiply and divide). Note that not all the program code has been included. The case instruction starts with the instruction Select, followed by the name of the variable which contains the value to be inspected. Then for each possible value you have a Case instruction followed by the value you are expecting. This is followed by the instructions which will be run if the variable contains that value. Iteration Iteration is when instructions are repeated. Let s look at a version of our program that includes a loop. As it stands the program will just run once, then finish. By putting the main part of the instructions in an iteration loop, it can run until the user ends it. Sub Main() Dim input1 As Integer Dim input2 As Integer Dim result As Integer Dim choice As String Dim EndIt As String = "Y" Do While EndIt = "Y" Console.WriteLine("Enter a number") input1 = Console.ReadLine() Console.WriteLine("Enter another number") input2 = Console.ReadLine() Console.WriteLine("Enter A to add or M to multiply") choice = Console.ReadLine() If choice = "A" Then result = input1 + input2 ElseIf choice = "M" Then result = input1 * input2 Else Console.WriteLine("Invalid choice") End If Console.WriteLine("The result is " & result) Console.WriteLine("Press Y to continue or any key to exit") EndIt = Console.ReadLine() Loop End sub Another new string variable, set to Y so the loop runs at least once. This is the start of the loop. It will keep looping while the EndIt variable is set to Y. At the end of the calculation the user inputs a Y, which is placed in the EndIt variable to keep the program looping. Any other input will end the loop. End of the loop. Figure 18.7: Program demonstrating a loop. In this example, a Do while loop continues while the EndIt variable contains a Y. If the user enters any other value, the loop (and therefore the whole program) ends. 11

12 BTEC s own resources Activity: Loops Do while loops are not the only types of loop there are also for loops and other types. Find out how these loops are coded and what they can be used for. Logical operators The logical operators AND and OR are used to create more complex comparisons in if, Do while and other selection and loop instructions. With these operators you can create comparisons which look at more than one value. For example, imagine you are writing a fantasy game program. You have decided that if a dragon character in the game has collected two swords and a golden key, they are awarded 200 extra bonus points. The instructions you write might look something like those shown in Figure If Swords = 2 AND Gkey = 1 Then BonusP = BonusP End if Figure 18.8: Instruction using the logical operator AND. Swords, Gkey and BonusP are all variables with a data type of integer (whole number). One problem with this code is if the dragon has already collected three swords when it gets the golden key. With this if instruction the bonus points would not be awarded. As well as using equals signs in comparisons, you can also use the symbols for greater than and less than. In this case we need to modify the code so if swords is equal to or greater than 2 then the bonus points are awarded, as shown in Figure If Swords> = 2 AND Gkey = 1 Then BonusP = BonusP End if Figure 18.9: Instruction using the symbol for greater than or equal to. The list of comparison operators are shown below in Table Table 18.1: Comparison operators. Operator Meaning Operator Meaning > greater than <= less than or equal to < less than!= not equal to (also <> depending on the language) = equal to >= greater than or equal to 12

13 Unit 18 Software design Using the AND logical operator means both values that you compare must be true, but there may be situations where you want to make comparisons where either one OR the other can be true. In these situations we use the OR logical operator. For example, using the same imaginary game, if a dragon has 400 bonus points or more OR they have two golden keys then they get an extra life. The if instruction would look something like that shown in Figure If BonusP >= 400 OR Gkey = 2 Then Lives = Lives + 1 End if Figure 18.10: Instruction using the logical operator OR. Local and global variables The simple programs we have looked at so far only contain a single procedure, so all the variables we have created are local to that procedure in other words, the variables are only used in that procedure. In more complex programs with lots of different procedures, some variables may be created which are global and can be used in all the procedures of the system. Global variables are generally created at the start of the instructions for the whole system, whereas local variables are created at the start of the individual procedure where they can be used, like the variables we have seen so far. It is good programming practice to avoid global variables where possible and stick to local variables, although sometimes the use of global variables may be unavoidable. The reason for this is that global variables can cause program errors if they are used improperly. For example, two different procedures may use the same global variable in a slightly different way or one procedure may modify a global variable that another procedure is using, and this may cause an unexpected result or even cause a program to crash. Assignment statements We have already seen a number of assignment statements. For example, let s start with the following instruction: Key term Assignment statements these carry out assignment operations, which consist of taking the value on the right side of the assignment operator (=) and storing it in the variable on the left. BonusP = 100 This can also be done as part of an arithmetic operation, such as: result = input1 + input2 You can also assign an initial value to a variable when you create it, such as: Dim EndIt As String = "Y" 13

14 BTEC s own resources Input and output statements In the example programs we ve looked at so far, input and output with a console (text-based) application can be done with instructions, such as ReadLine and WriteLine. Input and output with Windows programs are a little different. These programs normally use a form in Visual Basic Express this is created by using a forms editor which allows you to add controls, such as labels, text boxes and buttons to your form. Figure shows the Visual Basic forms editor. Figure 18.11: The Visual Basic forms editor. Windows applications like this are event driven, so input can be made via the mouse by clicking on controls such as buttons and check boxes. Text input can be made using text boxes, and text output can be made using a text box or label. 1.3 Types of languages Key term Visual languages languages designed to create Windows programs. There are a number of different general types of programming languages best known are visual, script and markup. Visual languages Because the Windows user interface is so widely adopted, many of the programming languages utilised today are known as visual languages. Visual languages come with many of the standard Windows features (such as dialog boxes, menus, buttons and scroll bars) already built into them, so the programmer does not have to create these from scratch. It obviously saves a lot of program development time if all these visual elements are already made for you. Visual languages normally support event driven procedures. As we have seen, the forms editor in 14

15 Unit 18 Software design Microsoft Visual Basic allows you to create buttons and other controls that the user can interact with. Event procedures are written to deal with these user interactions. Script languages Two common examples of script languages are macros and web page scripts. A macro is a small program that is written or recorded to carry out some task in another application. The best known examples of macros are the ones you can create in Microsoft Office applications, such as Word or Excel, to carry out a complex or repetitive task within a document or spreadsheet. You can learn more about macros in Unit 9: Customising software (page 165). Web page scripts are small programs, embedded within web pages, which are run by an Internet browser, such as Microsoft Internet Explorer and carry out a task related to the web page. Typical tasks a web page script might perform are validating a user s input into a web page form or opening a new browser window or pop-up window. One of the most common scripting languages is JavaScript, which is related to the Java programming language. Markup languages HTML is the best known example of a markup language it is used to format web pages. In many ways HTML is not really a true programming language, as it does not support many of the features associated with programs, such as selection structures and loops. HTML is really just a way of formatting text by using tags. These tags indicate how the text following the tag should be formatted when it is displayed by the web browser. HTML allows you to include graphic images, links and many other elements. You can learn more about HTML in Unit 17: Website development (pages ). Other types of languages It may seem that all the programs you use are Windows programs and that there isn t really any other type of program, but this is not the case. Windows programs are the ones that users interact with directly, but in the background there are many other programs running. A device driver is a good example of this. Every new piece of hardware, such as a printer or digital camera, needs to have a device driver program written for it which interfaces between the hardware and the Windows operating system. Device drivers are programs that run in the background. Because they don t interface directly with the user they would not be written using a visual or event driven programming language. Device drivers are often written using languages such as C. Key terms Script language a type of programming language which, rather than being standalone programs that run on their own, runs within some other application to carry out a specific task. Device driver a program that provides an interface between a piece of hardware (such as a graphics card or network interface) and the operating system. 15

16 BTEC s own resources 1.4 Choice of language Key terms Integrated development environment (IDE) a piece of software which lets you write code, test it and build it into an application or game. Bugs errors or mistakes in the program which prevent it from working properly. There are a very large number of different programming languages available. Most programs are written using a piece of software called an IDE (integrated development environment). This includes all the things a programmer needs to write the program, such as: an editor this often provides additional tools to help write the instructions, such as pop-up help a compiler this converts the instructions into machine code that the computer can understand a Windows forms editor to create Windows forms and add all the required controls (buttons, text boxes, check boxes, etc.) a debugger to help identify bugs in the program. Visual Basic Express edition is an example of a sophisticated IDE which includes all these tools. Activity: Programming languages There are many different programming languages. Find examples on the Internet of code written in the most popular ones, such as C++, Java or Pascal. Can you spot any similarities between them? With such a wide range of languages, the choice of which one to use to write a program may seem impossibly complex. In reality the choice is often quite simple and will depend on one or more of the following factors. Organisational policy An organisation that develops a lot of computer software will often have a policy to use a particular language. This may be for reasons such as consistency or to maintain compatibility with other software they have developed. It will also enable a company to develop expertise in that particular language. Suitability in terms of available features and tools Certain languages are better suited, in terms of the features and tools they have available, to particular tasks or hardware and software environments. For example, as discussed earlier, visual programming languages, such as Microsoft Visual Basic, may be best suited to a project to develop a Windows application. Visual Basic also has very good links to other Microsoft products, such as the Access database. So if you are developing a program which needs to interface to an Access database, then this may be a good choice. 16

17 Unit 18 Software design On the other hand, if you are developing a program that needs to be able to run on a wide range of different hardware and operating systems, then Visual Basic would be a poor choice as it only runs on PC hardware with the Microsoft Windows operating system. Java might be a much better choice as it is available for a wide range of hardware and operating systems. Availability of trained staff It takes a considerable amount of time to develop a good level of expertise in a particular programming language. This means that if a company already has staff who are experts in a particular programming language, then that language will be the obvious choice for any new project. Also, if a company is setting out on a new software development project it may need to employ new programmers. It will be easier for the company to find programmers with knowledge of the most popular languages rather than the lesser known ones, even if the less well-known languages are better suited to the project for other reasons. Reliability Some programming languages are specifically designed for applications where reliability is very important. These are sometimes called mission critical applications. They include things like aircraft or nuclear power plant control systems where failure would be catastrophic. Ada is an example of a language developed for these types of application. It was originally developed for the United States Department of Defense for use on military projects. Development and maintenance costs Some languages and software development approaches have a reputation for being able to create software systems in a shorter timescale than other approaches. This means they can provide systems at a lower cost. For example, rapid application development (RAD) is one approach which uses prototyping to speed up the development process. Prototypes are simple versions of the program under development with limited functionality. The prototypes are used to gain user feedback and develop improved versions. Equally, some languages have a reputation for being easier to maintain. Maintenance can include updates, bug fixes and additions to the original program. A company may, therefore, choose a particular language or development approach, because they hope to achieve lower development and maintenance costs. Expandability Some software systems may only be used by a small number of people, while others many need to be used in a large organisation by thousands of employees simultaneously. For example, a banking application that controls ATMs ( hole in the wall cash machines) will need to handle many thousands of simultaneous transactions from machines all around 17

18 BTEC s own resources the country (and world!). The choice of programming language and database systems to support such a huge system will need to consider how well they can cope with a large and growing number of users. Some programming and database systems are designed with such expandability in mind (sometimes called scalability), while others are better suited to single user or small multi-user applications. Activity: Popular programming languages What are the most popular programming languages at the moment? Take a look at programming job adverts on the Internet and see which languages are in the most demand. Please go to Hotlinks and click on this unit to access a good website to start you off on this activity. PLTS Assessment activity 18.1 P1 P2 M1 Investigating different programming approaches will provide evidence that you are an independent enquirer. Functional skills Preparing a presentation will provide evidence for your functional ICT skills find and select information and develop, present and communicate information. It will also provide evidence for your functional English skills in writing. You are working for a mobile phone company which is considering starting their first software development project. One of the managers has asked you to investigate the different approaches to programming (paradigms) and factors that might influence their choice of programming language. 1. Create a presentation for the manager describing the approaches to programming (paradigms) and identifying the factors influencing the choice of language. P1 P2 2. Add to the presentation you prepared for task 1 by describing the features of a programming language of your choice, including how sequence, selection and iteration are used. M1 Grading tip When completing question 2, you will need to describe the features of programming languages, including how sequence, selection and iteration are used. Check the unit content for learning outcome 1 and make sure you cover the features listed there. Just checking 1. What features does HTML not have that can be found in most programming languages? 2. What instruction is used in most programming languages to implement (write instructions to perform) selection? 3. Explain the difference between local and global variables. 4. What three attributes or properties does a variable have? 18

19 Unit 18 Software design 2. Know the software development process 2.1 Software development life cycle Like any large commercial project, there is a series of steps that must be completed when developing a software system. This is sometimes called the software development life cycle. It is represented by the diagram in Figure Gather user requirements Maintain system Create specification Test programs Create design Write programs Figure 18.12: The software development life cycle. We refer to this process as a life cycle because, even when the software is completed and has entered the maintenance phase, new requirements and developments are likely to be suggested, resulting in work starting on a new version of the software. In this way the development cycle begins and repeats again and again. Let s now look at each stage in detail. Gather user requirements Most commercial programs are written to solve some kind of problem or to take advantage of an opportunity. Clearly, you need to understand the nature of the problem or opportunity before you can write a program that will achieve what is required. This involves working with 19

20 BTEC s own resources Key term Systems analyst someone who operates at the design stage of systems development. They work closely with the people who will use the system being developed to identify exactly what it needs to do. the people who understand the problem and who will be using the new system. Since these people will probably not be computer experts, the discussions at this stage focus on the business aspects of the problem or opportunity. The work to gather user requirements is normally carried out by a systems analyst. As well as being an expert in systems development, a systems analyst is usually also an expert in the business area that the system is being developed for. For example, if the software is being developed for use in a bank, the systems analyst will need to be an expert in banking and finance systems. The gather user requirements stage is when information is collected about what the exact requirements of the system are. The information may be collected by a number of different methods including interviews, observation of current working practices and reviewing documentation. Case study: Requirements gathering for a learner grade tracking system A college needs some software to keep track of learners grades. The grade tracking records are currently kept using a paper-based system. At the requirements gathering stage, the system analyst speaks to the tutor who looks after the grade tracking records. He takes copies of the documents currently used and discusses with the tutor how the current system works so he is sure he fully understands it. He also discusses with the tutor the limitations of the current system and what improvements he hopes the new computerised system will provide. 1. What improvements do you think an electronic system is likely to provide over a paper-based one? 2. Is there anyone else you think the systems analyst should speak to, other than the tutor, about the new system? Key terms Specification a document describing what the system that will be developed will do in non-technical terms. Scope all the functions and facilities that are to be included in the system. Create specification At the end of the requirements investigation stage, the systems analyst will produce a specification document. This is an important document as it is often the basis of a contract between the company developing the software and the company who is paying for the software to be developed. There are a number of things which need to be described in the specification, and these are listed below. What is the scope of the system? To decide on the scope you need to ask the question What will the system do, and what won t it do? This may be an obvious question, but it is an important one. Computers are very powerful machines and, if you had endless time and money, there are many facilities you could include in the software you are developing. You may need to decide what the most important features are (referring back to the aims of the system) and develop the first version of the software with just those features, putting the rest on a wish list for future versions. 20

21 Unit 18 Software design Inputs and outputs The data that will be input to the system and the outputs that it will provide are clearly important. There are a number of possible sources of input data; they may come from a human user or from another computer system, for example. Outputs may also be in a number of different formats, such as on the computer screen, in a printed report or to another computer system. Case study: Identifying the scope of the learner grade tracking system The scope of the learner grade tracking system is quite straightforward. It will record the grades for learners on the CTEC Diploma course, which consists of three units only. Each unit can be graded as: Incomplete Pass Merit Distinction. The system should also calculate an overall grade for each learner. It should allow a tutor to input learner names and view, add and update their grades. All input and output should be via a Windows on-screen form. Possible future versions of the program might include the following additional features: dealing with multiple class groups dealing with other qualifications with different numbers of units printing class lists of grades. 1. Is writing a program the only solution to this problem? Are there other ways that this grade recording system could be implemented? What advantages and disadvantages would other approaches have? 2. Sketch out the main menu form for this system. Processing This aspect of the specification describes how the input data will be transformed, for example calculations may be carried out on the input data. In a system that calculates employees monthly salaries, the input data will probably be the number of hours worked by each employee plus any additional information, such as overtime hours or days off sick. This data will be used to calculate each employee s pay by multiplying it by their hourly rate and then subtracting things like tax and National Insurance contributions. User interface The specification will give details of how the user will interface with the system. Most commonly this will be by a standard Windows interface using a monitor, mouse and keyboard, but there may be other methods. Many applications these days use the Internet and so their user interface may be via a web browser, such as Microsoft Internet Explorer or Mozilla Firefox. Specialist applications may use a text-based interaction (like the console applications we looked at on pages 7 8). Touch screens are particularly well suited to applications where a keyboard is not convenient, such as mobile applications or in retail (for example, point of sale terminals in shops). 21

22 BTEC s own resources Constraints Most software is developed to a budget which will constrain (limit) the amount of time that can be spent developing the software. Estimating how long it will take to develop a software system and, therefore, how much it will cost is one of the most difficult aspects of software development. There are many examples of systems which have taken far too long and cost much more than originally estimated. The budget available may restrict the features that can be included in the system, and may mean some features have to be pushed onto the wish list for the next version. Other possible constraints include the hardware platform and software system that must be adopted. The new system may well have to be used on existing hardware and software, including a particular operating system. Case study: Learner grade tracking system processing, user interface and constraints Processing: The processing requirements of the learner grade tracking system are fairly simple. The system s main purpose is the storing and retrieval of learner grades, so there is not much processing involved. However, the calculation of the final grade does require some processing and this should be defined in the specification. The rules for deciding on the final grade are: for a pass a learner gets one point for a merit a learner gets two points for a distinction a learner gets three points. There are three units, so if a learner has less than three points they have failed. If they get three to five points they get a pass. If they get six to eight points they get a merit. Nine points achieves a distinction. User interface: The user interface of the system will be a standard Windows interface. Constraints: The system needs to work with standard PC hardware and the Windows 7 operating system. 1. Is any other information required to fully understand how the grade tracking system will work? 2. Create several imaginary sets of learner unit grades and work out what overall grade they achieve. Create design The design stage builds on the requirement and the specification. The requirement and the specification documents describe what the software will do, whereas the design considers how the software is going to work. The first step may be to break the problem down into components, particularly for large, complex software. Once the general structure of the solution has been decided (what the components are and how they interact), each component can be designed in detail. There are many different tools available to software designers: action lists, storyboards, structure diagrams, data flow diagrams, algorithms, and so on. These are discussed on pages of this unit. 22

23 Unit 18 Software design Write programs (coding) The coding (or implementation) stage is when the program is written. Programmers follow the design and refer back to the requirements to help them. If implementation highlights any problems with the requirements or design, then these documents should be updated appropriately. Test programs All but the simplest of programs contains bugs. In some ways, writing software is like writing a book try as you might to avoid spelling mistakes, poor grammar and factual errors, some inevitably slip through the net. Software developers use testing (just as publishers use editors and proofreaders) to minimise the severity and number of errors as much as possible. If the requirements have been written carefully, then many of the tests will be taken directly from these. For a large software project, each component is tested individually these tests are called unit tests. They may be run manually or written as extra software that can be run automatically. Further tests, called integration tests, check that the components work properly together. Documentation Each stage of the software development process results in the creation of one or more documents. The requirements investigation stage results in a formal requirements specification. During the design stage, various charts and documents are produced to record the design decisions that have been made. Even the implementation and testing stages need documentation in the form of program comments and test plans and logs. Often, additional time must be put aside to finalise the internal documentation (for example, to make sure that the design documents are up to date) and to prepare customer documentation, such as a user manual or help pages built into the software. Maintain system Software maintenance is rather like car maintenance. After a car has been manufactured, it still requires regular tune-ups to keep it performing efficiently. It may even be taken to a mechanic for an upgrade, such as fitting satellite navigation. In the same way, software bugs that are discovered after release will need to be fixed, and users may request that developers add new features to the software. One measure of the success of a software product is the length of time for which it remains in use. Some software in use today has gone through many versions over the course of years, or even decades. Because of this, over the lifetime of a software product, the maintenance stage is likely to last the longest and take the most effort. If the earlier stages have been rushed or performed carelessly (for example, if the design documentation is poor) then the maintenance Did you know? Software developers often find writing the code to be the most enjoyable stage of a project. When planning for, and working on, your own software development projects, make sure you allocate a generous proportion of your time to the requirements and design stages (which will save you time overall) and to the testing and documentation stages (which will improve the quality of your software product). Key term Integration the process of bringing together software components, perhaps written by different development teams, into a single piece of software. 23

Programming in Access VBA

Programming in Access VBA PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010

More information

GCE APPLIED ICT A2 COURSEWORK TIPS

GCE APPLIED ICT A2 COURSEWORK TIPS GCE APPLIED ICT A2 COURSEWORK TIPS COURSEWORK TIPS A2 GCE APPLIED ICT If you are studying for the six-unit GCE Single Award or the twelve-unit Double Award, then you may study some of the following coursework

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Hypercosm. Studio. www.hypercosm.com

Hypercosm. Studio. www.hypercosm.com Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks

More information

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System

More information

Making the Right Choice

Making the Right Choice Tools & Automation Making the Right Choice The features you need in a GUI test automation tool by Elisabeth Hendrickson QUICK LOOK Factors to consider in choosing a GUI testing tool Treating GUI test automation

More information

InfoPath 2010 Essentials. Corporate Training Materials

InfoPath 2010 Essentials. Corporate Training Materials InfoPath 2010 Essentials Corporate Training Materials TABLE OF CONTENTS Preface...1 What is Courseware?... 1 How Do I Customize My Course?... 1 Materials Required... 3 Maximizing Your Training Power...

More information

Content Author's Reference and Cookbook

Content Author's Reference and Cookbook Sitecore CMS 6.2 Content Author's Reference and Cookbook Rev. 091019 Sitecore CMS 6.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents

More information

MEAP Edition Manning Early Access Program Hello! ios Development version 14

MEAP Edition Manning Early Access Program Hello! ios Development version 14 MEAP Edition Manning Early Access Program Hello! ios Development version 14 Copyright 2013 Manning Publications For more information on this and other Manning titles go to www.manning.com brief contents

More information

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION 539752 ch01.qxd 9/9/03 11:38 PM Page 5 SESSION 1 Introduction to Microsoft Access and Programming Session Checklist Understanding what programming is Using the Visual Basic language Programming for the

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

NJCU WEBSITE TRAINING MANUAL

NJCU WEBSITE TRAINING MANUAL NJCU WEBSITE TRAINING MANUAL Submit Support Requests to: http://web.njcu.edu/its/websupport/ (Login with your GothicNet Username and Password.) Table of Contents NJCU WEBSITE TRAINING: Content Contributors...

More information

Project Planning With IT

Project Planning With IT Unit 17: Project Planning With IT Unit code: QCF Level 3: Credit value: 10 Guided learning hours: 60 Aim and purpose Y/601/7321 BTEC National The aim of this unit is to ensure learners understand the processes

More information

Kids College Computer Game Programming Exploring Small Basic and Procedural Programming

Kids College Computer Game Programming Exploring Small Basic and Procedural Programming Kids College Computer Game Programming Exploring Small Basic and Procedural Programming According to Microsoft, Small Basic is a programming language developed by Microsoft, focused at making programming

More information

27 Spreadsheet. modelling. Learning outcomes. Credit value: 10

27 Spreadsheet. modelling. Learning outcomes. Credit value: 10 Credit value: 10 27 Spreadsheet modelling The spreadsheet and the word processor were the business applications that started the personal computer revolution, and they remain the most popular and useful

More information

A Real Time, Object Oriented Fieldbus Management System

A Real Time, Object Oriented Fieldbus Management System A Real Time, Object Oriented Fieldbus Management System Mr. Ole Cramer Nielsen Managing Director PROCES-DATA Supervisor International P-NET User Organisation Navervej 8 8600 Silkeborg Denmark pd@post4.tele.dk

More information

Software Design and Development

Software Design and Development Unit 6: Software Design and Development Unit code: QCF Level 3: Credit value: 10 Guided learning hours: 60 Aim and purpose L/601/6585 BTEC Nationals To enable learners to understand the principles of software

More information

Getting to know your computer

Getting to know your computer Getting to know your computer Introduction This is intended to be a very basic introduction to personal computers (PCs) which will enable you to: switch them on and off understand what is shown on the

More information

Chapter 14: Links. Types of Links. 1 Chapter 14: Links

Chapter 14: Links. Types of Links. 1 Chapter 14: Links 1 Unlike a word processor, the pages that you create for a website do not really have any order. You can create as many pages as you like, in any order that you like. The way your website is arranged and

More information

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated

More information

Microsoft Office Access 2007 Training

Microsoft Office Access 2007 Training Mississippi College presents: Microsoft Office Access 2007 Training Course contents Overview: Fast, easy, simple Lesson 1: A new beginning Lesson 2: OK, back to work Lesson 3: Save your files in the format

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

Software Development. Topic 1 The Software Development Process

Software Development. Topic 1 The Software Development Process Software Development Topic 1 The Software Development Process 1 The Software Development Process Analysis Design Implementation Testing Documentation Evaluation Maintenance 2 Analysis Stage An Iterative

More information

So you want to create an Email a Friend action

So you want to create an Email a Friend action So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;

More information

OCR LEVEL 3 CAMBRIDGE TECHNICAL

OCR LEVEL 3 CAMBRIDGE TECHNICAL Cambridge TECHNICALS OCR LEVEL 3 CAMBRIDGE TECHNICAL CERTIFICATE/DIPLOMA IN IT EXPLORING COMPUTER APPLICATIONS M/505/5403 LEVEL 3 UNIT 36 GUIDED LEARNING HOURS: 60 UNIT CREDIT VALUE: 10 EXPLORING COMPUTER

More information

A system is a set of integrated components interacting with each other to serve a common purpose.

A system is a set of integrated components interacting with each other to serve a common purpose. SYSTEM DEVELOPMENT AND THE WATERFALL MODEL What is a System? (Ch. 18) A system is a set of integrated components interacting with each other to serve a common purpose. A computer-based system is a system

More information

Mobile Game and App Development the Easy Way

Mobile Game and App Development the Easy Way Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected

More information

How To Understand Programming Languages And Programming Languages

How To Understand Programming Languages And Programming Languages Objectives Differentiate between machine and and assembly languages Describe Describe various various ways ways to to develop develop Web Web pages pages including including HTML, HTML, scripting scripting

More information

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program EKT150 Introduction to Computer Programming Wk1-Introduction to Computer and Computer Program A Brief Look At Computer Computer is a device that receives input, stores and processes data, and provides

More information

Introduction to Software Paradigms & Procedural Programming Paradigm

Introduction to Software Paradigms & Procedural Programming Paradigm Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

MICROSOFT ACCESS 2003 TUTORIAL

MICROSOFT ACCESS 2003 TUTORIAL MICROSOFT ACCESS 2003 TUTORIAL M I C R O S O F T A C C E S S 2 0 0 3 Microsoft Access is powerful software designed for PC. It allows you to create and manage databases. A database is an organized body

More information

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com Test automation of Web applications can be done more effectively by accessing the plumbing within the user interface. Here is a detailed walk-through of Watir, a tool many are using to check the pipes.

More information

PureEdge Viewer Training Guide

PureEdge Viewer Training Guide Table of Contents Introduction PureEdge e-forms 3 Course Objectives 3 PureEdge Viewer Overview What is a PureEdge e-form? 4 The PureEdge Viewer 5 What You See in the Viewer 6 The PureEdge Toolbar 7 Toolbar

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

Managing Projects. With. MinuteMan Project Management Software

Managing Projects. With. MinuteMan Project Management Software Managing Projects With MinuteMan Project Management Software Copyright 2011 by MinuteMan Systems Introduction This is a brief introduction to the use of Project Management Software to help you organize

More information

Catalog Creator by On-site Custom Software

Catalog Creator by On-site Custom Software Catalog Creator by On-site Custom Software Thank you for purchasing or evaluating this software. If you are only evaluating Catalog Creator, the Free Trial you downloaded is fully-functional and all the

More information

Programming LEGO NXT Robots using NXC

Programming LEGO NXT Robots using NXC Programming LEGO NXT Robots using NXC This text programming language derived from C language is bended together with IDE BricxCC on standard firmware LEGO Mindstorms. This can be very convenient for those,

More information

Excel & Visual Basic for Applications (VBA)

Excel & Visual Basic for Applications (VBA) Excel & Visual Basic for Applications (VBA) The VBA Programming Environment Recording Macros Working with the Visual Basic Editor (VBE) 1 Why get involved with this programming business? If you can't program,

More information

WHITEPAPER. Managing Design Changes in Enterprise SBM Installations

WHITEPAPER. Managing Design Changes in Enterprise SBM Installations WHITEPAPER Managing Design Changes in Enterprise SBM Installations By Tom Clement Serena Software, Inc. October 2013 Summary This document explains how to organize your SBM maintenance and development

More information

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0 VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 UX Software - 2009 TABLE OF CONTENTS INTRODUCTION... ii What is this book about?... iii How to use this book... iii Time to start...

More information

HOUR 3 Creating Our First ASP.NET Web Page

HOUR 3 Creating Our First ASP.NET Web Page HOUR 3 Creating Our First ASP.NET Web Page In the last two hours, we ve spent quite a bit of time talking in very highlevel terms about ASP.NET Web pages and the ASP.NET programming model. We ve looked

More information

Search help. More on Office.com: images templates

Search help. More on Office.com: images templates Page 1 of 14 Access 2010 Home > Access 2010 Help and How-to > Getting started Search help More on Office.com: images templates Access 2010: database tasks Here are some basic database tasks that you can

More information

Generating lesson plans with. Adobe Acrobat

Generating lesson plans with. Adobe Acrobat Generating lesson plans with Adobe Acrobat Introduction Being a teacher requires so many non-teaching administrative tasks that sometimes just teaching gets lost in the paper shuffle. You can automate

More information

Using Karel with Eclipse

Using Karel with Eclipse Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is

More information

Testing, What is it Good For? Absolutely Everything!

Testing, What is it Good For? Absolutely Everything! Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided

More information

#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {

#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() { #include Gamer gamer; void setup() { gamer.begin(); void loop() { Gamer Keywords Inputs Board Pin Out Library Instead of trying to find out which input is plugged into which pin, you can use

More information

by Geoff Blake TenTonOnline.com

by Geoff Blake TenTonOnline.com by Geoff Blake TenTonOnline.com TenTonOnline.com 1 Hey there! Thanks a lot for checking out this WordPress Guide I ve put together. I ve been using and teaching WordPress for a long, long time and use

More information

Finding and Opening Documents

Finding and Opening Documents In this chapter Learn how to get around in the Open File dialog box. See how to navigate through drives and folders and display the files in other folders. Learn how to search for a file when you can t

More information

One of the fundamental kinds of Web sites that SharePoint 2010 allows

One of the fundamental kinds of Web sites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

The Computing Curriculum at Coston Primary

The Computing Curriculum at Coston Primary Years Year 1 Year 2 1 and 2 Autumn We are learning about programming and computational thinking and in We are learning about programming and computational thinking and in Year 1 Food and farming Year 2

More information

Staying Organized with the Outlook Journal

Staying Organized with the Outlook Journal CHAPTER Staying Organized with the Outlook Journal In this chapter Using Outlook s Journal 362 Working with the Journal Folder 364 Setting Up Automatic Email Journaling 367 Using Journal s Other Tracking

More information

PloneSurvey User Guide (draft 3)

PloneSurvey User Guide (draft 3) - 1 - PloneSurvey User Guide (draft 3) This short document will hopefully contain enough information to allow people to begin creating simple surveys using the new Plone online survey tool. Caveat PloneSurvey

More information

Week 2 Practical Objects and Turtles

Week 2 Practical Objects and Turtles Week 2 Practical Objects and Turtles Aims and Objectives Your aim in this practical is: to practise the creation and use of objects in Java By the end of this practical you should be able to: create objects

More information

Government buyer user manual System Requirements and Administration Version 2.0

Government buyer user manual System Requirements and Administration Version 2.0 Queensland Government etendering website Government buyer user manual System Requirements and Administration Version 2.0 July 2011 etender Help Desk phone 07 3836 0141 Table of contents 1 Introduction...

More information

Visual Logic Instructions and Assignments

Visual Logic Instructions and Assignments Visual Logic Instructions and Assignments Visual Logic can be installed from the CD that accompanies our textbook. It is a nifty tool for creating program flowcharts, but that is only half of the story.

More information

Tips for clear websites

Tips for clear websites Plain English Campaign: Tips for clear websites Copyright Plain English Campaign Tips for clear websites This is only a basic guide. If you have any suggestions, corrections or improvements, please contact

More information

DELTA COMMUNITY ONLINE AND MOBILE BANKING CONVERSION USER GUIDE

DELTA COMMUNITY ONLINE AND MOBILE BANKING CONVERSION USER GUIDE DELTA COMMUNITY ONLINE AND MOBILE BANKING CONVERSION USER GUIDE Learn more at DeltaCommunityCU.com/Upgrade TABLE OF CONTENTS Customizable Username & Password...4 New Look & Feel...5 Account Display & Setup...6

More information

Operating Systems. and Windows

Operating Systems. and Windows Operating Systems and Windows What is an Operating System? The most important program that runs on your computer. It manages all other programs on the machine. Every PC has to have one to run other applications

More information

EasyC. Programming Tips

EasyC. Programming Tips EasyC Programming Tips PART 1: EASYC PROGRAMMING ENVIRONMENT The EasyC package is an integrated development environment for creating C Programs and loading them to run on the Vex Control System. Its Opening

More information

Planning user documentation - a guide for software project managers

Planning user documentation - a guide for software project managers Planning user documentation - a guide for software project managers By Carol Johnston. Introduction A Guide to the Project Management Body of Knowledge (PMBOK Guide) 2000 Edition is the main sourcebook

More information

Word 2010: Mail Merge to Email with Attachments

Word 2010: Mail Merge to Email with Attachments Word 2010: Mail Merge to Email with Attachments Table of Contents TO SEE THE SECTION FOR MACROS, YOU MUST TURN ON THE DEVELOPER TAB:... 2 SET REFERENCE IN VISUAL BASIC:... 2 CREATE THE MACRO TO USE WITHIN

More information

Microsoft Access Basics

Microsoft Access Basics Microsoft Access Basics 2006 ipic Development Group, LLC Authored by James D Ballotti Microsoft, Access, Excel, Word, and Office are registered trademarks of the Microsoft Corporation Version 1 - Revision

More information

Introduction to Microsoft Access 2003

Introduction to Microsoft Access 2003 Introduction to Microsoft Access 2003 Zhi Liu School of Information Fall/2006 Introduction and Objectives Microsoft Access 2003 is a powerful, yet easy to learn, relational database application for Microsoft

More information

Understanding the IEC61131-3 Programming Languages

Understanding the IEC61131-3 Programming Languages profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of

More information

ECDL. European Computer Driving Licence. Project Planning Project Management Software BCS ITQ Level 2. Syllabus Version 1.0

ECDL. European Computer Driving Licence. Project Planning Project Management Software BCS ITQ Level 2. Syllabus Version 1.0 ECDL European Computer Driving Licence Project Planning Project Management Software BCS ITQ Level 2 Using Microsoft Project 2013 Syllabus Version 1.0 This training, which has been approved by BCS, The

More information

Dynamics CRM for Outlook Basics

Dynamics CRM for Outlook Basics Dynamics CRM for Outlook Basics Microsoft Dynamics CRM April, 2015 Contents Welcome to the CRM for Outlook Basics guide... 1 Meet CRM for Outlook.... 2 A new, but comfortably familiar face................................................................

More information

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS. C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers

More information

Critical Path Analysis & PERT Charts (taken from www.business.com.

Critical Path Analysis & PERT Charts (taken from www.business.com. Critical Path Analysis & PERT Charts (taken from www.business.com. - Planning and scheduling more complex projects Critical Path Analysis and PERT are powerful tools that help you to schedule and manage

More information

American Express @ Work Getting Started Guide: Norway

American Express @ Work Getting Started Guide: Norway American Express @ Work Getting Started Guide: Norway American Express @ Work can help you to manage your Corporate Card Programme more efficiently online. With Standard and Customised Reports to track

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

Every project requires communication and collaboration and usually a lot of

Every project requires communication and collaboration and usually a lot of Collaborating on Projects with SharePoint CHAPTER 25 Every project requires communication and collaboration and usually a lot of both. With small project teams, you and your team members may interact in

More information

System requirements 2. Overview 3. My profile 5. System settings 6. Student access 10. Setting up 11. Creating classes 11

System requirements 2. Overview 3. My profile 5. System settings 6. Student access 10. Setting up 11. Creating classes 11 Table of contents Login page System requirements 2 Landing page Overview 3 Adjusting My profile and System settings My profile 5 System settings 6 Student access 10 Management Setting up 11 Creating classes

More information

Creating and Using Databases with Microsoft Access

Creating and Using Databases with Microsoft Access CHAPTER A Creating and Using Databases with Microsoft Access In this chapter, you will Use Access to explore a simple database Design and create a new database Create and use forms Create and use queries

More information

Qualtrics Survey Tool

Qualtrics Survey Tool Qualtrics Survey Tool This page left blank intentionally. Table of Contents Overview... 5 Uses for Qualtrics Surveys:... 5 Accessing Qualtrics... 5 My Surveys Tab... 5 Survey Controls... 5 Creating New

More information

Learners will develop skills in planning and managing information to produce an interactive website.

Learners will develop skills in planning and managing information to produce an interactive website. Unit IT9: Website Design Level: 1 Unit type: IT Guided learning: 40 hours Unit in brief Learners will develop skills in planning and managing information to produce an interactive website. Unit introduction

More information

Using The HomeVision Web Server

Using The HomeVision Web Server Using The HomeVision Web Server INTRODUCTION HomeVision version 3.0 includes a web server in the PC software. This provides several capabilities: Turns your computer into a web server that serves files

More information

Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface...

Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface... 2 CONTENTS Module One: Getting Started... 6 Opening Outlook... 6 Setting Up Outlook for the First Time... 7 Understanding the Interface...12 Using Backstage View...14 Viewing Your Inbox...15 Closing Outlook...17

More information

a) What is the major difference between a program that runs under a virtual machine vs. one that does not?

a) What is the major difference between a program that runs under a virtual machine vs. one that does not? CS109 Midterm Exam, Total = 100 Points Name: Please write neatly and show as much of your work as possible for partial credit. Scan through all problems first, and attack the easiest problems first. Use

More information

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition 10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can

More information

Lesson Overview. Getting Started. The Internet WWW

Lesson Overview. Getting Started. The Internet WWW Lesson Overview Getting Started Learning Web Design: Chapter 1 and Chapter 2 What is the Internet? History of the Internet Anatomy of a Web Page What is the Web Made Of? Careers in Web Development Web-Related

More information

Microsoft Migrating to Access 2010 from Access 2003

Microsoft Migrating to Access 2010 from Access 2003 In This Guide Microsoft Access 2010 looks very different, so we created this guide to help you minimize the learning curve. Read on to learn key parts of the new interface, discover free Access 2010 training,

More information

Introduction to MS WINDOWS XP

Introduction to MS WINDOWS XP Introduction to MS WINDOWS XP Mouse Desktop Windows Applications File handling Introduction to MS Windows XP 2 Table of Contents What is Windows XP?... 3 Windows within Windows... 3 The Desktop... 3 The

More information

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë 14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected

More information

Lesson 1 Introduction to Rapid Application Development using Visual Basic

Lesson 1 Introduction to Rapid Application Development using Visual Basic Lesson 1 Introduction to Rapid Application Development using Visual Basic RAD (Rapid Application Development) refers to a development life cycle designed to give much faster development and higher-quality

More information

Creating Tables ACCESS. Normalisation Techniques

Creating Tables ACCESS. Normalisation Techniques Creating Tables ACCESS Normalisation Techniques Microsoft ACCESS Creating a Table INTRODUCTION A database is a collection of data or information. Access for Windows allow files to be created, each file

More information

EXCEL VBA ( MACRO PROGRAMMING ) LEVEL 1 21-22 SEPTEMBER 2015 9.00AM-5.00PM MENARA PJ@AMCORP PETALING JAYA

EXCEL VBA ( MACRO PROGRAMMING ) LEVEL 1 21-22 SEPTEMBER 2015 9.00AM-5.00PM MENARA PJ@AMCORP PETALING JAYA EXCEL VBA ( MACRO PROGRAMMING ) LEVEL 1 21-22 SEPTEMBER 2015 9.00AM-5.00PM MENARA PJ@AMCORP PETALING JAYA What is a Macro? While VBA VBA, which stands for Visual Basic for Applications, is a programming

More information

Conditionals: (Coding with Cards)

Conditionals: (Coding with Cards) 10 LESSON NAME: Conditionals: (Coding with Cards) Lesson time: 45 60 Minutes : Prep time: 2 Minutes Main Goal: This lesson will introduce conditionals, especially as they pertain to loops and if statements.

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Mail Merge Tutorial (for Word 2003-2007) By Allison King Spring 2007 (updated Fall 2007)

Mail Merge Tutorial (for Word 2003-2007) By Allison King Spring 2007 (updated Fall 2007) Mail Merge Tutorial (for Word 2003-2007) By Allison King Spring 2007 (updated Fall 2007) What is mail merge? You've probably heard it mentioned around the office or at an interview (especially for a temp

More information

Finance Reporting. Millennium FAST. User Guide Version 4.0. Memorial University of Newfoundland. September 2013

Finance Reporting. Millennium FAST. User Guide Version 4.0. Memorial University of Newfoundland. September 2013 Millennium FAST Finance Reporting Memorial University of Newfoundland September 2013 User Guide Version 4.0 FAST Finance User Guide Page i Contents Introducing FAST Finance Reporting 4.0... 2 What is FAST

More information

Microsoft Query, the helper application included with Microsoft Office, allows

Microsoft Query, the helper application included with Microsoft Office, allows 3 RETRIEVING ISERIES DATA WITH MICROSOFT QUERY Microsoft Query, the helper application included with Microsoft Office, allows Office applications such as Word and Excel to read data from ODBC data sources.

More information

OCR LEVEL 2 CAMBRIDGE TECHNICAL

OCR LEVEL 2 CAMBRIDGE TECHNICAL Cambridge TECHNICALS OCR LEVEL 2 CAMBRIDGE TECHNICAL CERTIFICATE/DIPLOMA IN IT WEBSITE DEVELOPMENT A/601/3245 LEVEL 2 UNIT 9 GUIDED LEARNING HOURS: 60 UNIT CREDIT VALUE: 10 WEBSITE DEVELOPMENT A/601/3245

More information

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first Operating Systems Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first JavaScript interpreter Web browser menu / icon / dock??? login??? CPU,

More information

Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved.

Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved. Evaluator s Guide PC-Duo Enterprise HelpDesk v5.0 Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved. All third-party trademarks are the property of their respective owners.

More information