270 likes | 315 Views
Information System Software. J. S. Chou, P.E., Ph.D. Assistant Professor. Classes of Software. System Software The collection of programs that control the basic functions of computer hardware. Application Software
E N D
Information System Software J. S. Chou, P.E., Ph.D. Assistant Professor
Classes of Software System Software The collection of programs that control the basic functions of computer hardware Application Software Programs that let the user perform a specific task or operation by interacting with the system software Development Languages and Environments Automated software tools used by system developers to design and implement information systems
Operating System Operating System Manages common tasks for computers including getting input from a device, reading and/or writing data from a storage device, and presenting information to the user • Common Functions • Booting or (starting) the computer • Reading programs into memory and managing memory allocation • Managing where programs and files are located in secondary storage • Maintaining the structure of directories and subdirectories • Formatting disks • Controlling the computer monitor • Sending documents to the printer
Operating System – Interfaces Interfaces After boot up, the computer provides an interface for the user or programmer to interact with it. Different operating systems use different types • Common Interface Type • Command-based interface– this type requires a user to type commands to perform basic functions (i.e. “DELETE File1” means erase “File1”) • Menu interface – this type presents a list of options from which the user selects to invoke a command or system operation • Graphical user interface (GUI) – the most common interface today that uses pictures, icons, and menus to send instructions form the user to the computer system
Operating Systems - Utilities Utilities: Programs that manage computer resources and files andmay be included in the operating system or purchased separately as needed
Application Software Application Software This software performs specific user functions (e.g. e-mail) • Customized Application Software • Software that is developed to meet the specification of an organization. This can be developed “in-house” by IS staff or by an outside vendor. Advantages include: • Customizability – tailored to meet specific needs • Problem specificity – pay for only those functions that are developed for and used by the organization Off-the-Shelf Software Packaged software developed by a vendor for a particular problem or industry but is not specific to an organization. This is a lower cost approach that may be combined with custom development to tailor it
Types of Application Software Types of Application Software Application software come in two types for use by organizations: 1) large business systems and office automation; 2) personal productivity tools • Business Systems • These large systems support enterprise-wide operations such as: • Accounting -A/P, A/R, general ledger, payroll • Operations - inventory management, order processing, shipping, etc. • Personal Productivity • Used by individuals or groups to support a variety of common tasks such as: • Communication – e-mail, word processing • Scheduling – group calendars • Analysis - spreadsheets
Open Source Software Open Source A special class of software that includes operating systems, application software, and programming languages in which the source code (the actual program code) is freely available to the general public for use and/or modification • Popular Open Source Applications • A number of mainstream open source applications can be found across many organizations. Here are just a few: • Operating systems – Linux • Web browsers – Mozilla • Web servers – Apache • E-mail processing – Sendmail • Internet domain naming service – BIND • Secure connection standard - OpenSSL
Open Source Software Open Source Initiative (OSI) The OSI is a certification process developed by the open source community to ensure that open source software meets a set of standards • OSI Standards • The author or holder of the license of the source code (SC) cannot collect royalties on the distribution of the program • The distributed program must make the SC accessible to the user • The author must allow modifications of the work under the program’s original name • No person, group, or field of endeavor can be denied access to the program • The rights attached to the program must not depend on the program’s being part of a particular software distribution
Compilers, Languages, and Environments Compilers and Interpreters Software designed to translate programming languages into machine code or binary in order to allow the computer to execute the program instructions Programming Languages Languages used to write program instructions that have evolved from early “machine language” to higher-level languages that are easier to write and understand Automated Development Environments Automated software tools used by systems developers to design and implement information systems and increase quality and productivity
Open Source Software Compilers These highly-specialized software applications are used to convert program instructions (source code) into the machine code (object code) prior to being loaded into a computer’s secondary storage Compiler Example
Compilers and Interpreters Interpreter These specialized software applications are similar to compilers but instead of translating the source code to machine language prior to loading, it reads, translates, and executes one line of source code at a time during operation Interpreter Example
Programming Languages - Generations Programming Languages These languages are used to write program instructions and have evolved over time making them more powerful, easier to read and write, and more natural language-focused Generations of Programming Languages mid 1950s 1940s 1950s 1970s 1990s 1st Machine Binary 2nd Symbolic Use of symbols 3rd High-Level Use English like words for procedures 4th Outcome Oriented Use outcome focused words 5th Artificial Intelligence Natural language (spoken English)
Programming Languages – More Recent High-Level • Object-Oriented Programming (OOP) • These languages allow programmers to group data and program instructions together into modules (objects) that can be manipulated by a programmer (e.g Java or C++). Characteristics of OOPs programming include: • Encapsulation – grouping pieces of data together • Inheritance – as one class of objects are defined, all other objects with the same characteristic are automatically defined • Event-driven – these programs are driven by events (e.g. a button being pushed) instead of following sequential logic Visual Languages These languages take advantage of graphical user interfaces (GUIs) allowing additions of visual objects (e.g. buttons) with a few clicks versus coding the object pixel by pixel
Programming Languages – Web Development Web Development Languages These languages are used to develop Web pages and operations using both static and dynamic content Hypertext Markup Language (HTML) This is a text-based file format that uses a series of codes, or tags to set up a document. Programming can be done either in native HTML or using an HTML editor that generates the HTML code from visual renderings Extensible Markup Language (XML) XML was designed to be used as a Web page construction tool allowing users to create markup tags or build database queries. It is a powerful language used to create database fields for accessing databases from Web pages and can be read using a browser called an XML parser
Programming Languages – Web Development Dynamic Content Markup languages are used for laying out or formatting content, while dynamic languages are needed to provide animation or dynamic (changing) content • Dynamic Languages • Several languages are available for creating dynamic content such as: • Java – Invented by Sun Microsystems, this language is very popular for use in Web pages to provide animation (applets) or for writing more general purpose programs allowing them to run on all platforms • ActiveX – Invented by Microsoft to perform the same function as Java but is designed to run under MS Windows • Scripting Languages (JavaScript) – this language allows the direct inbedding of program functions (scripts) into HTML pages and is frequently used for validation of user input (e.g. validate zip code)
Processing – Automated Development Environments Computer-aided Software Engineering (CASE) These are automated software tools used by systems developers to design and implement information systems. These tools continue to evolve and come in many types
Automated Development Environments – CASE Influence Influence of CASE Tools on Individuals CASE can dramatically increase the speed and quality of system development and maintenance while having a strong impact on culture. For IS managers it is commonly positive due to higher quality and lower risk, while for IS developers it is often negative for fear of replacement