We interact with the computer (or anything really) through a
user interface.
There are many different styles, and looks but mostly they
break into two classes:
CLI
Command Line Interface
User mostly interacts by typing commands, and moving
a cursor around the screen.
The user usually needs to memorize many different commands
Large learning curve, highly usable afterwords
Less impact when the system is changed.
Graphical User Interface
Commands are represented as icons or in drop down menus
User must locate, and click on a command to execute it.
Usually easier to start using
Slower for experienced users to accomplish tasks.
Which is easier?
Mixtures
Some applications make allowances for both
In this case, Alt-S will save the page.
This allows the connivance of a GUI with the speed of
a CLI.
Common User Interface
Make different programs have a common look
Functions are located in similar locations
General behavior is the same
This makes it easier to learn how to use a new but
related application.
You will like this, Word, Powerpoint and Excel "look"
alike.
Software development
An algorithm is a step by step set of instructions that solve
a problem in a finite amount of time.
For example :
To Fix Breakfast
1. Get a bowl
2. Get a spoon
3. Get Milk
4. Get Super Crunchy Chocolate Bombs (SCCB)
5. Pour SCCB into bowl
6. Pour Milk onto bowl
7. Enjoy
8. Full?
A. No - goto 5
9. Put everything away.
Source Code
Written in a programming language
These are more formal than the language you write the
algorithm in
Tells us exactly how to solve the problem
Executable
Source code that is compiled into something that can be run
on the computer.
Machine Language.
Not readable by humans.
Not very easy to modify.
Bug
A problem in a program
Go to www.google.com and search for first bug
A major part of the software development cycle is to find and
remove bugs
This sometimes introduces more bugs.
Patch
Regularly during the life of software, patches are released
These fix the bugs in executable
Mostly Free
Versions, releases and other things
Adding features
Fixing bugs
Mostly for charge, but sometimes just an upgrade fee.
N.n (3.1, 4.12)
System Software
Purpose
To act as an interface between the user and the hardware.