Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 4 Computer Software Slide 1 Well, Sort-of.

Similar presentations


Presentation on theme: "Chapter 4 Computer Software Slide 1 Well, Sort-of."— Presentation transcript:

1 Chapter 4 Computer Software Slide 1 Well, Sort-of

2 Chapter 4 Computer Software Slide 2  Various kinds of programs used to operate computers and related devices What is Software?? How did it come about??  The first software program was actually written about 1833 by Ada Augusta Lovelace (Lord Byron’s Daughter)Ada Augusta Lovelace  We can skip forward to computer programs, however

3 Chapter 4 Computer Software Slide 3  Programming Languages  First Generation Languages (Machine Language)  Suppose that I wanted to add two numbers together, for example 2 + 3 First, we would have to move the values into two registers in the CPU’s Internal Storage R1R2 23 Next I would have the ALU to add the contents of the registers and store the result in Register 2 (maybe) R2 5 (Well, Kind of – It’s a little more involved)

4 Chapter 4 Computer Software Slide 4  Programming Languages  First Generation Languages (Machine Language)  We Actually have to do a few things. First we have to find the operating code, or op code (by number) to move the data (let’s assume the command is number 28) Of course, we have know the identifying number for each of the registers (assume R1 = 12; R2 = 13) Finally, we have to find the op code for addition (Assume it is 37). The code I enter might be: 28 2 12; 28 3 13; 37 12 13 13; (Well, Kind of – It’s a little more involved)

5 Chapter 4 Computer Software Slide 5  Programming Languages  First Generation Languages (Machine Language)  Let’s not forget that the computer is just a series of light-switches (binary). Therefore we need to convert our decimal values to binary: 2 = 000000000000010 (on 16-bits) 3 = 000000000000011 (on 16-bits) 12 = 00001100 (on 8-bits) 13 = 00001101 (on 8-bits) 28 = 00011100 (on 8-bits) 37 = 00100101 (on 8-bits) Therefore, We would enter the commands: 00011100 000000000000010 00001100; 00011100 000000000000011 00001101; 00100101 00001100 00001101 00001101;

6 Chapter 4 Computer Software Slide 6  Programming Languages  Second Generation Languages (Assembly – c1948)  The advancement over machine level languages was that it was mnemonic (assisting or intended to assist the memory) We did not need to know the specific register addresses We did not need to know the op codes For the previous example, the code we enter might be: MOV 2 R1; MOV 3 R2; ADD R1 R2 R2;  An Assembler would then transfer the commands into a machine level language

7 Chapter 4 Computer Software Slide 7  Programming Languages  Third Generation Languages (mid - late 1950’s)  The advancement over assembly level languages was that programmers did not need to know either the op codes nor the registers used Specific locations in RAM were referred to by a user defined name The compiler or interpreter, as well as the operating system, kept track of the specific locations For the previous example, the code we enter might be: X = 2 + 3 (FORTRAN)  The code would then be rewritten as either an assembly language code or directly to a machine level language

8 Chapter 4 Computer Software Slide 8  Programming Languages  Third Generation Languages (mid – late1950’s)  In the above example ‘X’ is a specific location in RAM, although we don’t have to know where it is It is usually referred to as a variable Although it can be a constant Meaning that we can change the contents of the location as we wish Meaning that once we set its value, it can not be changed  Either way, the address is assigned by the operating system at run time and managed by the compiled program (i.e., the machine-level program)

9 Chapter 4 Computer Software Slide 9  Programming Languages  Comparison of COBOL and FORTRAN (Hello World)  COBOL (COmmon Business-Oriented Language) 001 IDENTIFICATION DIVISION. 002 PROGRAM-ID. 'HELLO'. 003 ENVIRONMENT DIVISION. 004 CONFIGURATION SECTION. 005 SOURCE-COMPUTER. IBM-360. 006 OBJECT-COMPUTER. IBM-360. 0065 SPECIAL-NAMES. 0066 CONSOLE IS CNSL. 007 DATA DIVISION. 008 WORKING-STORAGE SECTION. 009 77 HELLO-CONST PIC X(12) VALUE 'HELLO, WORLD'. 075 PROCEDURE DIVISION. 090 000-DISPLAY. 100 DISPLAY HELLO-CONST UPON CNSL. 110 STOP RUN. Intended to process large amounts of data as a batch Edsger Dijkstra, winner of the Turing Award remarked that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."

10 Chapter 4 Computer Software Slide 10  Programming Languages  Comparison of COBOL and FORTRAN (Hello World)  FORTRAN (FORmula TRANslation) PROGRAM MAIN PRINT *, 'HELLO WORLD' STOP END Intended as a ‘Scientific Language’ It is one of the most popular languages in the area of high- performance computing and is the language used for programs that benchmark and rank the world's fastest supercomputers.

11 Chapter 4 Computer Software Slide 11  Programming Languages  Third Generation Languages (mid 1950’s)  Third generation languages are Procedural in nature If, for example, we want to find the average age of a class, we need to know the procedures involved We need to add every persons age in a class together We then need to divide the sum of every persons age by the number of people in the class The result is the average age of the class  Third generation languages are also known as structured programming

12 Chapter 4 Computer Software Slide 12  Programming Languages  Third Generation Languages (mid 1950’s)  Third generation languages are also referred to as ‘High-level Languages’ (so are 4 th generation languages)  Third generation languages (as well as 4 th generation languages) may be either interpreted or translated languages (although they are generally translated) What’s the difference??

13 Chapter 4 Computer Software Slide 13  Programming Languages  Third Generation Languages (mid 1950’s)  Think of a person who works at the United Nations  As soon as these people get a phrase of what a person is talking about, they put it into the language which they are interpreting  At the end of the day, they might not even know what the speech was about (That is not their job)

14 Chapter 4 Computer Software Slide 14  Programming Languages  Third Generation Languages (mid 1950’s)  Now think of someone whose job is to translate a book from one language to another S/he will read the book many times S/he will try and find the best way to say what the author was trying to say (That IS their job) What does this have to do with computers??

15 Chapter 4 Computer Software Slide 15  Programming Languages  Third Generation Languages (mid 1950’s)  There are two classes of program languages Those that are interpreted Those that are translated or compiled BASIC started as an interpreted language The compiler makes a few ‘passes’ through the code It first checks syntax It next checks simple logic It sets-up variable tables The compiler creates a separate executable (.exe) or command file (.com) These file are machine language files

16 Chapter 4 Computer Software Slide 16  Programming Languages  Third Generation Languages (mid 1950’s)  Third generation languages are also referred to as ‘High-level Languages’ (so are 4 th generation languages) If, for example, we want to find the average age of a class, we need to know the procedures involved We need to add every persons age in a class together We then need to divide the sum of every persons age by the number of people in the class The result is the average age of the class

17 Chapter 4 Computer Software Slide 17  Programming Languages  Fourth Generation Languages (4GLs)  4GLs are non-procedural languages If, for example, we want to find the average age of a class, we need to enter the command The procedures are built-into the commands Get Class Average (or something similar) These end result is still the creation of machine language files

18 Chapter 4 Computer Software Slide 18  Programming Languages  Fifth Generation Languages (5GLs)  Maybe --- Someday Sounds a little like a Star Trek episode “Computer – Save the world”  The intention is have speech recognition Artificial Intelligence (AI) programs that allow speech recognition

19 Chapter 4 Computer Software Slide 19  Programming Languages  Programming Tools  Help programmers identify and minimize errors while they program Graphical Programming environments: Akin to toolbars and menus  Provide a computer-aided programming environment Program Editors: Packages for source code creation which check key words, structures as the program is typed in Debuggers: a computer program that is used to test and debug other programs.

20 Chapter 4 Computer Software Slide 20  Programming Languages  Computer-Aided Software Engineering (CASE)  Allow program development through the use of system development models e.g., Entity Relationship Diagrams  Once the model has been constructed, the CASE tool constructs the data dictionary and can create the DBMS code (in SQL or any other language) An ERD is a model for graphically showing the contents of a database table and its relationships to other tables

21 Chapter 4 Computer Software Slide 21  Programming Languages  Web Languages  Languages for building multi-media web applications Page description language that creates hypertext and hypertext linkages  Hypertext Mark-up Languages (HTML) Hyperlinks: allows control to be given to other parts of a document or to any document on the WWW HTML can be created from various programs (Word, Frontpage) without formal training in HTML

22 Chapter 4 Computer Software Slide 22  Programming Languages  Web Languages Describes the contents of webpages by applying identifying tags (contextual labels) to the data in web documents  eXtesible Markup Languages (XML) Its primary purpose is to facilitate the sharing of data across different information systems, particularly systems connected via the Internet XML supports the automatic electronic exchange of business data between companies and their customers, vendors, suppliers and partners

23 Chapter 4 Computer Software Slide 23  Programming Languages  Web Languages OOP language  Java Consists of small applets that can be connected and used on any operating system Programmers are spared the burden of having to perform manual memory management. Your On-line quizzes are Javascripts

24 Chapter 4 Computer Software Slide 24  Programming Languages  Web Languages OOP language an object-oriented programming language that is simple, secure and platform independent  Java Consists of small applets that can be connected and used on any operating system Programmers are spared the burden of having to perform manual memory management. Your On-line quizzes are Javascripts

25 Chapter 4 Computer Software Slide 25  Programming Languages  Object Oriented Programming (OOP)  Sometimes also referred to as 5GLs (???) C++  An object consists of data and procedures that can be performed on the data Java Visual Basic

26 Chapter 4 Computer Software Slide 26 End Users Applications Software General Purpose – Application Specific System Software System Mgt & Development  Types of Software Computer Hardware

27 Chapter 4 Computer Software Slide 27  Types of Software

28 Chapter 4 Computer Software Slide 28  Types of Software Systems Management Programs Computer Software System Software System Management Programs System Development Programs These have already been covered

29 Chapter 4 Computer Software Slide 29  System Software  Programs that manage the hardware, software, network, and data resources of computer systems Operating Systems An integrated system of programs that manages the operations of the CPU, controls I/O, storage resources and provides various support services as the computer executes applications  UNIX  Windows/Vista  Linux  Mac OS X

30 Chapter 4 Computer Software Slide 30 Operating System Interfaces The part of the OS that allows communication with it to load programs, access files, and accomplish other tasks Types: Command-Driven Menu-Driven GUI  System Software

31 Chapter 4 Computer Software Slide 31 Operating System Functions Programs to manage the hardware and networking resources of a computer system, including its CPU, memory, secondary storage devices, telecommunications processors, and input/output peripherals  Resource Management  Memory management programs keep track of where data and programs are stored  Swapping of programs of programs between RAM and secondary storage  Swapping allows for virtual memory whereby programs can process more than RAM would normally allow  System Software

32 Chapter 4 Computer Software Slide 32 Programs to control the creation, deletion and access of data and programs  File Management  Keeping track of the physical location of files on secondary storage  Maintaining directories of information about the location and characteristics of files stored on secondary storage Operating System Functions  System Software

33 Chapter 4 Computer Software Slide 33 Managing the accomplishment of several programs  Task Management  Your text applies that multitasking and multi- programming are the same (NOT):  Multitasking: performing many applications at what appears to be the same time (not possible if you have you have only 1 CPU)  Multiprocessing: performing many applications at the same time (assumes that you have more than 1 CPU – but be careful: 2 processors does not imply you can do twice the work of 1) Operating System Functions  System Software

34 Chapter 4 Computer Software Slide 34  Utilities: Consider those available in XP: Operating System Functions  System Software

35 Chapter 4 Computer Software Slide 35  Security Monitors: Monitor and control computer usage, checking for unauthorized usage  Character Map: Preferred Character set  Disk Clean-up: Archiving/deleting infrequently used programs/data  Disk defragmenter: Putting fragmented files back together so they con be collected faster  Performance Monitors: Monitor and adjust the performance of computer systems to keep them running efficiently Operating System Functions  System Software  Utilities: Consider those available in XP:

36 Chapter 4 Computer Software Slide 36  Other Systems Software  Middleware: software that helps diverse software applications and networked computer systems exchange data and work together more efficiently Web Servers Enterprise Application Integration (EAI)Enterprise Application Integration Application Servers: Software which provides an interface between an operating system and application programs of users Operating System Functions  System Software

37 Chapter 4 Computer Software Slide 37 Operating Systems The founding goal of the GNU project was, in the words of its initial announcement, to develop "a sufficient body of free software [...] to get along without any software that is not free."  Linux  created by Linus Torvalds in 1991  includes system utilities & libraries from the GNU Project  Open Source Hardware: Free Stable Easily fixed if bugs appear (A quick Aside)

38 Chapter 4 Computer Software Slide 38 Operating Systems  Linux  Low-cost alternative in sagging economy  IBM made an effort to be Linux-compatible Why did Linux become popular??  Fear of Microsoft gaining a stranglehold on corporate customers  Intel loosened its relationship with Microsoft

39 Chapter 4 Computer Software Slide 39 Operating Systems  Linux  Linux runs almost 15% of all servers  Only 1% of PCs use Linux but 30% of CIOs were considering moving their companies’ PCs to Linux How is Linux doing?? How is Linux doing??  Growing at 23% per year  Over 10% of IBM mainframe sales run Linux  By 2011, Linux was running 95% of all Supercomputers.

40 Chapter 4 Computer Software Slide 40  Types of Software Applications Software: perform information processing tasks for end users Computer Software Application Software General Purpose Applications Application Specific Programs programs that perform common information processing jobs for end users support specific applications of end users in business and other fields

41 Chapter 4 Computer Software Slide 41  General-Purpose Application Software  Software Suites: Several programs bundled together Cheaper than cost of all individual programs Use similar GUIs (Icons, menus, etc) Share similar tools (spell checkers, wizards, hot keys) Problem: Bloatware

42 Chapter 4 Computer Software Slide 42  General-Purpose Application Software  Integrated Packages: Provides some of the features of several programs in one software package Omit some features found in software suites Cheaper Requires less storage  Web Browsers: Software interface used to point and click through the hyperlinked resources of the Internet MS Explorer Netscape navigator (defunct) Mozilla Foxfire (freeware)

43 Chapter 4 Computer Software Slide 43  General-Purpose Application Software  Electronic Mail: software used to send and receive electronic messages and file attachments via the Internet, intranets or extranets MS Outlook, Yahoo!Mail, Gmail  Instant Messaging: software used to send and receive electronic messages instantly to facilitate real time communication and collaboration AOL Instant Messenger MSN Messenger Yahoo! Messenger

44 Chapter 4 Computer Software Slide 44  General-Purpose Application Software  Word Processing: software that supports the creation, editing, revision and printing of documents Include features such as spellchecking, thesaurus, and grammar correction  Desktop Publication: software that supports the production of materials that look professionally published Professional quality publications which integrate text and graphics

45 Chapter 4 Computer Software Slide 45  General-Purpose Application Software  Electronic Spreadsheets: Software that supports the development of electronic worksheets consisting of rows and columns used for business analysis, planning and modeling  Presentation Graphics: Software that helps convert numeric data into graphics displays and prepare multimedia presentations including graphics, photos, animation, and video clips

46 Chapter 4 Computer Software Slide 46  General-Purpose Application Software  Video Software: Software that supports the development of full video, usually along with text and audio  Personal Information Manager (PIM): Software for end user productivity and collaboration It usually includes the ability to import and export video, cut and paste sections of a video clip, add special effects and transitions Organizes data and retrieves information in a variety of forms (e.g., calendar) and allows distribution to others

47 Chapter 4 Computer Software Slide 47  General-Purpose Application Software  Groupware: Software that helps workgroups and teams work together to accomplish group assignments Also called collaborative software Relies on the Internet, Intranets and Extranets on a global scale by virtual teams located anywhere in the world Lotus Notes Microsoft Exchange Microsoft’s SharePoint and IBM’s Webshare allow quick creation of websites to share information MS Word and MS Excel keep track of who made changes to the documents

48 Chapter 4 Computer Software Slide 48  Software Implementation  Custom Software: software applications that are developed within an organization for use by that organization  Commercial Off-the-shelf (COTS) Software: software that is developed by a software developer with the intention of selling the software in multiple copies

49 Chapter 4 Computer Software Slide 49  Software Implementation  The Buy (COTS) v. Build (Custom) Argument COTS Cheaper acquisition and deployment costs Thoroughly Tested Documentation included Over time, the number of applications have increased dramatically COTS software packages, even customized, are probably less suited to your firm’s specific needs and challenges You can readily make changes as necessary You can specify which modules to include You control the quality of documentation Build Bottom Line BUY if the system if a fundamental requirement of doing business BUILD if the system gives you a competitive advantage

50 Chapter 4 Computer Software Slide 50  Application Service Providers (ASP): companies that own, operate, and maintain application software and the computer system resources required to offer the use of the application software for a fee as a service over the Internet Application Service Providers Lower cost of initial investment Lower cost of operating and maintaining software Reduces the need for much of the IT Infrastructure and IT Personnel  Software Implementation

51 Chapter 4 Computer Software Slide 51  Software Licensing: Purchasing the right to use specific software under the terms of the software licensing agreement Intended to protects the vendor’s intellectual property right Purchasing a piece of software does NOT mean ownership; it is a license to use the software The license prohibits duplication or resale of multiple copies of the software  Software Implementation

52 Chapter 4 Computer Software Slide 52


Download ppt "Chapter 4 Computer Software Slide 1 Well, Sort-of."

Similar presentations


Ads by Google