Download presentation
Presentation is loading. Please wait.
Published byMartín de Vieira Cabreira Modified over 5 years ago
1
Chapter 10: Behind the Scenes Software Programming
Anne-Marie Lawrence
2
The system development Life Cycle
There are six different steps that constitute the SLDC Problem and opportunity identification Analysis Design Development Testing and installation Maintenance and evaluation Program development life cycle (PDLC) Describing the problem Making a plan Coding Debugging Testing and documentation Problem and opportunity identification: corporations are always attempting to break into new markets, develop new customers, or launch new products. And sometimes their systems' development is driven by their desire to serve its existing customers or to respond to problems with their current system Analysis: in this phase, analysts explore the problem and develop a program specification Design: the design phase generates a detailed plan for programmers to follow Development: during this phase, is where the actual programming takes place Testing and installation: testing the program ensures that it works properly. It's then installed for official use Maintenance and evaluation: in this phase, program performance is monitored to determine whether its meeting the needs of end users. Additional enhancements are evaluated so that appropriate modifications can be made. Anne-Marie Lawrence
3
DESCRIBING THE PROBLEM: THE PROBLEM STATEMENT
Why is a problem statement necessary? What kind of problems can computer programs solve and not solve? How do programmers create problem statements? How do programmers handle bad inputs? Does the testing plan cover every possible use of the program? Is there a standard format for a problem statement? The problem statement is necessary because the problem statement is the STARTING POINT of the programming work. Computer programs can solve tasks that are repetitive, work with electronic information and follow a series of clear steps. However, computer programs can’t solve problems that require intuition, and programs do not have the ability be spontaneously creative. Programmers create problem statements by interacting with users to get descriptions of their data, their information and their method. Programmers handle bad inputs by a process called “error handling”. The testing plan can’t list every input the program could every encounter. All problem statements include the same basic components; however, most companies have their own format for documenting a problems statements. Anne-Marie Lawrence
4
MAKING A PLAN: ALGORITHM DEVELOPMENT
How does the process start? Do algorithms appear only in programming? What are the limitations of algorithms? How do programmers represent an algorithm? The process starts after programmers understand exactly what the program must do and have created the final problem statement. No, algorithms appear in your everyday life as well! Algorithms are limited when unknown factors come into play such as unexpected stock market crash or catastrophe. They work well when the patterns are in place. Programmers represent an algorithm by using several visual tools at their disposal to help them document the decision points and flow of their algorithm. Anne-Marie Lawrence
5
DEVELOPING THE ALGORITHM: DECISION MAKING AND DESIGN
How do programmers handle complex algorithms? What kinds of decision points are there? How do programmers create algorithms for specific tasks? Top-down design Object-oriented analysis Programmers handle complex algorithms by examining the decisions points, which are places where the program must choose from a list of actions based on the value of a certain input. There are two main decision points that change the flow of an algorithm; they are binary and loops. Programmers create algorithms for specific tasks by using several different methodologies that have been development to support their work, including top-down design and object-oriented analysis. Anne-Marie Lawrence
6
CODING: SPEAKING THE LANGUAGE OF THE COMPUTER
How is a person’s idea translated into CPU instructions? How do programmers move from algorithm to code? What kinds programming language are there? How have programming languages evolved? What happens first when you write a program? Are there ways in which programmers can make their code more useful for the future? A person’s idea is translated into CPU instructions by the act of coding. Programmers move from algorithm to code by identifying the key pieces of information the algorithm uses to make decisions. There are different programming and they classified into several major groupings sometimes called generations. Programming languages have evolved first generation language through the fifth generation language; there are five major categories of languages. When you first write a program, all the inputs program receives and all of the outputs the program produces need to be stored in the computer’s RAM while the program is running. Programmers can make their code more useful for the future by designing a general code that can easily be adaptable to new settings. Anne-Marie Lawrence
7
COMPILATION How does a programmer move from code in a programming language to the 1s and 0s the CPU can understand? Does every programming language have a compiler? A programmer moves from code in a programming language to the 1s and 0s the CPU can understand is through a process called compilation, by which the programmer converts code into machine language. No, every programming language does not have a compiler; rather, some use an “interpreter”. Anne-Marie Lawrence
8
CODING TOOLS: INTEGRATED DEVELOPMENT ENVIRONMENT
What tools make the coding process easier? How does the IDE help programmers when they are typing the code? How does the IDE help programmers after code editing is finished? Tools that make the coding process easier are the integrated development environment or the IDE; it’s a development tool that helps programmers write and test their programs. An IDE includes an “editor” which is a special tool that helps programmers as they enter the code. The IDE helps programmers after code editing is finished with the use a button that the programmer clicks to begin the compilation process. Anne-Marie Lawrence
9
DEBUGGING: GETTING RID OF ERRORS
What is debugging? How do programmers know the program has solved the problem? If the testing plan reveals errors, why does the program compile? Are there tools that help programmers find logic errors? Debugging is a process to determine that the program behaves the way the programmer intends. Programmers use a testing plan to determine that every part of the program works the way they intended. The compiler does not look for logic errors but rather will only look for syntax errors. It will still compile even though there are logic errors. Most IDE’s include a tool called a debugger that helps programmers dissect a program as it runs. Anne-Marie Lawrence
10
TESTING AND DOCUMENTATION: FINISHING THE PROJECT
What is the first round of testing for a program? What other testing does the code undergo? What happens if problems are found after beta testing? After testing, is the project finished? The first round of testing is called internal testing. Internal testing is usually done by the group that developed the program. Before the program is released, it often is released in a cheaper, beta version. This allows the programmers to continue to debug and fix problems. The manufacturer will make changes before the final release. The work of documentation is still ahead. Technical writers release program documentation for training and educational purposes. Anne-Marie Lawrence
11
SELECTING THE RIGHT LANGUAGE
How do programmers know which language to select for a specific project? A programming team considers several factors before selecting the language it will use for a specific project. Anne-Marie Lawrence
12
VISUAL BASIC Why do programmers choose visual basic?
How does the Microsoft.NET framework help programmers? Programmers often like to build a prototype or smaller program of the larger program they wish to create. Microsoft.NET framework is software development environment designed to let web sites “talk” to each other easily Anne-Marie Lawrence
13
C AND C++ What languages do programmers use if the program requires a lot of “number crunching”. Why was the C language developed? Are C and C++ natural choices when I am looking to learn my first language? A windows application that demands raw processing power to execute difficult, repetitive, numerical calculations is most often a candidate for C/ C++. The predecessor of C++, C, was originally developed for system programmers. Neither C nor C++ was intended as a teaching language. They can be difficult to learn for beginners. Anne-Marie Lawrence
14
JAVA AND C# What language do programmers use for applications that need to collect information from networked computers? Can a Java application work on any type of computer? Programmers use Java and C#. Java was introduced by Sun Microsystems and Microsoft later introduced a competing platform call C#. An attractive feature of Java is that it’s architecture neutral. This means that Java code only needs to be compiled once. It can then be used on many CPUs. Anne-Marie Lawrence
15
OBJECTIVE C AND SWIFT What’s the most popular language for writing OSX applications? Is there a favorite IDE for objective C? Objective C is the most popular choice for programming applications for running OSX. The favorite IDE for Objective C is OSX because it ships with a tool named XCode. Anne-Marie Lawrence
16
Web Applications HTML Java Script and VB Script ASP, JSP, PHP
AJAX, XML, JSON HTML (hypertext markup language) is the most basic formatting language for web applications. Are programming languages that programmers use to make complex web pages Programmes use these to build websites with interactive capabilities Programmers use these to allow a web application to to smoothly update and communicate with other computers. Anne-Marie Lawrence
17
MOBILE APPLICATIONS How do programmers use applications for mobile devices? What development tools are used for creating mobile apps on Apple’s IOS platform? Are there different tools for building apps for android devices? Mobile devices use special languages and tools for building apps for phones and tablets. Programmers need to account for the smaller screen size as well as certain features like GPS that are part of the operating system. Programmers typically build a prototype. The use tools such as Proto.io or interface builder that help streamline the process. The android software development kit is required for building apps for android devices. Anne-Marie Lawrence
18
answers Problem/opportunity identification, analysis, design, development, testing and installation, maintenance and evaluation Programming is the process of translating a task into a series of commands that a computer will use to perform that task Describing the problem, making a plan, coding, debugging, testing & documentation Six popular programming languages: Javascript: This is used to make web pages more visual appealing and interactive. ASP: This is used to build websites with interactive capabilities. AJAX: This is used to create web application that smoothly updates and communicates with other computers. Proto.io: This is used to work with Apple’s IOS platform. JSON: This is used for exchanging information between a server computer process and a client. XML: This is enables designers to define their own data-based tags. Anne-Marie Lawrence
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.