Chapter 4: Computer Software - University of Central Florida

advertisement
Chapter IV
Computer software
(Software solution for business and human needs)
1- Introduction:
a. Software comprises all programs designed to teach a fast stupid hardware machine
what, how and when to do all things it does to help human, business and government in
tackling the tough problems of managing and controlling all human and environmental
activities
b. (Smart-ware) may be a much better name for software because software programs
generate all the knowledge and power that use the hardware to tackle all computer
applications in all fields of activity.
c. Software doesn’t only provide the programs. It is also commissioned to translate them
to the only language that a computer understands, the binary numeration system
whose alphabet comprises only two digits (0, 1).
d. There are two operational categories of software: System software and application
software.
2- System software comprises 3 categories:
a. Operation system and user interfaces (provided by the operating system).
b. Utility programs that help the operating system in handling most maintenance, security
and janitorial tasks and extend its power in tackling specific applications.
c. Drivers that help the OS communicate with peripheral devices
d. In total system software handles the following work assignments:
i. Interface between the hardware and the user
ii. Interface between the hardware and the application software
iii. Interface between the hardware and the peripherals.
iv. Teaches the computer how to process applications
v. Perform the managerial, organizational and janitorial tasks within the computer
system
Operating system (OS)
1- Early computers, before 1960, were built to process one application.
2- To be able to process and manage several applications the computer system must be run by an
operating system that can manage the applications and their resources and allocate needed
processing time and memory resources to all of them.
3- IBM launched the first successful OS in the early 60’s it was the OS/360 that was behind the
huge success of its computer System/360.
4- IBM OS/360 pioneered the computer technology that ultimately assigns the control and
management commanding role within the computer system to one set of system programs
called operating system.
Operating system legacy
1- Introduction: The operating system comprises several components evolving around its core
component the “kernel”. Computer people, talk sometimes about kernel computing referring to
the most important part of the operating system.
a. Several operating systems were developed for modern computers with their kernel
based on the old UNIX, and other related technologies beside the market leader MSWindows. It is very important to know their leading role and enhance the most needed
skills that enable business employees to better understand and use different business
applications at all levels.
b. To be able to perform, an operating system must accommodate the same word size as
the processor: 32 or 64 bits. A 64 bits processor need 64 bits OS and a 32 bit processor
need 32 bit OS and so forth.
2- Important operating systems
a. UNIX is multi-user, multi-tasking operating system:
i. Was developed in 1969 in assembly language by a team of highly skilled
professionals of AT&T at Bell labs.
ii. It was soon entirely converted into C programming language by 1973.
iii. Conversion step was crucial to its development and the use of its kernel to
develop newer operating systems for new emerging small mobile computers.
b. Linux is UNIX based open source free operating system:
i. Was launched in 1991 by a Finnish student Linus Torvalds as freeware open
source software.
ii. Its kernel is that of the GNU (Go Not Unix) project launched by the free software
activist Richard Stallman in 1983.
iii. Thousands of programmers worldwide contributed in developing Linux like it is
now with its excellent kernel that is used in modern operating systems for
mobile computing and internet application designs.
c. IBM Z/OS: First introduced in October 2000.
i. It is a 64 bits mainframe operating system for server and powerful computers.
ii. Supports all old computer systems still available on the market
iii. Accommodates all mainframe systems
iv. High quality service
v. Support clustering.
d. MAC/OSX: Designed to run exclusively on MAC computers
i. UNIX based operating system series marketed by Apple Inc.
ii. A graphical interface OS
iii. First version released in 1999 server edition.
iv. iOS version runs on iPhone and iPod
v. Many versions are named after cat names: Leopard and Snow Leopard, Lion
and Mountain lion.
vi. The X relate to UNIX and to the roman 10 (OS/X = OS version 10)
vii. OS/X includes its own development tools IDE (Integrated Development
Environment) called XCODE provides interfaces to many compilers of several
programming languages including C, C++ and JAVA.
e. Android was developed by Android Inc. designed for smartphones and tablet computers
and other touch screen mobile devices and tablets.
i. Linux based operating system.
ii. Google purchased the company in 2005 and it is developing Android presently.
iii. Apps development teams of Google have come up with more than 700,000 apps
by October 2012 (download via Google play)
iv. 2010 (Android powered) smart phones become the world leading mobile
platform. Its share of the market is 75%! (500 million devices)
f. Symbian: Accenture plc. The world’s largest consulting company is presently managing
this mobile open source operating system:
i. Originally created by Symbian Ltd.
ii. Most popular worldwide 37.6% of the global smartphone market until late 2010
when it was surpassed by Android.
iii. Empowers most Nokia, Ericsson and European made smartphones.
iv. Based on the graphical operating system EPOC (Electronic Piece Of Cheese).
v. Symbian share of the market is reduced presently to all time low of about 7%.
g. Microsoft MS Windows: Most popular operating system ever because of its excellent
graphical user interface that bridged the gap between the user and the computer by
making user friendly computers that can communicate with all people and all business
personnel without the need of computer skills.
i. Windows operating system was first introduced in 1985 to reign over a highly
enthusiastic market to the friendly graphical user interface: 90% market share
presently.
ii. Several versions were introduced since then including Windows XP, Windows
Vista, and Windows 7 and recently (August 1st, 2012) Windows 8 was released.
iii. The most recent server version is Windows server 12.
iv. New Windows 8 features include:
1. Keep backward compatibility
2. Improving user experience on mobile computers and devices.
3. Friendly to Cloud computing and NFC (Near Field Communication) for
payments and file content sharing.
4. Secured boot process and malware filtering
5. Built-in antivirus software.
6. New app friendly touchscreen input platform
7. Improved ability to synchronize settings and programs among multiple
devices working together within the computer system
h. Windows phones 8 (Apollo) was also released recently (10l29/2012)
i. Based on Windows NT kernel as a successor to Windows phones 7 that was
based on Windows CE architecture
ii. Windows phones 7 users will not be able to play the new Windows phones 8
because of Microsoft new partnership with Nokia
iii. Nokia will launch it with Samsung, switching from the Symbian operating system
for the first time ever. The new features include:
1. Backward compatibility (play Phones 7 apps)
2. Support for removable storage
3. Accommodates large size screens (15.9”-16.9”)
4. NFC friendly (payments and content sharing)
5. Resizable tiles across the newly designed screen.
iv. Phones 8 includes many features aimed at the business market as:
1. Bit-Locker encryption for transactions security.
2. Ability to create Marketplace to distribute apps.
3. Firmware over-the-air support possible updates.
4. All devices will receive software support for 18 months.
5. 18 months update from Windows phones.
3- Operational role of the operating system
a. It is the most important part of system software that may be compared to the central
nervous system in the human body.
b. Like the central nervous system is the master controller of all functions performed by
the human body and its organs.
c. The operating system is the master controller of all operations that take place in the
computer system.
d. In order to successfully complete the processing of every single instruction, the
operating system interacts with all the resources involved in the processing of that
instruction and makes the operational and logistics arrangements needed for the
smooth timely execution of the machine cycle. These resources can be classified under 5
categories:
i. Users and user application software.
ii. Other system software programs.
iii. The inner hardware components (processor, memory, ports and other
accessories)
iv. Peripheral devices involved thru their drivers.
v. Utility programs involved
e. We can summarize its assignments by the followings:
i. Allocates memory space for all components needed for the processing then
manages and supervises the process:
1. Its own space
ii.
iii.
iv.
v.
2. Private space for each of the applications being processed simultaneously so
each can have its instructions, its data and its results.
3. Space for utility programs that may eventually be called upon to help in the
ongoing processing.
4. Enforces strict discipline in respecting the actual boundaries “Zero tolerance
for trespassing or overflow”.
Manages processor time allocated to applications and inquiries and supervises the
processing:
1. Makes sure the processor is not idle waiting for data or instructions.
2. Synchronizes the execution time of machine cycles depending on its
instruction set.
3. Makes sure conflicting user applications requesting processor time will be
awarded a chance to get the requested processor attention on time
depending on the established priorities.
4. Synchronizes the work accomplished by the different components of the
processor and makes sure the processing proceeds in an orderly manner.
5. Multi-tasking, multi-processing or multi-threading require a lot of attention
to insure the necessary synchronization among involved applications.
a. Multi-tasking technology requires many applications to be
processed simultaneously
b. Multi-processing requires the computer system to have many
processors and the operating system to have the ability to allocate
tasks between them and manage that operation.
c. Multi-threading technology divides the same application into
threads that will be managed by the operating system. Resource
sharing would be managed by considering threads like different
applications.
6. Supervises data and instruction exchange between processor and memory
over the front side bus (FSB).
Monitors input and output operations through interaction with their drivers and
make sure all operations proceed in an orderly manner.
1. Mouse, touch pad, touch screen, keyboards and all direct input devices.
2. Camera, scanner, internet forms
3. Program files and data files Internet download and forms.
4. Monitor, speaker, printer, plotter and all direct output devices
5. Program and data files and Internet uploads
6. Special purpose output for business and personal use.
7. Gaming
Monitors and enforces computer security with the help of firewall, anti-virus
software and anti-spyware, find troubleshooting possibilities and issues error
messages when needed.
Provides needed help when users ask for help.
vi. Provides user interface:
1. Command line based: use the keyboard to communicate. This is now only
used by computer professionals.
2. Graphical user interface: use pointing and clicking devices (mouse)
a. Graphical user interface (GUI)
b. Menus and submenus.
Utility programs
1- Introduction: Software designed to perform specific maintenance, cleaning, statistics and
security, and other similar tasks for the computer hardware and software is known as utility
software. They are so important for business because they help improve the quality of its
information system and optimize the use of computer resources. Major categories of utility
programs are listed below with important programs of each one of them.
2- Disk care utilities: take care of the hard disk drive. We consider:
a. Disk checker: Scan the formatting and wellbeing of the hard drive.
b. Disk partition: Can divide the hard disk into several partitions each of which will be
treated as a separate hard disk known as logical drive that may take a different
operating system the partition is then called virtual machine.
c. Disk compression: optimize the disk capacity in shrinking the size of files stored on
it using the compressing/uncompressing software.
d. Disk cleaner help locate unused files and big size files unnecessary to computer
operation and help get rid of them.
e. Disk defragmentation: Help relocate records of the same file to be as close as
possible to each other.
f. Disk storage and space analyzers utilities.
3- File manager: Like Windows explorer and Mac Finder: They help rename, delete, move, and
update a file.
4- Compilers: Are utilities that converts programs written in source code of any programming
language into machine code or object code or machine language which is strings of 0s and
1s the only digits that a processor understands. The object code is saved as executable file
(.exec) file.
5- Computer security:
a. Anti-virus software: scan for viruses and kill them or quarantine them
b. Anti-spyware: Scans for Trojans and illegal malware and eradicate them or
quarantine them.
c. Cryptographic utility: Encrypts and decrypts files and exchanged data over all
Internet services.
d. Back-up utility: Saves duplicate file (mirroring)
e. Restore utility: takes the computer system back in time to dates previously fixed by
the operating system.
6- Other maintenance utilities:
a. Screensavers: When the computer is ON but it is not in use, it is very important to
dim and limit the screen phosphoric burn-in especially in gas plasma and CRT
monitors.
b. System monitors utilities: checks and monitors the performance of the computer
system and its environment.
c. System profiler utilities: Needed by business and personal users in order to get
necessary information about all hardware components attached to the computer
and all software programs installed for profiling system performance.
d. Registry cleaners in Windows: removes unused registry keys to optimize system
profiling and system performance.
7- Why the utility programs are not built as part of the operating system? The answer is
obvious:
a. As you may notice there are a lot of utilities and each program consists of a big
volume file.
b. If they are added to the operating system they will require a huge place in memory
as long as the computer is running.
c. Most of these programs are needed briefly to perform specific task and go, so the
same memory space can be used by different programs while they are performing
d. The use of the utility program by the operating system can be compared to the use
of tables in restaurant the same table is used by many customers while they are
eating.
Device drivers
1- General knowledge about drivers:
a. Device drivers are system software designed to operate hardware components and
peripherals attached to the computer.
b. Each component or peripheral has its own driver (there are no universal drivers,
driver is made to control a particular type of hardware)
c. Driver that operates a specific model of HP printer may not necessarily be good to
operate any other HP model or any other different brand model).
d. Device driver operates as a translator interface between the operating system and
the hardware device.
e. Only a specific device driver can communicate with that particular device so that all
instructions directed to the device must be conveyed through the device driver.
2- What devices need drivers?
a. Most components of the computer and all peripheral devices and some operational
application software need drivers to be able to perform:
b. Printers: Printer drivers have to adapt to its design and its technology. The driver of
each of the following printers is different.
i. Single printer
ii. Network printer
iii. AOI (all in one) printer
c. Virtual printer: is computer software whose driver is an API (Application
Programming Interface) that doesn’t connect with a physical printer but, instead
save the printed copy as no-edit file like PDF files.
d. Scanners: Many different types of drivers are available to accommodate the types
of scanners:
i. MRI (Magnetic Resonance Imaging) scanners and CT (Computed
Tomography) scanner.
ii. There is no virtual scanner like the virtual printer but there are many
ongoing research projects on this subject.
e. Digital cameras: their drivers depend on their use and their location
f. Storage devices
g. Sound cards
h. Video adapters
i. Network cards
j. Buses
Application software
Application software or simply apps (as it is extensively used to outline and market huge number of
applications that populate modern mobile devices) is set of applications designed to help business
or personal users to tell the computer and its system software what exactly we need it to do for us.
In other words: application software is the set of tools available to the user to help him
communicate to the computer system, via the computer system software. It also can be described
as detailed algorithm of instructions that help the computer system process data correctly and
provide the information we need.
System software is in fact the interface or the translator between the user and his apps on one side
and the hardware on the other side. Application software (apps) may be classified as follow:
1- Productivity software: help businesses and people organize and complete business
management tasks and own personal, social and operational activity. Although there are
too many companies producing productivity software, we will explain MS office suite
because they are the leader of the market with over 92% market share.
a. Word processing software used by businesses to satisfy their internal and external
needs of creating professional documents. MS Word is the most used 92% market
share. MS Word 2010 most important new features are:
i. Insert a screenshot in the insert menu
ii. Edit a picture whenever you insert it
iii. Better way to show the shadow, reflection and glow effects with possibility
to modify the inner and outer shadow.
iv. The “Background removal tools” feature allows you to select and remove
the background of the selected part of an inserted image.
v. Ribbon customizing option and put the commands you want (right-click on
the ribbon and chose “Customize the ribbon” option).
vi. Add a PDF file or even a presentation by clicking on the “Object” option
b. MS Word 2013 has added the following new features:
i. Link MS account with other online services like LinkedIn or Facebook or
other online services.
ii. The “picture tool format” feature allows you to place a picture and resize it
or drag it and place it wherever you want without right-click.
iii. The “New” reveals hundreds of document templates
iv. E-fax and Merriam-Webster dictionary apps and huge number of featured
apps waiting for you to choose your favorites.
v. From the “Insert” tab you can insert pictures from the web or browse
SkyDrive storage and get clip art stored on the cloud.
vi. You can use the Bing image search and Flickr account to find and insert
pictures in your document.
vii. You can add an online video from “Youtube” or from other websites
viii. Very improved collaboration while working with text and simplified
Markup.
ix. Edit PDF files like any other Word document by clicking “Enable Editing”.
x. Concentration on reading and zooming
xi. The “Review” tab use the Word apps and when you select the text you get
the result displayed instantly.
xii. A very powerful feature allows you to present documents online for people
who don’t have 2013. All you need to do is to provide people with the link
to the cloud.
c. Spreadsheet software:
i. This software was initially developed in tabular format very friendly to
most business transactions.
ii. Spreadsheet software most important feature is the automatic calculation
of all affected cells in a sheet when the value of one cell changes.
iii. Automatic recalculation feature makes this software very helpful for
business decision makers in the what-if scenarios.
iv. You go to your boss with a table summarizing a cost study. If your boss
asks: what if we change that number? All you have to do is fit the new
numbers and the spreadsheet will be updated on the spot.
v. What-if scenarios and automatic recalculation features were parts of the
driving factors that sparked the digital revolution because they have
convinced and encouraged businesses to invest heavily in building timely
and reliable information systems and information technology (IT)
departments in their companies.
vi. EXCEL is Microsoft’s spreadsheet software, We will go over its new most
powerful features:
1. New classy and clean look of the screen.
2. Quick professional look thru pictures and graphs helping decision
makers take clear well based decisions.
3. A lot of templates guide your steps in many applications giving you
more time to focus on your data.
4. Quick Analysis (new tool in “Analyze your data instantly”) helps you
represent the data instantly in a chart or table.
5. The “Flash Fill” feature allows you to fill a whole column of data in
a flash
6. “Recommended Charts” button on the Insert tab recommends the
best charts for your data representation.
7. The interactive data filter “PivotTable” first introduced in 2010 is
made simpler to use.
8. New EXCEL functions in all aspects of math, statistics and logic
9. You can save your workbook to your online location on your
SkyDrive service or your business Office 365 service.
10. It is easier to share workbooks with other people thru SkyDrive no
matter what system they are using
11. Embed worksheet or part of it in webpage so anyone can use EXCEL
Web App and work with the data.
12. Save a workbook in another file format.
13. Three new chart buttons allow chart editing “Format your chart”
14. Change the format of labels in a chart
15. Automatic chart change when you change the source data.
16. Drill Up, Drill Down and Cross Drill features allow you to access all
possible details.
17. Many other features associated with using the power of the Pivot
Table like On Line Analytical Processing (OLAP). And Business
Intelligence (BI).
18. Create standalone PivotChart that enables you to navigate the
most data details you want using the features “Drill Down, Drill Up
and Cross Drill”.
19. Power View button allows you to create and interact with charts
and other data patterns in a single sheet.
20. Power Pivot feature is installed in EXCEL professional plus. This
engine lets you build data models directly in EXCEL. Define
hierarchy and use Data Analysis Expression language to create
advanced formulas
21. “Spreadsheet Compare” is a new powerful feature that allows you
to review the workbook and uncover and correct formula errors
and broken links while providing full visibility that allows you to
compare two versions and see where the changes have occurred
vii. Spreadsheet software was available before MS EXCEL era. Like LOTUS 1-2-3
that promoted the extensive use of computers in business and “Quattro
Pro” that was a clone of Lotus. Calc, Mariner Calc and TinkFree Calc are also
spreadsheet software who couldn’t compete with EXCEL.
d. Presentation graphics software
i. This software was developed to overcome the limited possibilities of the
old slide projectors and provide powerful business promotional and
training tool and teaching tool in schools and colleges
ii. Slide templates and powerful features of adding text, slides, audio and
video clips empowered the presentation with wealth of flexibility and a lot
of powerful features
iii. Easy formatting and content editing allow the production of attractive nice
and rich digital slides that can be shown via digital projector.
iv. PowerPoint presentation Office 2013 version is the Microsoft office latest
presentation software and we will consider below its most powerful added
features:
1. Collection of new themes on the Start screen helps you get ready
from the very beginning.
2. Merge shapes make it easy to merge many shapes into one.
3. Alignments guides allow easy alignment of shapes and graphics
with text boxes.
4. Slide Zoom in and out of charts, diagrams and graphics is very
important feature to direct the attention of audience.
5. The Auto-Extend feature insures the slide appears on the right
screen when you move the projection to another screen.
6. Navigation Grid allows you to switch slides easily. It is hidden from
the audience (only you see it to select and watch your selection).
The audience sees slide projection only
v. Other important presentation software include:
1. Corel Presentation: available only with COREL productivity suite.
2. Prezi: Cloud-based software with zoomable canvas
3. The Web based Google Docs: rich in animation with a big collection
of templates and huge stock of photos and the Add fonts features
allow you to choose from over 450 new fonts.
4. Apple Keynote: one of the best software that run on MAC.
a. It can create impressive presentations with powerful
graphics tools.
b. iCloud allows you to share them everywhere you want on
iPad, iPhone, iPod, etc…
c. They are MS office compatible
5. Impress from OpenOffice.org (open source software)
6. Bruno of Hewlett-Packard: First software designed to create
WISIWYG presentations and run on HP computers (HP-1000 and
HP-3000).
7. Kingsoft (KS office) Presentations is a Freeware that was developed
in China; the newest version is the KSOffice 2012
e. Database software: This is the most important business productivity software
because it deals with managing the most important assets in a business (data and
information):
i. Database is structured data well organized in a collection of tables that
practically relate to all or part of the business or organization activity.
ii. Database management system (DBMS) that allows you to create, update
and query a database and create business needed reports and other
documents. It also protects data from unauthorized access.
iii. There are many types of database software available but we will consider
Microsoft’s Access and its most recent version Access 2013 which is part of
MS Office suite 2013:
1. Focus on bringing Access database to the Web (hosted by MS
Office 365 and securely accessed from any device (with or without
installed Access)
2. Enhanced user interface enable you to make operational and
beautiful apps very fast.
3. You need Office 365 to host the database in the cloud but you can
chose to have SQL Server 2012 and SharePoint 2013 and host it
yourself in your premises.
4. The table templates library allows you to easily track everything
you care about in the database and apply relationships and data
integrity rules very easy.
5. Apps are faster, more reliable in handling large amounts of data
because when you publish the ACCESS database to SharePoint an
SQL server will be created to store the database.
6. You can connect with this database to better your analysis,
integration and reporting procedures.
iv. Other important database software includes:
1. FoxPro: now published by Microsoft is text based DBMS that
support relationship between tables and has many users and
programmers worldwide.
2. IBM-DB2 is relational DBMS model that was introduced in 1983
with roots that go back to June 1970 when Edgar CODD invented
the relational database model in the IBM labs. The latest editions:
IBM DB2 Express-C that is similar to MySQL and PostgreSQL. We
also have to mention DB2 for z/OS the mainframe OS.
3. MySQL is popular database for use in web apps. MySQL central
component is the very popular (LAMP) that stands for Linux Apache
MySQL Perl (Perl/PHP//Pyton) that is free software.
4. Linter: Russian SQL DBMS that is supported by most operating
systems. It is mostly used by Russian government ministries and
their agencies.
v. A database is not portable across all or many DBMS’s
2- Management software:
a. Financial management software: manage business financial activities
i. Investment portfolio
ii. Expenses and revenue
iii. Budget planning and financing avenues
iv. Taxes with tax preparation software.
b. Project management needed to:
i. Complete the project according to schedule
ii. Plan, allocate and control project people and resources.
iii. An example is MS Project and MS SharePoint server.
c. Marketing software integration with the project management software allows for a
complete approach to powerful project management.
3- Statistical software: This software is controlling lot of aspects of our social, political,
environmental life as well as all aspects of our modern global economy. The greatness of
4-
5-
6-
7-
this software is its ability to turn data into present and future action. There are many
statistical software to be considered:
a. IBM SPSS (Statistical Package for the Social Sciences) was released in 1968 and
recently acquired by IBM. It is one of the most used software in most statistical
applications.
b. SAS (Statistical Analysis System) pronounced “sass” is widely used statistical
integrated software used extensively around the globe to generate many powerful
statistical applications.
c. Stata: the name relate to the SATA Corporation that created the software in 1985.
It is complete integrated statistical software with lot of applications used around
the world.
d. MATLAB: presents an interactive environment and a language rich in built-in
functions that in addition to the language tools help you develop algorithms and
create models. It also helps you find problem solutions much faster than C++, JAVA
and other programming languages.
e. Mathematica, S-PLUS, R, Minitab and JMP are also notable statistics software that
contributes to the enrichment and diversification of statistical software market.
Web authoring software: Provides template and other needed tools to create attractive
webpages and websites
a. Adobe Dreamweaver along with Creative suite 5 (CS-5), (CS-5.5) and (CS-6)
b. Dreamweaver is unrivaled Web authoring tool
c. Dreamweaver latest version CS-6 enjoys the following powerful features:
i. jQuery feature allow to add easy interactivity to webpages
ii. Reorganized insert panel can be used to quickly add audio, video, HTML5
tags and ADOBE Edge Animate.
iii. PhoneGap feature lets you convert existing HTML into phone apps.
d. MS Expression Web was introduced in September 2005
e. MS Studio series started in 2008 its latest version (Studio 4) was released in 2010.
Desktop publishing software: Creates high quality text and graphics rich documents and
pages for magazines. Adobe Creative suite software is an example of desktop publishing
software.
Multimedia editing software: allows amateur to tailor and compress large multimedia files:
a. Apple GarageBand creates edits and stores professional recordings.
b. Photo and video editing: allow you to cut, split, join and add effects like a pro. You
can use one of the following packages :
i. Corel VideoStudio Pro X5
ii. Adobe Premiere Elements
iii. CyberLink PowerDirector
Entertainment and games software:
a. Console Games: The software usually stored on a disk and inserted into the console
the game features are displayed on the television. PlayStation3 uses Blu-ray disc
b. PC games prospered after the 1983 video game crash. The present smart phones
era propelled the game and entertainment market to unprecedented size using the
cloud gaming software.
c. The declining game market since is caused by the abundance of games on the web
that are offered for free with other packages.
d. The market that peaked to $103 billion in 2008 is projected to decline to less than
$75 billion by 2015.
8- Educational software: Very important software used for teaching or training in businesses
or even studying and learning (self-teaching). We can consider the following educational
software categories:
a. Classroom aids (whiteboards: Compared with the blackboards) designed for school
classroom teaching that is why it is called “classroom management software”.
b. Courseware: comprises teaching tools and tutorials and all needed material
included in one package.
c. Student assessment software
d. Diverse training software: specific educational purposes
i. Driving test software
ii. Language learning software
iii. Typing and spelling tutor software
iv. Training simulator software.
v. Note taking software
9- Design software: like Auto CAD (Computer Aided Design) and Adobe IN Design used by
architects and engineers in all aspect of design
a. Building, bridges and other structures
b. Military equipment and weapons.
c. Nuclear industries
d. Transportation equipment and material
e. Computers and peripheral equipment (ergonomic components)
f. All type of equipment, tools and material
10- Cloud computing
a. Modern Information system witness a shift to cloud computing or Internet
computing offered by many cloud computing providers like Microsoft, Google,
Yahoo, and many others.
b. This technology consists of hiring the provider to create databases and related
applications and stores them on his cloud facilities.
c. The pros of this technology are:
i. Saving money and shrinking the IT cost
ii. Improve data and application security
iii. Reduce the headache of dealing with daily IT details.
d. The cons may be:
i. Loose control over data and applications
ii. Recruiting skilled employees to deal with cloud providers
iii. Handle many arising confusion with the service provider.
Software market
Software is divided into two categories relevant to its offer and use in the market:
1- Horizontal market software:
a. Application software designed to operate in several commercial, industrial or
service market activities.
b. This software targets common needs of businesses regardless of their activities,
size, market and mission.
c. Because of its usefulness to a wide range of business activities, horizontal
software is also known as productivity software.
d. An example of horizontal market software is payroll software or inventory
software or tax preparation and filing software.
e. Horizontal market category includes: Word processing, spreadsheet,
presentation, database and many other application software.
2- Vertical market software
a. It is designed to operate and satisfy the needs of a given business activity.
b. Customized to a specific industry needs
c. Limited usefulness to a specific activity highlights the importance of application
competitiveness.
d. An example of vertical market software would be hotel or online reservation
software and travel software and point of sale software
Programming languages
1- Computers can understand only one language composed of strings of 0s and 1s that represent
instructions, data and information.
2- This language is also known as machine language or object code which is the 1st generation of
programming languages
3- Because programmers are human and not automats, it is almost impossible for them to write
sophisticated programs using machine language, computer industry started using machine
language strings to build command codes used in program instructions and the assembly
language was born representing the 2nd programming language generation which is still a low
level generation (2GL) 2nd generation level.
4- Assembly languages were very detailed and very close to the computer inner circuitry so
computer industry started looking for handy (English like) programming languages using
assembly language to build command codes and the assembly many languages were built to
form the 3rd generation level (3GL).
5- Third generation high level programming languages comprise all languages higher than
assembly including:
a. Basic and visual basic
b. FORTRAN (Formula Translator) for scientific application
c. COBOL (Common Business Operating Language)
d. C and other languages
6- Programming technology: we may consider 2 different approaches to programming
a. Procedural program that translates an algorithm based on charts and pseudo-codes
into code based on the syntax of a specific language (Basic, COBOL (Common
Business Oriented Language) used for business applications, FORTRAN (Formula
Translator) used for math applications)
i. The pros of this program are
1. It is fast
2. Code is easy to configure
ii. The cons are:
1. Apply to only one application
2. Programmers have to always start from scratch.
3. Expensive because it is mostly custom made
b. Object oriented programming:
i. Considers application objects as classes and subclasses
ii. Programs are written to upper classes and lower classes inherit them and
use them where they apply.
iii. C++, C# and JAVA are Object Oriented Languages
iv. Pros of this approach include:
1. Reuse of programs by similar classes
2. Well organized and easy to implement
3. Easy to debug and correct.
4. Easy to build software packages and applications that run on all
computer systems.
v. Some cons are:
1. Lengthier writing process
2. Longer compiling time
3. Longer execution time
4. Not appropriate for custom software tailored for a specific
application that need fast execution.
7- The need for reusable programs steered the search to object oriented programming languages
that build classes of objects and include its functions and parameters so subclasses inherit
behavior from higher classes or objects. This category include C++ and JAVA as most used in
system programming
8- The overwhelming success of database approach and Internet applications and networks using
databases and packages that need fast query and report generator imposed itself as a must
consider situation and industry raced to fill the gap that resulted in the birth of the 4th
generation dedicated for that purpose (ORACLE is actually on the cutting edge).
9- Future languages?
a. Computer experts are talking about natural language that is the foundation of the
5th generation (5GL) or fifth level whose paradigms consist of:
i. Using plain English keywords
ii. Using decision tables and proceeding by elimination to keep the best
choice.
Program conversion or translation
1- Computers can understand only one language which is the machine language or object
code that comprises strings of zeroes and ones.
2- All other languages used by programmers are their own primary tools to author source
code programs that are not understandable by the computer unless they are converted
into object code or machine language.
3- All source code programs written in any of the high level languages must be translated to
machine language or object code before being submitted to the processor.
4- Conversion is completed by a software utility program known as compiler that may be one
of 3 different categories:
a. Assembler: Converts assembly language code into object code or machine
language.
b. Compiler translates the whole source code program all-together as one translation
unit.
c. Interpreter translates one instruction at a time allowing for live interactive
translation over networks and internet and WEB applications.
d. An interpreter is a compiler but a compiler is not necessarily an interpreter.
Software licensing
1- Introduction:
a. Software is considered by law as intellectual property and
b. Patents and the licenses are legal tool that define permissions and restrictions in
using the software and designed to protect the owner of the property and his
exclusive rights (copyright) from:
i. Theft
ii. Software piracy and use of counterfeit
iii. Abuse of legal right of use.
2- Types of licenses
a. Single user license and multi-user license: For multiuser on different computers you
need a multi-user license.
b. Off the shelf software: Includes a license you buy with the package and validate
later.
c. Shareware license: enable you to use the software free of charge for a defined
period and then you pay if you want to keep it. This license is known as “Try before
you buy” promotional marketing.
d. Freeware: initially available to the public free of charge but most likely you will be
prompted to pay if you want upgraded services or complete clean version. If you
Google the word “freeware” you will get a list of hundreds of freeware packages.
e. Open source software: Like Linux operating system this software ask for user
contribution to upgrade it.
f. Creative commons license: It is open source software that leaves to the initial
creators the right to control the software and make profit out of its use and limits
users contribution to terms specified in the license.
g. Subscription license: Enables you to use the software and pay a periodic fee
(monthly or annually). (ADOBE CS5 is very expensive collection could be used by
paying a monthly amount)
h. Custom software: Most expensive software created and customized for use by
specific clients. License may or not include the right of the client to resell his
software.
Download