140 likes | 292 Views
The Software Construction Process. Computer System Components. Internet. Primary Storage (RAM). Network Interface Devices (Modem, Network Card). 01001101 10110101 11011001 10110100 00101011 01011001 10101010 01011011 10100110 01001011. Output Devices (Monitor, Printer).
E N D
Computer System Components Internet Primary Storage (RAM) Network Interface Devices (Modem, Network Card) 01001101 10110101 11011001 10110100 00101011 01011001 10101010 01011011 10100110 01001011 Output Devices (Monitor, Printer) Input Devices (Mouse, Keyboard) Communications Bus Secondary Storage (Hard Drive, DVD-ROM Drive) Central Processing Unit (Microprocessor)
A Software Requirement Develop a program that finds and prints all integers between 1 and 10,000 that are evenly divisible by 7, and whose last digit on the right is a 4 or 6.
The Requirement and the Design S Set number to 1 Develop a program that finds and prints all numbers between 1 and 10,000 that are evenly divisible by 7, and whose last digit on the right is a 4 or 6. No Number less than or equal to 10,000 Yes No Number divisible by 7 Yes No 4 or 6 in ones column Yes Print number Increment number by 1 F
Boards, Tubes, and Patch Cables Application Program 01001101 10110101 11011001 10110100 00101011 01011001 10101010 01011011 10100110 01001011
Setting Switches Application Program 01001101 10110101 11011001 10110100 00101011 01011001 10101010 01011011 10100110 01001011
I/O Devices and Operating System 01010101 10101010 10101110 01001011 Operating System 01001101 10110101 11011001 10110100 00101011 01011001 10101010 01011011 10100110 01001011 Application Program
Assembly Language, Monitor, and Keyboard 01010101 10101010 10101110 01001011 Operating System 10111010 10101010 01011011 Assembler 01001101 10110101 11011001 10110100 00101011 01011001 LOOP: LOAD A, R1 LOAD 7, R2 TEST R1, R2 BRZ LOOP Application Program
Compiler (Syntax and Semantics) 01010101 10101010 10101010 Operating System #include <stdio.h> int main (void) { int answer; float value; scanf(“%d”, &value);answer = value / 3; printf(“%d\n”,answer); return 0; } 10111010 10101110 01001011 Assembler 10101011 00101010 01101011 Compiler 11011001 10110100 00101011 01011001 Application Program
Algorithm in C Source Code #include <stdio.h> int main(void){ int number = 1; while (number <= 10000) {if ( (number % 7) == 0 ) {if ( ((number % 10) == 4) || ((number % 10) == 6) ) { printf("%d\n", number); } // End if} // End ifnumber++; // Increment number by one} // End while return 0;} // End main
From Requirements to Running Program Design Fundamentals Software Requirements Design Method Coding Standards Software Design Text Editor Header Files program.c or program.c (Source Code) Compiler (and Preprocessor) Function Libraries program.o (Object Code) Linker Input/Output Facilities program.exe (Executable Code) Operating System
Requirements 1 DESIGN COMPILE 2 3 Software Construction Process 8 4 EDIT and SAVE A BASELINE LINK E B D C 7 5 TEST and SQA RUN 6 Note: See next slide for meanings of A - E
Categories of Errors • A: Compiler errors – doesn’t follow preprocessor or C syntax • B: Linker errors – functions declared but not defined; no main function; function library not found • C: Run-time errors – segmentation fault; out-of-range errors; wrong data types • D: Logic errors – wrong use of control statements; errors in function arguments; algorithm coded incorrectly • E: Design errors – doesn’t follow design or satisfy requirements; design has flaws