Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Comp 107cep iii,iv,v
1. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
COMP 107
FUNDAMENTAL COMPUTER PRINCIPLE
&
PROGRAMMING
By
Chapter III
D.Balaganesh
D.Balaganesh LINCOLN UNIVERSITY COLLGE
1
2. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
SDLC Model
A framework that describes the activities
performed at each stage of a software
development project.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
2
3. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Waterfall Model
Requirements – defines needed
information, function, behavior,
performance and interfaces.
Design – data structures, software
architecture, interface
representations, algorithmic
details.
Implementation – source code,
database, user documentation,
testing.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
3
5. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Waterfall Model
Test – check if all code modules
work together and if the system as
a whole behaves as per the
specifications.
Installation – deployment of
system, user-training.
Maintenance – bug fixes, added
functionality (an on-going
process).
D.Balaganesh LINCOLN UNIVERSITY COLLGE
5
6. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Waterfall Strengths
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
D.Balaganesh LINCOLN UNIVERSITY COLLGE
6
7. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Waterfall Deficiencies
All requirements must be known upfront
Deliverables created for each phase are considered
frozen – inhibits flexibility
Does not reflect problem-solving nature of software
development – iterations of phases
Integration is one big bang at the end
Little opportunity for customer to preview the system
(until it may be too late)
D.Balaganesh LINCOLN UNIVERSITY COLLGE
7
8. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
When to use the Waterfall Model
Requirements are very well known
When it is possible to produce a stable design
E.g. a new version of an existing product
E.g. porting an existing product to a new platform.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
8
9. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral SDLC Model
• Adds risk analysis, and
4gl RAD prototyping to
the waterfall model
• Each cycle involves the
same sequence of steps
as the waterfall process
model
D.Balaganesh LINCOLN UNIVERSITY COLLGE
9
10. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Quadrant
Determine objectives, alternatives and constraints
Objectives: functionality, performance, hardware/software
interface, critical success factors, etc.
Alternatives: build, reuse, buy, sub-contract, etc.
Constraints: cost, schedule, man-power, experience etc.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
10
11. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Quadrant
Evaluate alternatives, identify and resolve risks
Study alternatives relative to objectives and constraints
Identify risks (lack of experience, new technology, tight
schedules, etc.)
Resolve risks
D.Balaganesh LINCOLN UNIVERSITY COLLGE
11
12. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Quadrant
Develop next-level product
• Typical activites:
– Create a design
– Review design
– Develop code
– Inspect code
– Test product
D.Balaganesh LINCOLN UNIVERSITY COLLGE
12
13. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Quadrant
Plan next phase
Typical activities
Develop project plan
Develop a test plan
Develop an installation plan
D.Balaganesh LINCOLN UNIVERSITY COLLGE
13
14. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Model Strengths
• Provides early indication of insurmountable risks,
without much cost
• Users see the system early because of rapid
prototyping tools
• Critical high-risk functions are developed first
• Users can be closely tied to all lifecycle steps
• Early and frequent feedback from users
D.Balaganesh LINCOLN UNIVERSITY COLLGE
14
15. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Spiral Model Weaknesses
• Time spent for evaluating risks too large for small or
low-risk projects
• Time spent planning, resetting objectives, doing risk
analysis and prototyping may be excessive
• The model is complex
• Risk assessment expertise is required
• Spiral may continue indefinitely
• Developers must be reassigned during nondevelopment phase activities
D.Balaganesh LINCOLN UNIVERSITY COLLGE
15
16. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
When to use Spiral Model
•
•
•
•
•
•
•
When creation of a prototype is appropriate
When costs and risk evaluation is important
For medium to high-risk projects
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected
D.Balaganesh LINCOLN UNIVERSITY COLLGE
16
17. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Tailored SDLC Models
• No single model fits all projects
• If there is no suitable model for a particular project, pick
a model that comes close and modify it for your needs.
– If project should consider risk but complete spiral
model is too much – start with spiral and simplify it
– If project should be delivered in increments but there
are serious reliability issues – combine incremental
model with the V-shaped model
• Each team must pick or customize a SDLC model to fit its
project
D.Balaganesh LINCOLN UNIVERSITY COLLGE
17
18. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
The Five Generations of Computers
First Generation (1940-1956) Vacuum Tubes
The first computers used vacuum tubes for circuitry and magnetic drums
for memory, and were often enormous, taking up entire rooms. They
were very expensive to operate and in addition to using a great deal of
electricity, generated a lot of heat, which was often the cause of
malfunctions.
Second Generation (1956-1963) Transistors
First generation computers relied on machine language
Transistors replaced vacuum tubes and ushered in the second
generation of computers. The transistor was invented in 1947 but did
not see widespread use in computers until the late 1950s. The
transistor was far superior to the vacuum tube High-level
programming languages were also being developed at this time, such
as early versions of COBOL and FORTRAN.
Third Generation (1964-1971) Integrated Circuits
The development of the integrated circuit was the hallmark of the third
generation of computers. Transistors were miniaturized and placed on silicon
chips, called semiconductors, which drastically increased the speed and efficiency
of computers.
.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
18
19. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Fourth Generation (1971-Present) Microprocessors
The microprocessor brought the fourth generation of computers, as
thousands of integrated circuits were built onto a single silicon chip. What in
the first generation filled an entire room could now fit in the palm of the
hand. The Intel 4004 chip, developed in 1971, located all the components of
the computer—from the central processing unit and memory to input/output
controls—on a single chip.
In 1981 IBM introduced its first computer for the home user, and in 1984
Apple introduced the Macintosh.
Fifth Generation (Present and Beyond) Artificial Intelligence
Fifth generation computing devices, based on artificial intelligence,
are still in development, though there are some applications, such as
voice recognition, that are being used today. The use of parallel
processing and superconductors is helping to make artificial
intelligence a reality.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
19
20. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
OPERATING SYSTEM OVERVIEW
WHAT IS AN OPERATING SYSTEM?
•
An interface between users and hardware - an environment "architecture”
•
Allows convenient usage; hides the tedious stuff
•
Allows efficient usage; parallel activity, avoids wasted cycles
•
Provides information protection
•
Gives each user a slice of the resources
•
Acts as a control program.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
20
21. Subject Name
Code
The
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
OPERATING SYSTEM
OVERVIEW
Credit Hours
Layers Of A
System
Humans
Program Interface
User Programs
O.S. Interface
O.S.
Hardware Interface/
Privileged Instructions
Disk/Tape/Memory
D.Balaganesh LINCOLN UNIVERSITY COLLGE
21
22. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
OPERATING SYSTEM
OVERVIEW
Credit Hours
Components
A mechanism for scheduling jobs or processes. Scheduling can be as simple as running
the next process, or it can use relatively complex rules to pick a running process.
A method for simultaneous CPU execution and IO handling. Processing is going on even
as IO is occurring in preparation for future CPU work.
Off Line Processing; not only are IO and CPU happening concurrently, but some offboard processing is occurring with the IO.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
22
23. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
OPERATING SYSTEM
OVERVIEW
Credit Hours
Characteristics
Other Characteristics include:
•
Time Sharing - multiprogramming environment that's also interactive.
•
Multiprocessing - Tightly coupled systems that communicate via shared memory. Used for scientific
applications. Used for speed improvement by putting together a number of off-the-shelf processors.
•
Distributed Systems - Loosely coupled systems that communicate via message passing. Advantages include
resource sharing, speed up, reliability, communication.
•
Real Time Systems - Rapid response time is main characteristic. Used in control of applications where rapid
response to a stimulus is essential.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
23
24. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
OPERATING SYSTEM
OVERVIEW
Credit Hours
Characteristics
Interrupts:
•
•
•
•
•
Interrupt transfers control to the interrupt service routine generally, through the
interrupt vector, which contains the addresses of all the service routines.
Interrupt architecture must save the address of the interrupted instruction.
Incoming interrupts are disabled while another interrupt is being processed to
prevent a lost interrupt.
A trap is a software-generated interrupt caused either by an error or a user request.
An operating system is interrupt driven.
D.Balaganesh LINCOLN UNIVERSITY COLLGE
24
25. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Credit Hours
Storage
Hierarchy
OPERATING SYSTEM
OVERVIEW
Very fast storage is very expensive. So the Operating System manages a hierarchy of storage devices
in order to make the best use of resources. In fact, considerable effort goes into this support.
Fast and Expensive
Slow an Cheap
D.Balaganesh LINCOLN UNIVERSITY COLLGE
25
26. Subject Name
Code
FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING
Caching:
OPERATING SYSTEM
OVERVIEW
Credit Hours
Storage
Hierarchy
•Important principle, performed at many levels in a computer (in hardware, operating
system, software)
•Information in use copied from slower to faster storage temporarily
•Faster storage (cache) checked first to determine if information is there
– If it is, information used directly from the cache (fast)
– If not, data copied to cache and used there
•Cache smaller than storage being cached
– Cache management important design problem
– Cache size and replacement policy
D.Balaganesh LINCOLN UNIVERSITY COLLGE
26