Você está na página 1de 49

Computer Software

Topics to be covered

Computer Programs
Significance of software
System software
Application software
Software issues
Programming languages
Enterprises software

2
Computer Program
 A Computer program is a set of instructions or statements (also
called Code) to be carried out by computer’s CPU.
 software can be classified in three categories
 Operating Systems
 Utilities
 Applications
 Software is composed of main module and sub modules.
 These modules are stored as files.
 Some files contain instructions, some contain data.

3
Operating
Systems

Hardware and software in computer


4
Different types of Software:
System software: The class of computer instruction that
serve primarily as an intermediary between computer
hardware and application programs; provides important
self-regulatory functions for computer systems.

Application software: The class of computer instructions


that direct a computer system to perform specific
processing activities and provide functionality for users.

Simple and Complicated

5
Sources of Software

6
Application Software
Proprietary application software. Software that addresses a
specific or unique business need for a company ; may be
developed in-house or may be commissioned from a software
vendor.
Contract software. Specific software programs developed for
a particular company by a vendor.
Off-the-shelf application software. Software purchased,
leased, or rented from a vendor that develops programs and
sell them to many organizations; can be standard
customizable.

7
Systems software

Can be classified into


System Control programs
System Support programs
System control programs: Software programs that controls the
use of the hardware, software, and data resources of a
computer system.
Operating system: The main system control program,
which supervises the overall operations of the computer,
allocates CPU time and main memory to programs, and
provides an interface between the user and the hardware.

8
System Utility

Programs that have been written to accomplish common task


such as sorting records,merging set of data,restoring
accidentally erased files.
System Performance:It monitors computer system
performance and produce reports containing detailed statistics
concerning the use of system resources, such as processor
time,memory space,input/output devices etc.
System security monitor:monitor the use of a computer
system to protect it and its resources from unauthorised
use,fraud or destructions.such programs provide the computer
security needed to allow only authorised user to access to the
system.

9
Application Software

Unlike computer H/W, which can be designed and


manufactured on automated assembly lines,software must be
programmed by hand. Computer H/W power grows roughly by
a factor of two every 18 months, but computer S/W power
barely doubles in 8 years. This lag presents a great challenge
to S/W developers and to information system use in general .

10
Utility Programs

11
Comparison of Proprietary and
Off-the-Shelf Software

12
Contd..
 Some common extensions of files are
 .exe, .com files- executable program files
 .dll files– dynamic link library files is a part .exe file. They
cant run individually. They will be called by main exe files.
They can also be shared by other programs
 .ini files- initialisation files contains configuration information,
such as size and starting point of a window, colour etc.
 .hlp, .chm files – help files contains information in an indexed
and cross linked format
 .bat files – batch files automates common repetitive tasks.
Example- autoexec.bat is auto executing batch file used at
the time of starting windows
 .dll files are stored in system 32 folder.

13
Flow Charts & Pseudo codes in
Programming
 Algorithm is a series of step by step
instructions that when followed, produce a
known or expected result.
 A flow chart is a pictorial step by step
execution of the instructions in the algorithm
 Example: write an algorithm for finding largest
number out of ten given numbers.

14
Algorithm
 Read as input the given ten numbers a1 to a10.
 Compare a1 with a2. If a1 is greater than a2,
then store large=a1, else store large =a2.
 Compare large with a3. If large is greater than
a3, then large=large, else large=a3.
 Repeat this process until you reach upto a10.
 Then output the result of large.

15
Start

Input a1 to a10

Large =0

i=1

Is large > ai No
Large = ai

Yes

i = i+1

Yes
Is I >10 Output large End
No
16

Flow Chart to find the largest number out of ten numbers


Tutorial problems

1. Write an algorithm and draw a flowchart for a student registration


process at the start of academic year:
1. If new student, then a registration no is issued, a student guide
and student card is issued and he is allocated a tutor.
2. If he is a second year student, then exam performance is
discussed and second year options are selected.
2. Write an algorithm and draw a flowchart for calculating an end-of-
term mark (%) for a class of students. There should be three items
of work, each marked out of 100. Some students have been ill, and
they may have fewer items of marked work. Such missing maerks
are shown as absent. If two marks are available, then an average
is calculated – otherwise, no mark is given. The overall average
mark of the students with all the three items of work is also
required. 17
How Programs work towards solutions
 Some programs have clear cut solution
procedure and can solve the problems. They
are straight forward
 Some problems , there is no clear cut
procedure for solving. You have to use
Heuristics (rules of thumb) to solve them in a
repeated iterative process. Heuristics offer a
good chance of finding a solution, but not
necessarily the best.

18
Structured Programming
 Evolved in 1970s- implies building programs out of small
modules which are easy to read and understand
 Each module had a single entrance and single exit and
performed a single task.
 Programs can be written with three control structures:
 Sequence Structure defines the default control flow in a
program. Unless directed otherwise, computer executes
lines of code in the order in which they are written
 Selection Structures are built around conditional
statements.Conditional statements are tests to determine
what the program will do next.
 Repetition Structures (or looping structures) are basic
constructs called loops- a piece of code that repeats again
and again till some condition called exit condition is met.

19
Object Oriented Programming

Object- oriented programming (OPP) languages.


Programming language that encapsulate a small amount of
data with instructions about what to do with data.
Methods. In object- oriented programming, the
instructions about what to do with encapsulated data
objects.
Object. In object- oriented programming the combination
of a small amount of data with the data.
Encapsulation. In object-oriented programming the
process of creating an object
Reusability feature. Feature of object- oriented
languages that allows classes created for one purpose to
be used in a different object-oriented program if desired.
20
Personal application software
Spreadsheets. Software that uses a grid of coded rows and columns to
display numeric or textual data in cells.
Macros. Sequences of commands used in spreadsheet software that
can be executed with just one simple instruction.
Integrated packages. Spreadsheet packages that offer data
management and graphical capabilities in addition to regular
spreadsheet functionality
 Data management. Software that supports the storage, retrieval, and
manipulation of related data.
 Word processing. Software that allows the user to manipulate text
using many writing and editing features.
 WYSIWYG. Acronym for ‘ what you see is what you get’
(pronounced ‘ wiz-e-wig’, indicating that text material is displayed on
the computer screen just as it will look on the final printed page.

21
Desktop publishing software. Software
that enables microcomputers to combined
photographs and graphic images with text,
to produce a finished, camera-ready
document.

22
Graphics software. software that enable the user to create,
store, and display or print charts, graphs, maps, and drawings.
Presentation graphic software. Software that enables users
to create graphically rich presentations by “pasting” graphic
images into a textual presentation.
Analysis graphic software. Software that provides the ability
to convert previously analyzed data into graphic formats
(e.g. bar charts, pie charts).
Computer aided design (CAD) software -Software that allows
designers to design and build production prototypes in
software, test them, compile parts lists, out-line assembly
procedures, and then transmit the final design directly to
machines. CAM / CIM

23
Multimedia software: Software that combines spatially
based media (text and images) with time based
media ( sound and video) for input or output of data.
Communications software. Software that allows
computers, wherever they are located, to exchange
data via cables, telephone lines, satellite relay
systems, or microwave circuits.

24
Speech-recognition software: recognizes and interprets
human speech, either one word at a time (discrete
speech) or in a stream (continuous speech).
Groupware: Software that facilitate communication,
coordination, and collaboration among people. Eg.
Microsoft Exchange, IBM’s :Lotus Notes/ Domino

25
4. Software Issues

Alien software
Software evaluation and selection
Software licensing
Software upgrades
Open systems- refers to a model of
computing products that work together
Open source software – software whose
source code is available

26
Alien Software
 Pestware. Clandestine software that becomes installed
on your PC through duplicitous channels; also called
malware or scumware.
 Adware. Software that is designed to facilitate the
propagation of pop-up advertisements on your screen.
 Spyware. Software that records your keystrokes and/or
your password.
 Spamware. Software designed to use your computer as
a launch pad for spammers.

27
Evolution of Programming Languages

                                            

28
Evolution of Programming
Languages
 1st generation of programming language was
machine language- 0s and 1s.
 The lowest-level programming language.
 Machine languages are the only languages
understood by computers.
 They consist entirely of numbers.
 These commands instruct the computer to
perform elementary operations like loading,
storing, adding and subtracting
29
Second Generation Languages
 Assembly language was the second generation
language. It is a low level language
 Developed using short English like abbreviations
(mnemonics).
 10110000011100001 Machine language code which is
the same as mov A, 061h in Assy language- means
move move the hexadecimal value 61 (97 decimal)
into the processor register with the name “A".
 An assembler converts each line of assembly code
into executable machine code

30
Third Generation Languages-
Higher level languages
 Their syntax is more like human language
 Examples- FORTRAN,COBOL, Basic, C etc.
 These are also called procedural languages
 Procedural languages must specify step by step
exactly how the computer must accomplish the task
 Compiler is a software program which converts high
level language, Source code, into machine code or
Object code.
 Interpreter translates and executes line by line.

31
Third Generation languages- contd
 Some currently popular 3rd Gen languages
 C. Powerful language. Extremely popular with
professionals. Now being replaced by C++.
 C++. Object oriented implementation of C.
 Java. Object oriented for cross platform
purposes.Sun microsystems developed it for
internet. With Java, interactive and dynamic
programs (called applets) can be written for
web pages.It is platform independent.
 Active X. similar to Java created by Microsoft.

32
4GLs
 4th Gen languages are non - procedural.
 They can be used by common man specifying what
he wants and need not specify how to get it done
 Examples of 4GL query languages in database
management systems, report generators, data
manipulation languages . Examples: SQL, PL SQL,
Visual Basic etc. Some other 4GLs are:
 .NET . .NET combines several programming
languages into one IDE (Integrated
Development Environment)- tools reqd to
develop applications in one programme. .NET
includes Visual Basic, C++, C#, and J#
33
Fifth Generation languages
 Natural programming Languages are known
as 5th gen languages or intelligent languages.
Still in the process of development
 5GL would use A.I. to create software based
on your requirement of what software should
do.

34
World Wide Web Development
Languages
 Hypertext Markup Language (HTML)
 Using HTML, we can define web document’s structure
by using such components as attributes and tags.
Tags provide links to other points and incorporate
components created in Java or Flash. Microsoft
FrontPage is normally used.
 Extensible Markup Language ( XML)
 Next generation of web content development language.
It allows developers to describe a page in different
formats like, web page, printable document, pdf file etc.

35
World Wide Web Development
Languages(Contd)
 Extensible HTML (XHTML)
 Newer and stricter version of HTML and is “well
formed”
 Extensible Style Sheet Language (XSL)
 Is one of XML technologies.
 It formats XML documents for HTML browsers.
 Extensible Markup Language Mobile Profile
(XHTMLMP)
 To create and display web pages in tiny devices like
PDAs. Earlier Wireless Markup Language (WML)was
used.

36
Scripting Languages
 JavaScript
 Active Server pages (ASP)
 Practical extraction and Reporting Language
(Perl)
 Hypertext Processor (PHP)

37
 Virtual reality modeling Language (VRML). Programming
language that can describe three dimensional interactive
worlds and objects; used on the web to create three
dimensional representations of complex scenes.

38
6. Enterprise software

 Middleware. Software designed to link


application modules developed in different
computer languages and running on
heterogeneous platforms.
 Enterprise software. Software programs that
mange the vital operations of an organization
(enterprise).

39
HTML Link
 The message is ready to be sent with the
following file or link attachments:
Shortcut to: http://www.quil
.biz/tuition/Contents.htm

40
RayMedi HQ

RayMedi HQ is designed to manage your chain of


shops more easily. RayMedi HQ is a web-based, easy-
to-use software which gives you more control in
managing your chain of shops. It works seamlessly with
your individual shops data (RayMedi Rpos/RE/DE
data) and gives you a consolidated and centralized way
of managing your chain better.  

41
42
RayMedi Deployment Architecture RayMedi HQ gives
you the Real-time business status at HQ from about
every point of sale. From the head office, you can
monitor sales & inventory position at each one of your
store. The software helps you in consolidating the data
from your various branches into one system and do an
integrated analysis of sales, inventory and purchase.
RayMedi HQ primarily focuses on managing your
branch wise sales, purchase, inventory, receivables and
profits. It helps you in controlling expenses, decreasing
costs and increasing your profits.

43
Benefits
Lower your Inventory Investment : Consolidated view
of inventory including the need at each point of sale
facilitates optimum inventory at each point of sale.
Also ensures that stock can be transferred to the point
of sale at short notice. This lowers investment &
increases the return
Increase your ROI : Identify non-moving stock across
the chain, transfer them to where they are selling
and/or return them. Also, identify and return non-
moving stock at purchase value to avoid any loss on
non-moving stock return. Such effective stock transfers
coupled with purchase returns increase the ROI.

44
Best Purchase : As you pool your requirements, the
volume of purchase goes up. This allows you better
negotiating leverage. Combining this with the analysis
of  your sales, purchase and inventory data, allows you
source products from the cheapest and best.
Lower Operating Cost : Optimal utilization of man
power, optimal utilization of store space, effective
inventory management etc. leads to lower operating
costs
Centralized Financial Control : As your business
moves to a model of depositing the entire
receipts/collections with the HQ and all payments are
made from HQ, you get better financial control over 
your business.
45
Fraud Prevention : Real-time / Periodic upload of
point of sale data to the HQ prevents any
tampering with data at the point of sale. This
builds better awareness among point of sale staff
and prevent fraud
Prevent poor practices from becoming bad habits
: Audit trail help HQ know the activities done at
the point of sale and identify the poor practices
such as stock updation, temporary stock addition
etc. Corrective action for such poor practices can
be taken by training the personnel at the point of
sale. This helps in making sure poor practices do
not become bad habits
46
Freeware,Shareware and Open
Source
Free-ware is software you can download, pass around,
and distribute without any initial payment. However, the
great part about free-ware is that you never have to pay
for it. No 30 day limit, no demo versions, no disabled
features -- it's totally free. Things like minor program
updates and small games are commonly distributed as
free-ware. Though free-ware does not cost anything, it
is still copyrighted, so other people can't market the
software as their own.Free-ware is usually a very small
program, released by a student or enthusiast.

47
Shareware
Shareware is a different concept. You can download
and try shareware for free, but if you use it, you are
supposed to pay for it. It is developed and released by
someone who keeps full control of the intellectual
property. The user does not have access to the source
code and cannot modify it. shareware is usually a mid-
sized utility or application, written by a professional
developer or small software company. The developer
or publisher does not have the resources to market it,
so they release it as shareware with a "try-before-you-
buy" business model.

48
Open-source
Open source means that the source code is available to all potential
users, and they are free to use, modify, and re-distribute the source
code. Legally, the "free" of open source refers exclusively to the
source code, and it is possible to have support, services,
documentation, and even binary versions which are not monetarily
free.
open source usually means that the application is free to
users as well as developers. Furthermore, most open source
software have communities that support each other and
collaborate on development. Therefore, unlike freeware,
there are future enhancements, and, unlike shareware, users
are not dependent on a single organization.

49

Você também pode gostar