Introduction to Computer Software - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Introduction to Computer Software

Description:

Physical components of a computer -- Hardware. How information ... and the Bazaar' and 'Homesteading the Noosphere', both at http://www.tuxedo.org/~esr/writings ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 34
Provided by: jhharr
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Computer Software


1
Introduction to Computer Software
James H. Harrison, Jr., M.D., Ph.D. Division of
Pathology Informatics Department of
Pathology University of Pittsburgh Medical
Center CLSI 5807-MT, 200 Lothrop St. Pittsburgh,
PA 15213 jhrsn_at_pitt.edu
2
Outline
  • Physical components of a computer -- Hardware
  • How information is stored and processed
  • Computer programs -- Software
  • Operating systems and device drivers
  • Application programs and data files
  • Computer programming
  • Viruses
  • Software licensing

3
Data Processing
  • All information in a computer is represented as
    binary numbers
  • Integers, decimal numbers, text
  • Graphics and pictures, audio, video
  • Program instructions
  • Analog data must be digitized to be managed by a
    computer
  • Audio and other continuous waveforms, electrical
    signals, colors and brightness

4
Binary Numbers
  • A bit can represent one digit (0 or 1)
  • Combinations of bits store larger numbers
  • 1024 (1K) is represented with 11 bits as
    10000000000 1027 would be 10000000011
  • 8 bits is called a byte and can hold the numbers
    0-255
  • RAM is usually divided into consecutive bytes and
    each byte has a unique numerical address
  • 1K is slightly over 1 thousand bytes, 1MB 1
    million, 1 gigabyte 1 billion, 1 terabyte 1
    trillion

5
Digital Text
  • Every typed character is represented by a number
    (including spaces, tabs and carriage returns)
  • American Standard for Computer Information
    Interchange (ASCII) and Unicode
  • ASCII
  • ASCII is a 128-character set 8 bits (one byte)
    represents one character. Unicode represents
    characters with two bytes.

Hello there, Nerds!

72 101 108 108 111 32 116 104 101 114 101 44 13
78 101 114 115 33
6
Software Architecture
  • Device Drivers
  • System Software
  • Application Software
  • Data files

DD
DD
DD
DD
System Software
Application Software
File
File
Main Memory (RAM)
CPU
Cache
System bus (16, 32, 64 bit)
Video Controller
Disk Controller
Serial Port Controller
Ethernet Port Controller
Other Controllers
Card Slots
7
Software
  • Device Drivers
  • Manage controllers and their peripherals
  • Video card driver software
  • Operating System
  • Overall machine control
  • Provides user interface and services for
    applications (e.g. file management)
  • Windows, MacOS, OS/2, MS-DOS, Unix, Linux, VMS,
    Be
  • Application Programs
  • Generic name for user programs
  • Word, Excel, Photoshop, email clients, etc.
  • Data Files
  • Non-executable lists of data on disk, generally
    written by applications
  • Word processing files, spreadsheets, databases
    (can be app-specific)

8
Operating Systems
  • Provides the "personality" of the computer
  • Command-line OS's
  • MS-DOS, Unix, Linux, mainframe OSs
  • GUI OS's
  • Windows, Mac, Be, OS/2, others
  • Event-driven (point and click)
  • API for widgets common tasks (opening, saving
    files, etc.)
  • Memory management
  • Protected memory
  • Virtual memory
  • Multi-tasking
  • Automatically switching the CPU between multiple
    actions and/or programs running at once

9
Application Programs
  • Often written by third parties for specific
    functions
  • Structure
  • Monolithic -- install by copying
  • Common on Mac
  • Modular -- often use installation program
  • Many separate files
  • Common on Windows, also Mac
  • Dynamically Linked Libraries (DLLs)
  • May be located in application or system directory
  • Allow sharing code and easy updating
  • May lead to software incompatibilities
  • Data files may be associated with the app by the
    OS

10
Data Files
  • Binary files
  • Intelligible only to the program that created
    them unless standard format.
  • ASCII text
  • Readable by any text editor (start editor first,
    then use its open command to locate and open the
    file). Used in most email.
  • RTF (Rich Text Format)
  • Microsoft standard that mixes in formatting
    instructions in ASCII along with the text.
    Readable by most word processors.
  • SYLK
  • Similar to above for spreadsheets.
  • TIFF, GIF, JPEG
  • Image file formats read by many image editors and
    viewers.

11
Computer Programming
  • Computers run programs in machine language, which
    is binary instructions specific for the
    computer's CPU type.
  • Files containing program code are called
    "executable files." In Windows, these files have
    a .exe filename extension.
  • Programmers typically write "source code" using a
    programming language that is compiled to machine
    language prior to running the program.

12
Programming Languages
  • Low-level languages use instructions that are
    relatively close to machine language instructions
  • Fast, small programs
  • Efficient memory usage (if correctly debugged)
  • Difficult to write and debug (time consuming)
  • Not easily portable to other CPUs
  • High-level languages use instructions that
    represent large blocks of machine language code
  • Slower, larger programs that use more memory
  • Easier to write and debug, more rapid development
  • Easier to port to other hardware

13
Programming Languages
TCL Python Perl Visual Basic Java,
C C C Assembly Machine Language
High Level
Good for beginners, quick jobs, and some
large-scale projects where rapid development is
key
Scripting Languages
System Languages
Low Level
14
Computer Software Licenses
  • Proprietary software
  • Cost may be based on
  • Number of machines running the software
  • Number of processors running the software
  • Total number of individual users
  • Number of logged-in users
  • Number of accesses/time
  • Number of terminals connected
  • Licensing may allow use only--no resale or
    donation
  • Terms may not be available until after purchase
    (shrink-wrapped license)

15
Issues with Proprietary Software
  • Incentive to add new features to products to
    attract new customers
  • Resources may be directed away from elegant
    design, debugging and support to create
    checklists of features
  • Incentive to lock in current customers and make
    switching to another vendor difficult
  • Leads to complex, interlocking single-vendor
    packages
  • Part of what's behind the Microsoft antitrust
    case
  • Software reliability
  • Vendor longevity and product lifespan

16
Non-Commercial Software
  • Public domain software
  • Freeware
  • Shareware
  • Open Source software
  • Valuation of software
  • Little intrinsic value as a static product
  • Expectation of future performance is key
  • Software development is a service industry
  • No limitation on software distribution, including
    source
  • Volunteer maintenance model

17
Open Source Software Movement
  • Software including source code can be freely
    distributed
  • Notable successes Linux, BSD Unix, system
    management and communication utilities, text
    editing software, application servers, GNU
    development tools
  • Some of the most reliable and bug-free software
    in existance ("many eyes" gift culture)
  • A variety of licenses--some allow inclusion in
    proprietary products and some don't
  • Successes with software of interest to
    programmers not clear if application software
    will be similar

18
Open Source Positives
  • Low initial software cost
  • Incentive for high quality, appropriate features
    and modular design
  • Locally extendable based on needs
  • May be more maintainable over the long term
  • Significant intellectual impact on the industry
    over the past three years
  • But--requires local expertise and commitment to
    maintenance could reveal key business processes

19
Enterprise Information Systems
20
Mainframe-terminal Applications
Mainframe Computer
  • Highly reliable
  • Relatively low maintenance for large systems
  • Good security
  • Inflexible
  • Expensive (all in I.T. budget)
  • User interface often limited
  • All processing on central computer

User terminals
21
Client-server Applications
  • Inexpensive desktop/workstation hardware
  • Distributed processing data on server,
    processing on workstations
  • Communication via shared network
  • Familiar graphical interface
  • Flexible peripheral workstations
  • Scaling may be expensive
  • Substantially higher "peripheral" maintenance
  • Often lower reliability
  • Security can be problematic

Data Server
Data
TCP/IP
Client
Client
Client
Workstations
22
Thin Client Applications
Data Server
Application Server
  • Desktop/Workstation hardware
  • Distributed processing
  • "Just-in-time" software distribution
  • Shared network
  • Graphical interface
  • Flexible workstations in some configurations
  • Substantially lower peripheral maintenance
  • Currently relatively slow performance

Web
Data
Java
TCP/IP
Java
Java
Java
Workstations with standard browsers (provide
application shell)
23
Interface Number Problem
3
6
10
The number of interfaces required to connect
systems
Sum 1 2 3 4 (n-1)
24
Interface Engine (Message Router)
5
25
Three-tier Architecture
Presentation Layer Middleware Data Sources
Web browser Java VM Java applet Web
server Application server Interface engine
Business rules Database connectivity DB
managers Legacy systems
Network
Network
26
Externalizing Functions to Create Services
Patient Demog
Patient Demog
Patient Demog
Patient Demog
Anatomic Path
Pharmacy
Hospital ADT
Lab
27
Externalizing Functions to Create Services
Patient Demog
Person Information (MPI)
Anatomic Path
Pharmacy
Hospital ADT
Lab
Patient demographic information requested as
service from MPI
28
Candidate Services for Externalization
  • Person identification (MPI)
  • Enterprise-wide vocabulary and coding schemes
  • Notification
  • Event scheduling
  • Security (single logon)
  • Decision-support/expert systems

29
Transactional Systems(Databases to be discussed
in more detail later)
  • Transactional systems
  • Transaction an event that retrieves or updates
    data
  • Commit if success, rollback if failure
  • Structured for speed in managing small increments
    of data
  • Typical design for production systems
  • Reliable updating of multiple data files or
    systems
  • Update transaction
  • Result a new sodium value or final an AP report
  • Lookup transaction
  • Get AP report for John Doe on 6/23/2000

30
Technical Layout of an Enterprise Architecture
Users
Middleware
Anatomic Path
Pharmacy
Hospital ADT
Lab
Repository
Warehouse
31
Standards-based Application Servers with Shared
Data Repositories
Data Storage
  • Separation of data from application logic
  • Data integration
  • Standard networking and communications protocols
  • Standard terminology
  • Single logon and patient identification
  • Population queries
  • Clinical decision support (rules alerts)
  • Flexible notification
  • Simpler client maintenance with mobile access

Data Repository
Data Warehouse
Knowledge Base
MPI
ADT
Scheduling
Order Entry
Lab
Radiol
Event Monitor
Notifier
Terminology Server
Application logic
PCs with "thin clients" Laptops and palmtops with
RF connections
32
Summary
  • Information processing and software architecture
  • Binary numbers, ASCII, RTF, SYLK, TIFF, JPEG, GIF
  • Device drivers, OS, application architecture,
    data files
  • Programming in low level and high level languages
  • Computer software licensing Open Source software
  • Enterprise information systems mainframe, c/s,
    tiered
  • Shared/externalized services
  • Transactional systems
  • Application servers and shared data repositories

33
References
  • Davies. Introduction to computer hardware and
    software what the language teacher needs to
    know. http//www.ict4lt.org/en/en_mod1-2.htm
  • Introduction to Computer Hardware and Software.
    http//vishwa.tfe.gatech.edu/1040/barath/chapter1/
    chapter1.htm
  • Lewis and Loftus. Java Software Solutions
    Foundations of Program Design. http//rum.cs.yale.
    edu/cs112/notes/html/chap01/sld001.htm
  • Perens. Open Sources Voices from the Open Source
    Revolution. http//www.oreilly.com/catalog/opensou
    rces/book/perens.html
  • Raymond. "The Cathedral and the Bazaar" and
    "Homesteading the Noosphere", both at
    http//www.tuxedo.org/esr/writings/
  • Hripcsak, G. IAIMS Architecture. JAMIA 4S20-S30,
    1997.
Write a Comment
User Comments (0)
About PowerShow.com