Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
2 views55 pages

Lecture 4.1

The document provides an overview of operating systems, detailing their functions, types, and the role they play in managing computer resources and applications. It also discusses various software development life cycle (SDLC) models, including Waterfall, V-Shaped, and Agile methodologies, highlighting their strengths and weaknesses. Additionally, it covers concepts like memory management, user interfaces, and the importance of prototypes in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views55 pages

Lecture 4.1

The document provides an overview of operating systems, detailing their functions, types, and the role they play in managing computer resources and applications. It also discusses various software development life cycle (SDLC) models, including Waterfall, V-Shaped, and Agile methodologies, highlighting their strengths and weaknesses. Additionally, it covers concepts like memory management, user interfaces, and the importance of prototypes in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

DBT 1101 Fundamentals of Information

Technology

Strathmore
UNIVERSITY

Mr. Malongo Newton A.


[email protected]
Tel.: +254 720 373 069
29th May, 2025
6A-1
Operating
Systems
and Windows
What is an Operating
System?
• The most important
program that runs on your
computer. It manages all
other programs on the
machine.

• Every PC has to have one to


run other applications or
programs. It’s the first thing
“loaded”.
Operating System
•It performs basic tasks,
such as:

• Recognizing input from


the keyboard or mouse,

• Sending output to the


monitor,
Operating System
• Keeping track of
files and directories
on the disk, and

• Controlling
peripheral devices
such as disk drives
and printers.
Is There More Than One Type
of OS?
• Generally, there are four types,
based on the type of computer
they control and the sort of
applications they support.

1. Single-user, single task

This type manages the computer so


that one user can effectively do one
thing at a time.
Types of Operating Systems
2. Multi-user, multi-task

Allows two or more users to run


programs at the same time. Some
operating systems permit hundreds or
even thousands of concurrent users.
Types of Operating
Systems
3. Real Time Operating Systems

RTOS are used to control machinery,


scientific instruments, and industrial
systems.

There is typically very little user- interface


capability.

Resources are managed so that a


particular operation executes precisely
the same every time.
Types of Operating Systems
4. Single-user, Multi-tasking

This is the type of operating system most


desktops and laptops use today.
Microsoft’s Windows and Apple’s MacOS are
both examples of operating systems that will let
a single user have several programs in
operation at the same time.
OS’s Manage Applications
• Operating systems provide
a software platform on top
of which other “application”
programs can run.

• The application programs


must be written to run on a
particular operating system.

• So, your choice of


operating system determines
what application software you
can run.
Operating System Functions
• Besides managing hardware
and software resources on
the system, the OS must
manage resources and
memory.

• There are two broad


tasks to be accomplished.
OS - Memory Storage and
Management
1. Each process must have
enough memory in which
to execute, and

It can neither run into the


memory space of another
process,

Nor be run into by another


process.
OS - Memory Storage and
Management
• 1. The different types of memory in
the system must be used properly so
that each process can run most
effectively.
Cache Memory
• Cache - A section of a
computer's memory
which temporarily
retains recently
accessed data in order
to speed up repeated
access to the same data.

•It provides rapid access


without having to wait
for systems to load.
RAM Memory
•Random access
memory (RAM) is the
best known form of
computer memory.

• RAM is considered
"random access" because
you can access any
memory cell directly if you
know the row and column
that intersect at that cell.
RAM Memory
• The more RAM your computer has,
the faster programs can function.
The two main types are called
DRAM and SRAM. SRAM is faster
than DRAM, but, more expensive.

Remember, that if the power is turned off,


then all data left in RAM, that has not been
saved to the hard drive, is lost.
Virtual Memory
•Virtual Memory – a method of using
hard disk space to provide extra
memory. It simulates additional
RAM.

• In Windows, the amount of


virtual memory available, equals the
amount of free RAM plus the amount of
disk space allocated to the swap file.
Virtual Memory – Swap File

A swap file is an area of your hard disk that is


set aside for virtual memory. Swap files can be
either temporary or permanent.
OS - Wake up call

• When you turn on the power to


a PC, the first program that runs
is a set of instructions kept in
the computer's read-only
memory (ROM).
OS - Wake up Call
•It checks to make sure
everything is
functioning properly.

•It checks the CPU, memory,


and basic input-output
systems (BIOS) for errors.
OS – Wake up Call
•Once successful, the
software will begin to
activate the computer's
disk drives.

•It then finds the first


piece of the operating
system: the bootstrap
loader.
OS - Booting the PC

• The bootstrap loader is a small


program that has a single
function: It loads the operating
system into memory and allows
it to begin operation.
OS - Booting the PC
• The bootstrap loader sets up the
small driver programs that
interface with and control the
various hardware.

•It sets up the divisions of


• memory
• user information, and
• applications.
OS - Booting the PC
• It establishes the data
structures needed to
communicate within
and between the
subsystems and
applications of the
computer.

• Then it turns control of


the computer over to
the operating system.
How Do I Tell The OS What I Want To
Do?
• You must continue to give the
operating system commands that are
accepted and executed.
• The first command was pushing the
“ON” button which started the “boot”
process.
Enter Commands
• Commands can be
entered several ways:
• Through a keyboard.

• Pointing or clicking
on an object with a
mouse.
(Graphical User Interface or GUI)

• Sending a command
from another program.
Windows and Mac are GUI’s

• Microsoft Windows and Apple Macintosh


operating systems are “graphical user
interfaces” or GUI’s.

GUI is defined as: A picture used in place of


a word or words to issue commands.
GUI – Standards
• GUI interfaces have standards that
are usually the same or similar in all
systems and applications.

• Standards apply to:


• Pointers and pointing devices
• Icons, desktops, windows and menus
Windows - GUI
Pointers
• GUI uses pictures, symbols, or icons rather
than words to represent some object or
function. For example:
• A pointer or mouse pointer is a small arrow or other
symbol that moves on the screen as you move a
mouse.

• An I-Beam pointer is used by many


desktop publishing systems and word
processors to mark blocks of text and
move the insertion point.
GUI – Cursors /
Pointers
• The term
“cursor” typically
is used to show
where your typing
will appear.
Otherwise, the
term “pointer” is
the better choice.
Windows- GUI Icons
• Icon - A small picture that represents a
command, object, file, or window.

• Point and click with a mouse to execute a


command or convert the icon into a window.

• Icons are moveable around the display


screen, just like moving things around on
your desk.
Windows - GUI Menus
• Menu - is an on-screen list
of options for using a
program. It can also be a list
of categories with many
other menu options under it.
Menus can "pop up" or "pull
down."
GUI – Share Data
• Because the formats are well-defined,
different programs that run under a common
GUI can share data. This makes it possible,
for example, to copy a graph created by a
spreadsheet program into a document
created by a word processor.
Windows – System
Tray
• System Tray – shows you running
programs that were started
automatically by the operating
system, like anti-virus programs, the
clock and volume controls. These
programs are running in the
background.
Windows System
Programs
• Windows has a number of internal
programs as part of the operating system
that help keep you organized and your PC
healthy.

•Here are a few:


SDLC Model
A framework that describes the activities
performed at each stage of a software
development project.
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.
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)
• Works well when quality is more important
than cost or schedule
Waterfall Deficiencies

• All requirements must be known upfront


• Deliverables created for each phase are
considered frozen – inhibits flexibility
• Can give a false impression of progress
• 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)
When to use the Waterfall Model
• Requirements are very well known
• Product definition is stable
• Technology is understood
• New version of an existing product
• Porting an existing product to a new platform.
V-Shaped SDLC Model
• A variant of the Waterfall
that emphasizes the
verification and validation
of the product.
• Testing of the product is
planned in parallel with a
corresponding phase of
development
V-Shaped Steps
• Production, operation and
• Project and Requirements maintenance – provide for
Planning – allocate resources enhancement and corrections
• System and acceptance testing –
• Product Requirements and check the entire software system
Specification Analysis – complete in its environment
specification of the software
system
• Integration and Testing – check
• Architecture or High-Level Design that modules interconnect
– defines how software functions correctly
fulfill the design
• Unit testing – check that each
• Detailed Design – develop module acts as expected
algorithms for each architectural
component
• Coding – transform algorithms
into software
Structured Evolutionary Prototyping
Model
• Developers build a prototype during the
requirements phase
• Prototype is evaluated by end users
• Users give corrective feedback
• Developers further refine the prototype
• When the user is satisfied, the prototype
code is brought up to the standards
needed for a final product.
Structured Evolutionary Prototyping
Steps
• A preliminary project plan is developed
• An partial high-level paper model is created
• The model is source for a partial requirements
specification
• A prototype is built with basic and critical attributes
• The designer builds
– the database
– user interface
– algorithmic functions
• The designer demonstrates the prototype, the user
evaluates for problems and suggests improvements.
• This loop continues until the user is satisfied
Structured Evolutionary Prototyping
Strengths
• Customers can “see” the system requirements
as they are being gathered
• Developers learn from customers
• A more accurate end product
• Unexpected requirements accommodated
• Allows for flexible design and development
• Steady, visible signs of progress produced
• Interaction with the prototype stimulates
awareness of additional needed functionality
Rapid Application Model (RAD)
• Requirements planning phase (a workshop
utilizing structured discussion of business
problems)
• User description phase – automated tools
capture information from users
• Construction phase – productivity tools, such
as code generators, screen generators, etc.
inside a time-box. (“Do until done”)
• Cutover phase -- installation of the system,
user acceptance testing and user training
Incremental SDLC Model
• Construct a partial
implementation of a total
system
• Then slowly add increased
functionality
• The incremental model
prioritizes requirements of the
system and then implements
them in groups.
• Each subsequent release of
the system adds function to the
previous release, until all
designed functionality has
been implemented.
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
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, interface, etc.
Spiral Quadrant
Evaluate alternatives, identify and resolve risks

• Study alternatives relative to objectives and


constraints
• Identify risks (lack of experience, new technology,
tight schedules, poor process, etc.
• Resolve risks (evaluate if money could be lost by
continuing system development
Spiral Quadrant
Develop next-level product
• Typical activities:
– Create a design
– Review design
– Develop code
– Inspect code
– Test product
Spiral Quadrant
Plan next phase
• Typical activities
– Develop project plan
– Develop configuration management plan
– Develop a test plan
– Develop an installation plan
Agile SDLC’s
• Speed up or bypass one or more life
cycle phases
• Usually less formal and reduced scope
• Used for time-critical applications
• Used in organizations that employ
disciplined methods
Extreme Programming - XP
For small-to-medium-sized teams
developing software with vague or
rapidly changing requirements
Coding is the key activity throughout a
software project
• Communication among teammates is
done with code
• Life cycle and behavior of complex
objects defined in test cases – again in
code
THE END

THANK YOU!!!!!!

QUESTIONS??
6A-55

You might also like