Download Information Systems Software - Jui

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Programming language wikipedia , lookup

Go (programming language) wikipedia , lookup

Structured programming wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Software quality wikipedia , lookup

Object-oriented programming wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Software bug wikipedia , lookup

Transcript
Information System Software
J. S. Chou, P.E., Ph.D.
Assistant Professor
1
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
Information Systems Today
2
System Software – a.k.a. Operating Systems
Information Systems Today
3
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
Information Systems Today
4
Operating System
Information Systems Today
5
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
Information Systems Today
6
Common Operating Systems
Information Systems Today
7
Operating Systems - Utilities
Utilities:
Programs
that manage
computer
resources
and files
and may be
included in
the
operating
system or
purchased
separately
as needed
Information Systems Today
8
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
Information Systems Today
9
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:
Personal Productivity
Used by individuals or
groups to support a variety
of common tasks such as:
• Accounting -A/P, A/R,
general ledger, payroll
• Communication – e-mail,
word processing
• Operations - inventory
management, order
processing, shipping, etc.
• Scheduling – group
calendars
Information Systems Today
• Analysis - spreadsheets
10
Application Software Examples
Information Systems Today
11
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
Information Systems Today
12
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
Information Systems Today
13
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
Information Systems Today
14
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
Information Systems Today
15
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
Information Systems Today
16
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
1940s
1950s
mid
1950s
1st
2nd
3rd
Machine
Binary
Symbolic
Use of
symbols
High-Level
Use English
like words for
procedures
Information Systems Today
17
1970s
1990s
4th
Outcome
Oriented
Use
outcome
focused
words
5th
Artificial
Intelligence
Natural
language
(spoken
English)
Popular Programming Languages
Information Systems Today
18
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
Information Systems Today
19
Programming Languages – Visual Language example
Information Systems Today
20
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
Information Systems Today
21
Programming Languages – Common HTML Tags
Information Systems Today
22
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)
Information Systems Today
23
Programming Languages – A Java Enabled Web Page
Information Systems Today
24
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
Information Systems Today
25
Automated Development Environments – A CASE Tool
Information Systems Today
26
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
Information Systems Today
27