| Home |
|
Chapter 10 |
|
1. What is a system development life cycle, and what are the phases in the cycle? An information system includes data, people, procedures, hardware, and software. Teams of individuals are required to develop systems, and an organized process (or set of steps) needs to be followed to ensure that development proceeds in an orderly fashion. This set of steps is usually referred to as the system development life cycle (SDLC). There are six steps in the SDLC. First, a problem or opportunity is identified. Next, the problem is analyzed and a program specification document is created to outline the project objectives. Next, a detailed plan for programmers to follow is designed using flowcharts and data-flow diagrams, from which the development and documentation of the program occurs. The program is then tested to ensure it works properly and installed so that it can be used. Maintenance and evaluation continues to ensure a working product.
2. What is the life cycle of a program? Each programming project follows a number of stages from conception to final deployment. The problem statement identifies the task to be computerized and describes how the software program will behave. An algorithm specifies the sequential steps that describe what the program must do to complete the work and then is translated into very structured programming code. The code then goes through a process of debugging, in which the programmers find and repair any errors in the code, and further testing, both by the programming team and by the people who will use the program. The results of the entire project are documented for the users and the development team. Finally, users are trained so that they can use the program efficiently.
3. What role does a problem statement play in programming? The problem statement is a very clear description of what tasks the computer program must accomplish and how the program will execute these tasks and respond to unusual situations. It describes the input data that users will have at the start of the job, the output that the program will produce, and the exact processing that converts these inputs to outputs. In addition, potential errors and plans to address these errors are identified.
4. How do programmers create algorithms? For simple problems, programmers create an algorithm by converting the problem statement into a list of steps (or actions) the program will take. For more complex problems, the programmer must identify where decision points occur in the list of steps. Some decisions are yes/no (binary), whereas others create a repeating action (loop). Algorithms are documented in the form of a flowchart or in pseudocode. Programmers either use a top-down or object-oriented analysis to produce the algorithm.
5. How do programmers move from algorithm to code, and what categories of language might they code in? Computer code uses special words and strict rules to enable programmers to control the CPU without having to know all of the hardware details of the CPU. Programming languages are classified in several major groupings, sometimes referred to as generations, with the first generation being machine language, the binary code of 1s and 0s that the computer understands. Assembly language is the next generation that uses short, English-like commands that speak directly to the CPU and gives the programmer very direct control of hardware resources. Each successive generation in language development relieves programmers of the burden of keeping track of what the hardware requires and becomes more closely matched to how humans think about problems.
6. How does a programmer move from code in a programming language to the 1s and 0s the CPU can understand? Compilation is the process by which code is converted into machine language, the language the CPU can understand. The compiler is the program that understands both the syntax of the programming language and the exact structure of the CPU and its machine language. It can translate the instructions programmers have written in the higher-level language into machine language, the binary patterns that will execute commands on the CPU. Each programming language has its own compiler with separate versions that are required to compile code that will run on each different type of processor.
7. How is a program tested? If programmers make errors in the algorithm or in translating the algorithm to code, problems will occur. Programmers debug the program by running it constantly to find errors and to make sure the program behaves in the way it should. Once debugging has detected all the code errors, users, both within the company and outside the company, test the program in every way they can imagine— both as it was intended to be used and in ways only new users may think up. Before its commercial release, software is often provided at a reduced cost or no cost in a beta version to certain test sites or to interested users for a last round of testing.
8. What steps are involved in completing the program? Once testing is completed, technical writers create internal documentation for the program and the user manuals that will be distributed to users of the program. User training begins once the software is distributed to teach the user community how to use the software efficiently.
9. How do programmers select the right programming language for a specific task? A programming team reviews several considerations before selecting the language. Certain languages are best used with certain problems. The target language should be well matched to the amount of space available for the final program. Some projects require the selection of a language that can produce code that executes in the fastest possible time. Selecting a language with which the programmers are familiar is also helpful.
10. What are the most popular Windows and Web applications? Visual Basic, C, C++, and Java are among those languages that enable programmers to easily include Windows control features such as scroll bars, title bars, text boxes, buttons, and expanding/collapsing menus. To develop Web applications, programmers use HTML/XHTML for basic Web design. For more complex Web designs, scripting programs such as JavaScript and VBScript are popular programs. Web page animations are done with ASP, JSP, Flash, and XML.
|