Docstoc

MIS Software_4_5_1_

Document Sample
MIS Software_4_5_1_ Powered By Docstoc
					  Information Systems
       Software:
 Software, Systems and
 Applications Software
Term: 2010/2009
Week 5
Index – Information Systems
Software: Software, Systems and
Applications Softwares
1.        General Inf o on Sof tware
     1.          Definition of Software
     2.          Issues and Trends
     3.          Ownership and Licencing – Discussion and Facts
2.        Types of Sof tware
     1.          Software Concepts
     2.          Systems Software
     3.          Operating Systems
     4.          Utility Software
     5.          Application Software
3.        Sof tware Development Tools
     1.          Programmin Languages Terminology
     2.          Object Oriented Languages
     3.          Visual Programming Languages
     4.          Fifth Generation Languages
     5.          CASE
     6.          IDEs
     7.          Shell
     8.          Testing
4.        Application Software
     1.          Sources of Application Software
     2.          Office Programs – Word Processing, Spreadsheets etc.
     3.          Databases
     4.          Graphics
     5.          Software Suites
     6.          OLE
     7.          ERP
     8.          Business Intelligence Software
     9.          Middleware
What is „Software‟?
    No computer can work without software!
    A series of detailed statements/instructions that
     control the operation of a computer system.
    Software exists as programs or a set of programs
     that are developed by computer programmers.
    Programs carry out special tasks, they are formed
     by command lines.
    In order to execute or have its instructions
     performed by the computer, a program must be
     stored in the computer‟s primary storage along with
     the required data.
        “Stored program”
        Once a program finishes executing, the computer
         hardware can bu used for another task by loading a
         new program into primary storage.
    The Importance of
    Software in Business

High
                              Software



$                             Hardware

Low
       1950           today
              time
         Spheres of Influence

 Personal
   Softwares that serve the needs of an individual user

 Workgroup
   Two or more people who work together to achieve a
    common goal
 Enterprise
   Softwares that support the firm in its interaction with
    its environment.
Commercial Terms of Software
 Software licensing
    Protection by software vendors to prevent
     unauthorized use
    Question: Should software have licences?
    Article Reading on Stallman‟s Free Software
     Movement
 Software upgrades
    A revised version of software that usually includes
     fixes of known problems, plus enhancements to
     existing capabilities -
 Global software support
    Software that is distributed around the globe may
     require unique support mechanisms due to local
     political and economic conditions
    Ownership
 Freeware:
        Copyrighted software given away for free by the author. Although it is
         available for free, the author retains the copyright, which means that you
         cannot do anything with it that is not expressly allowed by the author. Usually,
         the author allows people to use the software, but not sell it.
   Shareware:
        Software distributed on the basis of an honor system. Most shareware is
         delivered free of charge, but the author usually requests that you pay a small
         fee if you like the program and use it regularly. By sending the small fee, you
         become registered with the producer so that you can receive service
         assistance and updates. You can copy shareware and pass it along to friends
         and colleagues, but they too are expected to pay a fee if they use the
         product. Shareware is inexpensive because it is usually produced by a single
         programmer and is offered directly to customers.
        Thus, there are practically no packaging or advertising expenses. Note that
         shareware differs from public-domain software in that shareware is
         copyrighted. This means that you cannot sell a shareware product as your
         own.
 Public-domain software:
    Refers to any program that is not copyrighted. Public-domain software is free
     and can be used without restrictions. The term public-domain software is
     often used incorrectly to include freeware, free software that is nevertheless
     copyrighted.
                 FLOSS
   Free/Libre Open Source Software (FLOSS) has reshaped software technology through
    the creation of developer/user communities that
        enabled the collaboration of different parties
        Served as “learning, reviewing, and testing” environments for developer
        acted as innovation networks that improve the innovative capabilities of
         developers
        Acted as user communities with a pattern of user innovation, with their abilities for
         enabling product development, creating, sustaining, consuming and supporting
         innovations, “without manufacturer involvement “

   FLOSS Communities: A valuable platform for the collaboration of high-tech
    professionals and researchers in similar fields of technology.
      No limitation for taking part in innovation process - no national, regional, cultural borders
        (Internet)
      Replacing the traditional closed cathedral model with the new open bazaar model
        (Metaphors of Raymond: Cathedral for proprietary software development with hidden
        codes, Bazaar for FLOSS development).
      Peer review process: Code is available for all to review and contribute to-Direct, specific
        and immediate feedback on the software code that others write and submit
            FLOSS Development and
            Adoption in Developing Countries
Benefits:
            - Benefits
 Low total cost of ownership
 Good performance and flexibility for localization
 Open Knowledge base- Collaborative development as a learning
    platform- Knowledge base creation/skills development in
    programming - improving the innovation capacity of local
    software producers
   National security and transparency (critical for government and public sector)
   Prevents the widespread “unauthorized copying of software”
   Reduces barriers to competition that threaten the local software industries

Requirements:
 the appropriate infrastructures
        financial
        technical
        human resource
  FLOSS Communities as Innovative
  Networks – User collaboration
                                  Two dimensions of innovativeness for community
                                      1. Innovative producer/developer networks
                                      2. Function as innovative user networks
 Information                 Information
               Development
                                                       FLOSS
FLOSS          communities       Innovation            Development
Projects                        communities
                  User/
                consumer
               communities
                                           Feedback - Bugs, usability reporting

               Information                            Become
                                            End                     Contributors
                                           Users                   or developers
                                                         Act as

                                           Feedback - Bugs, usability reporting
 Open Source Software
 Companies producing computer software face the problem that their
   products can easily be copied and sold by others. Therefore, many
   software companies have licencing agreements that allow others to
   use the software and modify it. However, licenced users do not have
   the right either to copyright their modified versions or to transfer the
   software to someone else. Ownership of any software derived from
   the original product remains with the original producer. Computer
   software licencing agreements often contain the following provisions
   (Stephenson 1994, p. 183):
       An annual licencing fee, payable by the licencee in exchange for the right
        to use its modified versions;
       Consulting fees, by which software owners have an on-going advisory
        relationship with their licencees.
 Licencing agreements based on such a model could enable a
   traditional community to gain an income by sharing its knowledge with
   outsiders, while at the same time preventing unwanted commercial
   exploitation. One way to adopt the model would be as a confidentiality
   clause of a contract involving the transfer of the indigenous
   knowledge. Contracting parties receiving this knowledge would have
   to pay fees to the community providing it and to undertake not to
   transfer the knowledge to others.
Open Source Software
   Open source software produced by a community of several hundred thousand
    programmers around the world.
   According to the leading open soırce professional community,
    OpenSource.org, open source software is free and can be modified by users.
    Works derived from the original code must also be free, and the software can
    be redistributed by the user without additional licensing.
   OSS is by definition not restricted to any specific operating system or
    hardware technology, although most open source software is currently based
    on a Linux or Unix operating system.
   OSS is based on the premise that it is superior to commercially produced
    proprietary software. Because thousands of programmers working for no pay
    can read, perfect, distribute, and modify the source code much faster, an with
    reliable results, than small teams of programmers working for a single
    software company.
   The open source movement has been evolving for more than 30 years and
    has demostrated after many years of effort that it can produce commercially
    acceptable, high quality software.
   Thousands of OSS are available from websites including Linux OS, Apache
    HTTP Server, Mozilla Firefox web browser, OpenOffice desktop suite.
   Read Open Source Initiative…
    Linux and Open Source Software
 Linux is the most famous OSS. Linux is related to UNIX.
 Created by the Finnish Programmer Linus Torvalds and first posted
    to Internet in August 1991.
   Linux applications are embedded in cell phones, smartphones,
    netbooks, and other handheld devices.
   Linux is available in free versions downloadable from the internet or
    in low cost commercial versions that include tools and support from
    vendors such as Red Hat.
   Linux is currently a small but rapidly growing presence on the
    desktop, especially as an operating system for netbooks.
   Has a major role in back office running LAN(local area networks),
    Web servers, high-performance computings. (20% of server
    operating system)
   More than 24 countries in Asia, Europe and Latin America have
    adopted open source software and Linux.
   Have implications for corporate software platforms: cost reduction,
    reliability, integration.
   Major hardware and software vendors like IBM, HP, Dell, Oracle,
    SAP now offer Linux compatible versions of their products.
        Types of Software
         Systems software
             Set of programs that coordinates activities and
              functions of the hardware and various other
              programs
         Application software
             Programs that help users solve particular
              computing problems
                                  Operating
                Application          and
                 software          systems
                                  software
Users
                                                    Hardware
  Types of Software
                           Software


                  A) Systems    B) Applications
                   Software        Software


 A-1) Operating                           B-1) General Purpose
    Systems                                     Software


   A-2) Utility                              B-2) Application
   Programs                                  Specific Software


A-3) Development
    Programs
A) Systems Software
 An interface or buffer between application software and
    hardware
   Controls the computer hardware and acts as an interface
    with applications programs
   Manages and controls the operation of the computer as it
    performs tasks on behalf of the user
   Manager of computer resources lke Central Processing
    Unit (CPU), printers, terminals, telecom links, and other
    peripheral equipments.
   İntermediary between the software used by end users
    and the computer itself.
   System software provides the platform on which
    applications sofware runs.
A-1) Operating System
Functions
    Perform common computer hardware functions
    Provide a user interface
    Provide a degree of hardware independence
    Manage system memory
    Manage processing tasks
    Provide networking capability
    Control access to system resources
    Manage files
A-1) Commercial operating
systems
 Windows (
 Unix
 Linux
 Solaris 10
 OS/2
 Many others, more than 80
 TCO is important
A-1) Commercial operating
systems
 Windows (At the client level, 95% of PCs and 45% of handheld
    devices use MS Windows OS)
      Windows comprises 70% of the server operating market.
        Windows Server 2008 is capable of providing enterprise-wide
        operating system and network services.
   Unix
   Linux
      Unix or Linux servers are 30%.
      Unix and Linux are scalable, reliable, less expensice than
        mainframe operating systems.They can also run on different
        processors. (IBM, HP, Sun)
   Solaris 10
   OS/2
   Many others, more than 80
   TCO is important
 A-1) Network Operating
 System
 Provide the majority of facilities required to
  support workgroup computing;
      Centralized storage space can be created for the
       excusive use of workgroup members
      Security features can be used to restrict access the data
       by those outside of workgroup
      The network group can be given network privileges that
       allow individual members access that are not normally
       available to others.
Tasks of the Operating System




 Allocate/Assign
 -Supervisor
 Manages work
 -Command
 Language
 Translator
 Reads instructions
A-2) Utility Programs

 Programs used to merge and sort sets of data,
  keep track of computer jobs being run,
  compress files of data before they are stored or
  transmitted over a network, and perform other
  important tasks
 Also monitor system performance and provide
  security controls
 In network manage the data traffic.
Systems Software Concepts
 User interface
      A function of the operating system and other
        softwares that allows individuals to access and
        command the computer
 Command-based user interface
      A particular user interface that requires text
       commands be given to the computer to perform
       basic activities
      E.g., unix, DOS

 Graphical user interface (GUI)
      A UI that uses pictures (icons) and menus
       displayed on the screen to send commands to the
       computer system
Systems Software Concepts

 Hardware independence
   Operating system (OS) provides hardware
    independence for application software
   Application software interfaces with the
    operating system which interfaces with the
    hardware
   When the hardware is changed, the
    operating system is changed so that the
    application software is not required to be
    changed
      System Software Concepts

                            OS

                        Fetch A S
         Application    from hard
          Software     disk, track 1,
                          sector 7



Memory Management : Controls
how memory is accessed and
maximizes available memory and          AS
storage
  System Software Concepts
 Virtual memory
      Memory that allocates space in secondary storage to supplement the immediate, functional
       memory capacity of RAM
      An imaginary memory area supported by some operating systems (for example, Windows
       but not DOS) in conjunction with the hardware.
      You can think of virtual memory as an alternate set of memory addresses. Programs use
       these virtual addresses rather than real addresses to store instructions and data. When the
       program is actually executed, the virtual addresses are converted into real memory
       addresses.
      The purpose of virtual memory is to enlarge the address space, the set of addresses a
       program can utilize.
      When the page is needed, the operating system copies it from disk to main memory,
       translating the virtual addresses into real addresses.
      For example, virtual memory might contain twice as many addresses as main memory. A
       program using all of virtual memory, therefore, would not be able to fit in main memory all
       at once. Nevertheless, the computer could execute such a program by copying into main
       memory those portions of the program needed at any given point during execution.
      To facilitate copying virtual memory into real memory, the operating system divides virtual
       memory into pages, each of which contains a fixed number of addresses. Each page is
       stored on a disk until it is needed
      The process of translating virtual addresses into real addresses is called mapping.
      The copying of virtual pages from disk to main memory is known as paging or swapping.
 Paging
      A function of virtual memory allowing the computer to store currently needed pages in RAM
       while the rest of the pages wait in secondary storage
 System Software Concepts
 Virtual Memory & Paging
             Memory                        Disk

 Program 1 (a few pages)


 Program 2 (a few pages)


 Program 3 (a few pages)
                             Operating
                            system and   Programs
 Program 4 (a few pages)
                              system     and other
                             software    software
 Program 5 (a few pages)


 Program 6 (a few pages)


Other memory requirements
 System Software Concepts
 Multiprogramming
     A processing activity that allows a user to run more than one
      application at the same time
     Uses the CPU (Central Processing Unit) more efficiently. Allows
      CPU to work on several programs simultaneously.
     Early computers could execute only one software program at a
      time. CPU had to stop processing while outputing.
     Now computer still can process only one program at a time, but
      it can perform input and output functions on other programs
      Multitasking: Multiprogramming on single user PC
System Software Concepts

 Multithreading
     A processing activity that is basically
      multitasking within a single application
 Time-sharing
     A processing activity that allows more than
      one person to use a computer system at
      the same time
System Software Concepts

 Network capability
   Aids in connecting the computer to a
    network
 Access to system resources
   Provides security for unauthorized access

 File management
    Ensures that files in secondary storage are
     available when needed, and they are
     protected against unauthorized usage
A-3) Development Tools/
Programs
 Allows users to develop their own
  software in order to carry out processing
  tasks using programming languages.
Programming Languages:
Terminology (1)
 Programming Language: Coding schemes used
  to write both systems and application software
 Language translator
      Systems software that converts a programmer‟s
       source code into its equivalent in machine
       language
 Source code
      High-level program code written by the programmer
 Object code
      Another name for machine language code
   Programming Languages:
   Terminology (2)
    Interpreter
       A language translator that translates one program
        statement at a time into machine code




                                 Machine
 Program
                Interpreter     language
statement
                                statement

                                                Statement
                                                execution
Programming Languages:
Terminology (3)
 Compiler
    A language translator that converts a complete
     program into machine language to produce a program
     that the computer can process in its entirety
  Step 1: Translate program
                                   Machine
  Computer
                    Compiler       language
  program
                                   program
 Step 2: Execute program
  Machine
  language
  program

                               Program execution
Programming Languages (1)

 Machine Language
     1st generation programming language
     Considered a low-level language because it
      involves basic coding using the binary symbols 1
      and 0
 Assembly Language
     2nd generation language
     Replaced binary digits with mnemonics (e.g.,
      “ADD”) programmers could more easily
      understand
Programming Languages (2)

 Third Generation Languages
    Continued trend to more symbolic code
     (e.g. COBOL, JAVA…)
 Fourth Generation Languages (4GLs)
    Languages that are less procedural and
     even more English-like than third-
     generation languages (e.g. FOCUS)
Programming Languages (3)

 Query languages
     Used to ask the computer questions in
      English-like sentences
     Also known as database languages
 Structured query language (SQL)
     A standardized language often used to
      perform database queries and
      manipulations
 Objects
An object combines data structures with any
 functions needed to manipulate the data it
 holds.
Ex: an object called “Employee” might be created
 to store details of staff. As a data structure it
 contains name, adress, age, wage…
Benefit: 1. changes can be made on the object
 without altering any other part of the system
         2. new objects can be created quickly
 and easily from existing ones
         3. objects can be copied into new
 systems with little difficulty.
  Object Oriented Languages (1)

 Languages that allow interaction of
  programming objects, including data
  elements and the actions that will be
  performed on them.
     Object Oriented Languages (2)
 Encapsulation
       The   process of grouping items into an object
 Polymorphism
      A process allowing the programmer to develop
       one routine or set of activities that will operate
       on multiple objects
 Object-oriented languages (OOL)
       Languages  that allow interaction of
       programming objects, including data elements
       and the actions that will be performed on them
      Object Oriented Languages (3)

 Inheritance
       Property  used to describe objects in a group of
        objects taking on characteristics of other objects in
        the same group or class of objects
 Reusable code
       The  instruction code within an object that can be
        reused in different programs for a variety of
        applications
 Examples
       Smalltalk,   C++, Java
Visual Programming
Languages
 Visual programming languages…
     Languages that use a mouse, icons, or
      symbols on the screen and pull-down
      menus to develop programs
     Examples
        Visual Basic
        Visual C++

        PC COBOL
Fifth-Generation Languages

 5th generation languages…
     Combines rule-based code generation,
      component management, visual
      programming techniques, and reuse
      management
     Knowledge-based management
        Anapproach to the development of computer
        programs in which you do not tell a computer
        how to do a job, but what you want it to do
         Development of different
         programming languages
Generation Characteristics &advantages      Main disadvantages

First       Machine language that           Programs were
            consisted of strigs of binary   expensive to develop
            digits                          as they took long
                                            periods
Second      Development is simplified,   Large scale data
            symbols and abreviations are processing was
            used for instructions. A low relatively slow.
            level language is used to
            translate the program into
            machine codes
         Development of different programming
         languages
Generation Characteristics & advantages        Main disadvantages
Third       Commands are made up of            Resulting applications were
            english like of statements         sometimes slow and
                                               inefficient
Fourth      Greater ease of use, even non     Some programming
            technical users develop their own knowledge is still necessary
            applications

Fifth       Programming system accept a        Artificial intelligence
            spoken question from a user then   techniques are still not
            generate program intended to       sufficiently developed to
            produce the required info          make it a practical reality
CASE (Computer Aided Software
Engineering) Tools
 CASE is the use of computer based support in
  the software development process
 This definition includes all kinds of computer
  based support for any of the managerial,
  admnistrative or technical aspects of any part
  of a software project.
 Ex: document production, version control of
  source code, debugging, design method
  support…
IDE‟s: Integrated development
environments

 Combine the features of many tools, into
  one complete package
 They are simpler and easier to do simple
  tasks, such as searching for content only
  in files in the project.
 They are often used for development of
  enterprise level applications.
Shell

 Special tools used for development of
  expert and knowledge based systems
Tests

 Validation: whether the program
  achieves intented purpose?
 Verification: whether the program
  contains no error
Types of Application Software
 Proprietary: Designed to solve a unique and
  specific problem
      In-house: Development of application software
       using the company‟s resources
      Contract: Developed for a particular company
 Off-the-shelf: An existing software program that
  can be used without considerable changes
  expected
      Customized package: Blend of external and
       internal software development
          In-house customized
          Contract customization
      Standard Package
            Types of Application Software
                                     Application
                                      software



            Proprietary                                               Off-the-shelf
             software                                                   software



 In-house                                               Customized                    Standard
                          Contract
developed                                                package                      package




                                            In-house                   Contract
                                           customized                customization
B-1) General-purpose
applications
 Document production
 Graphics (drawing, photo editing, diagramming)
 Spreadsheets (for processing numerical info)
 Databases (for storage and retrieval of info)
 Multimedia
 Software for using the Internet: Online Services
 Management application of the productivity
  software: Software Suites
           Document Production - Word
           Processing
Word Processing
Provides assistance in
formulating, formatting,
and printing documents
such as letters, memos,
and papers.




                                        53
                                             26
           Graphics

Graphics Program
Helps make a
presentation;
develops brochures,
illustrations, etc.

Usually
called
Presentation
Graphics
                      54
              Spreadsheet

Spreadsheet
Provides a wide
range of built-in
functions for
statistical, financial,
logical, database,
graphics, and data
and time
calculations.




                            55
                                 27
  Spreadsheets are used for
 Financial applications
 Modelling and simulation
   Modelling: Creating a numerical
    representation of an existing situation or
    set of circumstances
   What if? Analysis: describes the ability see
    the predicted effect of a change made to a
    numerical model
 Statistical analysis
   Goal seeking: describes a way of
    automatically changing the values in a
    formula until a desired result is achieved
            Database

Database
Stores, manipulates,
and retrieves data.




                       57
                            28
            On-Line Services


On-Line Services
Provide access to
various information
resources.

                         (Figure 4.12)



                                         58

                                              30
           Software Suite


Software Suite
Collection of personal
productivity software
such as word processor,
spreadsheet, and
database.




                            59
                                 31
    Software Concepts – OLE-
    Object Linking and Embedding
 A compound document standard developed by Microsoft
    Corporation.
   Support for OLE is built into the Windows and Macintosh operating
    systems. A competing compound document standard developed
    jointly by IBM, Apple Computer, and other computer firms is called
    OpenDoc.
   A software feature that allows you to copy text from one document to
    another or embed graphics from one program into another program
    or document (you can create objects with one (Server) application
    and then link or embed them in a second (Client) application).
    Embedded objects retain their original format and links to the
    application that created them.
   Server Application
       The application that supplies objects you place into other
         applications
   Client application
       The application that accepts objects from other applications
OLE Concepts

 Copy
      Copy data from one application and place it in
       another
 Link
      Changes made to the server object to automatically
       appear in all linked client objects
 Embed
      An object to become part of the client document
    OLE Concepts
                       Client Application
                     Word Processing Program

Graphics Program
Server Application


   Team photo              Team photo
                                                      Spreadsheet Program
                                                       Server Application

            Copy         Actual vs. budget
                                                         Actual vs. Budget
                                               Link         -------------
                                                            -------------
                        --- --- --- --- -                  --------------
                        --- --- --- -- --
                        -- - - - --- --- -
                       --- --- --- --- --
                                                       Project Management Program
                              Chart                         Server Application
                                                                     Chart
                        ==== == ==
                         == == == =                               --- -------
                         === == ==                               ------- ---
                                                                 --- --------
                        ==== ==== =
                                               Embed
B-2) Application-specific
software
 Programs that are intented to serve a
  specific purpose or carry out a clearly
  defined information processing task eg.
  Payroll processing, ERP…
Productivity software

 Describes a category of computer
  software that aims to support users in
  performing a variety of common tasks
Workgroup Application
Software
 Groupware
     Software that helps groups of people work
      together more efficiently and effectively
 Collaborative computing software
     Software that helps teams of people work
      together toward a common goal
Enterprise Application
Software
 Enterprise application software…
     Software that benefits the entire
      organization
     Examples
       Accounts receivable          Sales ordering
       Accounts payable             Order entry
       Cash-flow analysis           Check processing
       Manufacturing control Receiving
       General Ledger               Retail Operations
               Example



Integrated
Supply Chain
Management
Software
Enterprise Resource Planning
(ERP)
 US firms spent about 250 billion USD in 2008 on software for
  enterprise applications.
 A set of integrated programs that manage a company‟s vital
  business operations for an entire multi-site, global organization
 Short for enterprise resource planning, a business management
  system that integrates all facets of the business, including
  planning, manufacturing, sales, and marketing. As the ERP
  methodology has become more popular, software applications
  have emerged to help business managers implement ERP.
 Vendor examples
         SAP 1st
         Oracle   (2nd and acquired PeopleSoft)
         Axapta by MS
         QAD
         JD Edwards
         Ross Systems
Enterprise Resource Planning
(ERP)
 US firms spent about 250 billion USD in 2008 on software for
  enterprise applications.
 Vendor examples: SAP 1st, Oracle (2nd and acquired
  PeopleSoft), Axapta by MS, SSA, QAD, JD Edwards, Ross
  Systems
 Since most large firms already use ERP and have developed
  long term contacts with vendors, Microsoft is heading for
  lower levels of the market.
 ERP Vendors Market in 2005 (ref. GartnerQuest)

  Vendor                    Revenue (million $)     Market
  share(%)
  SAP                       1949                      30.332
  Oracle Applications       1374                      21.383
  The Sage Group            1121                      17.444
  Microsoft Dynamics         916                      14.255
  SSA Global Technologies    464                       7.22
Middlewares

 Special type of softwares which aim to integrate
  various application softwares
 They are also known as enterprise application
  integration.
 Used for achieving firmwide integration by linking
  the firm‟s existing application systems.
      Major Vendor BEA was acquired by Oracle.

				
DOCUMENT INFO