Title: Computer Software
1Computer Software
2How Programs Direct the CPU
- the typical CPU is designed to perform basic
arithmetic, logic, and data transfer operations - a program is a list of instructions that direct
the processing of the computer - programs are stored in memory and executed
step-by-step by the CPU
3Machine Language
Machines Native Language
Machine Dependent
10101010100010100101011010110110101101010100111110
10101010011001110111110110111110111001100001011111
10111111101110101110101111011011011101001101
No Documentation
Unreadable by Normal Humans
4First GenerationAssembly Instruction Set
- assembly languages are symbolic versions of the
native machine code
5First GenerationAn Assembly Program
6Programming Languages
- ASSEMBLY LANGUAGES
- 11 representations of host processor machine
code - symbolic representations
- not portable
- HIGH LEVEL LANGUAGES
- 1many representations of the machine code
- more abstract
- portable (with translation programs)
7Second GenerationHigh Level
- FORTRAN
- Do 100 I 1, 10
- PRINT , I
- 100 CONTINUE
- COBOL
- 100-PERFORM 200-PRINT-NUMBERS
- UNTIL COUNT IS EQUAL 10
- 200-PRINT-NUMBERS.
- ADD 1 TO COUNT
- MOVE COUNT TO DETAIL-LINE
- WRITE DETAIL-LINE
- AFTER ADVANCING 1 LINES
8Second Generation
- BASIC
- 100 For I 1 to 10
- 110 PRINT I
- 120 NEXT I
- PASCAL
- FOR I 1 TO 10 DO
- WRITE(I2)
- C
- For ( i1 i lt 11 i)
- printf (d, i)
9Third Generation
- SQL (Structured Query Language)
- SELECT first,last, address ,city,state,zip
- FROM Customers
- WHERE city Asheville
- ORDER BY last,first
10Fourth GenerationNatural Language
- In MS Help type
- Show me any help on how to hide this obnoxious
office assistant below
RESULTS Display tips and messages through
Office Assistant Troubleshoot online meetings
Hide Office Assistant Troubleshoot Office
Assistant
11Programming Languages
Flash / XML
- Selecting the right language
- Space available
- Speed required
- Organizational resources available
- Type of target application
ASP / JSP
JavaScript VBScript
Visual Basic
HTML
C / C
Java
12Software
- How are programs created?
13System Development Life Cycle
System Development Life Cycle
Problem/ Opportunity Identification
Analysis
Design
Development Documentation
Testing Installation
Maintenance Evaluation
14Program Development Cycle
- ANALYSIS SPECIFICATION
- understanding the process or problem
- deciding on requirements and features
15Program Development Cycle
- DESIGN
- devising a plan
- dividing tasks into program components
- writing algorithms for program components
16Flowchart and Pseudocode
Flowchart
Pseudocode
Bold terms show actions that are common in
programming, such as reading data, making
decisions, printing, and so on.
1. Ask the user how many hours they worked
today 2. If the number of hours worked lt 8,
compute total pay without overtime otherwise,
compute total pay with overtime pay 3. Print
total pay
Underlined words are information items that
appear repeatedly in the algorithm.
17Program Development Cycle
- CODING
- employing symbolic programming languages as an
aid - translating algorithms into executable programs
18Program Development Cycle
- TESTING CORRECTION
- assembling/testing program components
- testing the system
- maintenance revising the system to meet new
specifications
19Testing Software
- In house completed version is called
- Alpha version
- A complete version sent out to users to test
- Beta Version
20Programming Language
- a program is a list of statements in a
programming language - programs are symbolic representations of
computational processes - programs are translated to machine code for
execution on a given processor
21Programming Languages
- Interpreter
- Translates each line of code, each time it is
run. - Example
- Loan.bas
- Compiler
- Translates source code into machine exeutable
language. - Examples
- Powerpnt.cc
- Powerpnt.exe
22Software Complexity
- tasks that software systems model are often
complicated and not well understood - scale of software systems is often too great for
a single person to comprehend and manage - software systems components interact in
unpredictable ways
23Risks of Software
- Mariner I Atlas booster fails (18 million)
- Mariner 8 probe lost
- Therac X-ray system kills two and injures others
- Over 1,000 British cancer patients are underdosed
in radiation therapy - Airbus 320 crashes due to control system problems
- Audi 5000 recalled after 250 accidents blamed on
computer-controlled system malfunction - Mars Probe
24Who is at Risk
- Analyst?
- Designer ?
- Coder ?
- Tester ?
- Software Company ?
- User ?
- Consumer ?
UCITA Uniform Computer Information Transactions
Act