Presentation is loading. Please wait.

Presentation is loading. Please wait.

16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.

Similar presentations


Presentation on theme: "16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing."— Presentation transcript:

1 16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing Unit (CPU): a circuit that can retrieve and execute digitally-encoded instructions. Central Processing Unit (CPU): a circuit that can retrieve and execute digitally-encoded instructions. Main Memory: volatile circuits that store: Main Memory: volatile circuits that store: The operating system The programs being executed The data used by the programs or operating system Input/Output Devices: Input/Output Devices: Secondary Storage: permanent & removable disk drives, tape drives, compact disk drives, pen drives Input: keyboards, mice Output: screens, printers Network Devices System bus: the circuit that connects all the above parts together. System bus: the circuit that connects all the above parts together. A computer program consists of operations to be performed, the data these operations will use, and input/output statements. A computer program consists of operations to be performed, the data these operations will use, and input/output statements.

2 26/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is computer programming? Computer programming is the process of developing software. Software is the collection of files containing the digitally-encoded instructions for the CPU, plus any other data files needed for the software to execute. An algorithm is a set of instructions to solve a problem. It should be specific enough to encode in a programming language. Algorithms are the core of a computer program.

3 36/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Waterfall Model A model for developing software It contains the following basic steps, and associated documentation: Analysis Analysis System Design System Design Unit Design Unit Design Unit Coding Unit Coding Unit Testing Unit Testing System Testing System Testing Integration Integration Maintenance Maintenance Retirement Retirement This course concentrates on the unit design/coding/testing steps.

4 46/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Spiral Model A newer model of software development Similar to the waterfall model The analysis, design, coding, and testing steps are used. The analysis, design, coding, and testing steps are used. But they are repeated over many times, with only a small amount of progress accomplished at each iteration. But they are repeated over many times, with only a small amount of progress accomplished at each iteration. Advantages: Advantages: The entire system does not need to be understood at one time. If an error is introduced during development, it will be discovered and corrected before much more work is completed and potentially wasted.

5 56/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Maintenance This is the phase during which the system is actually being used. It consists of the analysis through system testing steps being repeated many times, just on a smaller scale. This is because changes to the software system will be required: As the organization the software serves changes or grows, there will be new requirements for the software, which will need to be implemented. As the organization the software serves changes or grows, there will be new requirements for the software, which will need to be implemented. No software system is perfect, and errors (bugs) will need to be fixed. No software system is perfect, and errors (bugs) will need to be fixed.

6 66/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Programming Languages Software can be developed directly in machine language, but it is very, very, very difficult and slow. Software is usually developed by writing instructions in symbolic code and translating that code into machine language. Machine language is also called a low-level language, and symbolic languages are also called high-level languages because they are closer to natural human languages. There are many different programming languages depending on the purpose of the language, the architecture it will execute on, and the people developing the language.

7 76/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Development Tools Editors: similar to a word processor, it is used to create symbolic code. Compilers: translate symbolic code to object code. Linkers: combine object code and libraries into executable files. Libraries are collections of useful functions. Libraries may come from the language compiler, the operating system, or from the application. Debuggers: allow a running executable to be observed, to assist in removing bugs. Integrated Development Environments: A GUI system that combines the above tools, making development easier and quicker.

8 86/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Errors There are several types of errors that are encountered during software development: Syntax errors: when a source code file is compiled, the compiler does not understand the code because it is not logically formatted correctly for the language. Syntax errors: when a source code file is compiled, the compiler does not understand the code because it is not logically formatted correctly for the language. Logic errors: the source code can be translated to machine language, but the source code did not implement a correct algorithm to solve the problem, so the program does not execute correctly. Logic errors: the source code can be translated to machine language, but the source code did not implement a correct algorithm to solve the problem, so the program does not execute correctly. Run-Time errors: (usually a logic error) sometimes when the program is executed, it encounters a situation where it cannot continue execution, and the program stops with a system error message. Examples: division by zero, square root of a negative number, over/underflow, file not found, I/O error. Run-Time errors: (usually a logic error) sometimes when the program is executed, it encounters a situation where it cannot continue execution, and the program stops with a system error message. Examples: division by zero, square root of a negative number, over/underflow, file not found, I/O error.

9 96/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Operating System The software that controls the computer system. It is resident in main memory all the time. It provides: The user interface (either a command line or a GUI). This is how the computer system user directs the computer to execute application programs or system utilities. The user interface (either a command line or a GUI). This is how the computer system user directs the computer to execute application programs or system utilities. A file system. A file system. Access to input and output devices. Access to input and output devices. A memory system. A memory system. Security, networking, and other services. Security, networking, and other services.

10 106/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Standard Input/Output A simple model for doing computer system input or output. It has been around since early computer systems. It consists of only: Keyboard: for input. Keyboard: for input. Screen: for output. Screen: for output. It does not look pretty, but programs using it are easy to develop. A graphical user interface (GUI) looks much nicer, but the program is more difficult to develop.

11 116/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development Textbook Reading Sections 1.2 – 1.6 cover these same concepts. Reviewing them may help clarify the material.


Download ppt "16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing."

Similar presentations


Ads by Google