Software Concept

Embed Size (px)

Citation preview

  • 8/6/2019 Software Concept

    1/60

    1

    Introduction to Computers

  • 8/6/2019 Software Concept

    2/60

    History of Computers - 19th

    Century

    first stored program -

    metal cards

    first computermanufacturing

    still in use today!

  • 8/6/2019 Software Concept

    3/60

    3 MIT School of Telecom Management

    Charles Babbage - 1792-1871 Difference Engine c.1822

    huge calculator, never

    finished Analytical Engine 1833

    could store numbers

    calculating mill used

    punched metal cards forinstructions

    powered by steam!

    accurate to six decimal places

  • 8/6/2019 Software Concept

    4/60

    4 MIT School of Telecom Management

    Computer SizeENIAC then

    ENIAC today

    With computers (small) size does matter!

  • 8/6/2019 Software Concept

    5/60

    5 MIT School of Telecom Management

    Discussion Question What was the biggest advance that led

    to modern computers?

    Electricity

    Transistor

    Microchip

    Data storage

  • 8/6/2019 Software Concept

    6/60

    6 MIT School of Telecom Management

    Generations of Electronic

    ComputersFirst

    Generation

    Second

    Gen.

    Third

    Gen.

    Fourth Gen.

    Technology Vacuum

    Tubes

    Transistors Integrated

    Circuits(multiple

    transistors)

    Microchips

    (millions oftransistors)

    Size Filled Whole

    Buildings

    Filled half a

    room

    Smaller Tiny - Palm

    Pilot is as

    powerful as

    old building

    sized

    computer

  • 8/6/2019 Software Concept

    7/60

  • 8/6/2019 Software Concept

    8/60

    8 MIT School of Telecom Management

    Algorithms What is an algorithm?

    A step-by-step problem-solving procedure,

    especially an established, recursivecomputational procedure for solving aproblem in a finite number of steps

    Weve seen lots of algorithms before

  • 8/6/2019 Software Concept

    9/60

    9 MIT School of Telecom Management

    Example algorithm: mapdirections

  • 8/6/2019 Software Concept

    10/60

    10 MIT School of Telecom Management

    Computer Organization

    Input Devices

    CentralProcessing Unit

    Memory

    Output Devices

  • 8/6/2019 Software Concept

    11/60

    11 MIT School of Telecom Management

    A bit of humor: Computer

    Organization

  • 8/6/2019 Software Concept

    12/60

    12 MIT School of Telecom Management

    Computing units of measure

    A bit is either a 1 or a 0

    On or off, true or false, etc.

    A byte is 8 bits: 01001010

    As there are 8 bits per byte, each byte can hold

    2

    8

    =256 values 01001010 = 74

    All computing measurements are in terms of

    bytes

  • 8/6/2019 Software Concept

    13/60

    13 MIT School of Telecom Management

    Computing units of measure An unformatted text document (such as a Java program)

    3 pages per kilobyte (1,000 bytes)

    A formatted document (such as a Word file)

    About 5k per page with formatting

    A digital camera picture

    About 1 Mb each (1,000,000 bytes)

    An MP3 music file

    5 Mb for a 5 minute song

    A music file on a CD 50 Mb for a 5 minute song

    10 times the size of an MP3!

    A movie clip

    About 10 Mb per minute of (TV-sized) video

  • 8/6/2019 Software Concept

    14/60

    14

    Software Concepts

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    15/60

    15

    Software Concepts Aprogram is a set of instructions that tells

    the computer what to do.

    Software can be a single program or a groupof programs needed to perform severalfunctions.

    Simple programs may have a few hundredinstructions (lines of code) though most havemany more (several million).

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    16/60

    16

    Application Software

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    17/60

    17

    Individual Application

    Software Word processing

    Spreadsheet

    Graphics

    Database

    Browser

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    18/60

    18

    Workgroup Application

    Software Groupware

    E-Mail software

    Information sharing software

    Electronic conferencing software

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    19/60

    19

    Other Application Software Organizational application software

    Generally organization specific

    Interorganizational application software

    Electronic Data Interchange (EDI)

    Generally common to the participating

    organizations

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    20/60

    20

    System Software

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    21/60

    21

    Operating System ConceptsAn operating system is a group of

    programs that manages the operation

    of the computer. Three functions of an operating system

    Process management

    Resource management

    Data management

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    22/60

    22

    Operating System Concepts

    (contd.) Organization of an operating system

    Most operating system programs are

    stored in secondary storage. One operating system program is stored in

    a section of primary storage. It goes byvarious names kernel but generically

    called the supervisor. The supervisor controls all activity in

    primary storage.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    23/60

    23

    Using an Operating System Starting the computer is called booting

    which transfers the supervisor from

    secondary storage to primary storage. Connecting to a network or other multi-

    user environment is called logging in.

    Detaching from a network is calledlogging out.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    24/60

    24

    Elements of an Operating

    System User interface is the visual link between

    the user and the software.

    Small pictures on the screen are icons. Graphical User Interface (GUI) uses

    Buttons

    Icons Menus

    Dialog boxes

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    25/60

    25

    Capabilities of Operating

    Systems Multitasking is appearing to execute

    more than one program at a time,

    though the CPU can executeinstructions from only one program at atime.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    26/60

    26

    Capabilities of Operating

    Systems (contd.) Multi-user or Multiple-user programs

    permit more than one person to use the

    program, and data, at a time. One technique that is used with

    multiple-user operating systems is time

    sharing. With this technique, the usersare each allocated a small amount oftime by the operating system.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    27/60

    27

    Capabilities of Operating

    Systems (contd.) Two types of operating systems

    Batch operating systems where the first

    program is executed and all dataprocessed before moving to the secondprogram.

    Interactive operating systems allow user

    interaction as the program executes. Mostpersonal computer operating systemspermit user interaction.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    28/60

    28

    Capabilities of Operating

    Systems (contd.)Virtual memory is supplemental primary

    storage (RAM) or real memory where

    the programs are too big for primarystorage. It is created on a secondarystorage device, usually the hard drive,

    and is generally temporary in nature.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    29/60

    29

    Capabilities of Operating

    Systems (contd.)Virtual memory operating systems

    execute large programs by dividing the

    program into parts and transferring thenecessary parts of the program fromsecondary storage to primary storage as

    needed. The transfer process does not require

    any action by the user.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    30/60

    30

    Personal Computer Common

    Operating Systems Microsoft Windows

    Microsoft DOS (and others)

    IBM OS/2

    Apple Mac OS

    UNIX Linux

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    31/60

    31

    Multi-User Computer Common

    Operating Systems IBM OS/390

    Hewlett Packard MPE

    (MultiProgramming Executive)

    UNIX

    Network Operating Systems

    Novell Netware

    Windows 2000 Server

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    32/60

    32

    Other System Software Utility programs

    Sort utility rearranges data in a specified

    order Merge utility merges two files into one

    Print utility prints the contents of a file

    Copy utility copies data from one deviceto another

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    33/60

  • 8/6/2019 Software Concept

    34/60

    34

    Software Development

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    35/60

    35

    Programming Language

    Concepts What is a programming language?

    Why are there so many programming

    languages?

    How do you select a programminglanguage?

    What are the types of programminglanguages?

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    36/60

    36

    What is a Programming

    Language English is a natural language. It has

    words, symbols and grammatical rules.

    A programming language also haswords, symbols and rules of grammar.

    The grammatical rules are called syntax.

    Each programming language has adifferent set of syntax rules.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    37/60

    37

    Why Are There So Many

    Programming Languages Programming languages have evolved

    over time as better ways have been

    developed to design them. Different programming languages are

    designed for different types ofprograms.

    First programs were developed in the1950s.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    38/60

    38

    How Do You Select a

    Programming Language Is it designed for the type of program that

    needs to be written?

    Is it available on the computer being used?Are trained programmers available?

    Is it easy to write programs in the

    language? Is the language efficient when the program

    is executed?

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    39/60

    39

    What Are the Types of

    Programming Languages First Generation Languages

    Second Generation Languages

    Third Generation Languages

    Fourth Generation Languages

    Fifth Generation Languages

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    40/60

    40

    First Generation Languages Machine language

    Operation code such as addition or

    subtraction. Operands that identify the data to be

    processed.

    Machine language is machine dependent as it

    is the only language the computer canunderstand.

    Very efficient code but very difficult to write.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    41/60

    41

    Second Generation LanguagesAssembly languages

    Symbolic operation codes replaced binary

    operation codes.Assembly language programs needed to beassembled for execution by the computer.Each assembly language instruction is

    translated into one machine languageinstruction.

    Very efficient code and easier to write.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    42/60

    42

    Third Generation Languages Closer to English but included simple

    mathematical notation.

    Programs written in source code which mustbe translated into machine languageprograms called object code.

    The translation of source code to object codeis accomplished by a machine languagesystem program called a compiler.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    43/60

    43

    Third Generation Languages

    (contd.)Alternative to compilation is interpretation

    which is accomplished by a system

    program called an interpreter. Common third generation languages

    FORTRAN

    COBOL

    C and C++

    Visual Basic

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    44/60

    44

    Fourth Generation Languages A high level language (4GL) that requires

    fewer instructions to accomplish than a third

    generation language. Used with databases

    Query languages

    Report generators

    Forms designers

    Application generators

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    45/60

    45

    Fifth Generation Languages Though no clear definition at present,

    natural language programs generally

    can be interpreted and executed by thecomputer with no other action by theuser than stating their question.

    Limited capabilities at present.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    46/60

    46

    Programming Languages Two broad groups

    Traditional programming languages

    Sequences of instructions First, second and some third generation

    languages

    Object-oriented languages

    Objects are created rather than sequences ofinstructions

    Some third generation, and fourth and fifthgeneration languages

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    47/60

    47

    Traditional Programming

    Languages FORTRAN

    FORmula TRANslation.

    Developed at IBM in the mid-1950s.

    Designed for scientific and mathematicalapplications by scientists and engineers.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    48/60

    48

    Traditional Programming

    Languages (contd.) COBOL

    COmmon Business Oriented Language.

    Developed in 1959.

    Designed to be common to many differentcomputers.

    Typically used for business applications.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    49/60

    49

    Traditional Programming

    Languages (contd.) BASIC

    Beginners All-purpose Symbolic Instruction

    Code. Developed at Dartmouth College in mid

    1960s.

    Developed as a simple language forstudents to write programs with which theycould interact through terminals.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    50/60

    50

    Traditional Programming

    Languages (contd.) C

    Developed by Bell Laboratories in the early

    1970s. Provides control and efficiency of assembly

    language while having third generationlanguage features.

    Often used for system programs.

    UNIX is written in C.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    51/60

    51

    Object-Oriented Programming

    Languages Smalltalk

    First object-oriented language.

    Developed by Xerox in mid-1970s.

    Still in use on some computers.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    52/60

    52

    Object-Oriented Programming

    Languages (contd.) C++

    It is C language with additional features.

    Widely used for developing system andapplication software.

    Graphical user interfaces can be developed

    easily with visual programming tools.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    53/60

    53

    Special Programming

    Languages HTML

    HyperText Markup Language.

    Used on the Internet and the World WideWeb (WWW).

    Web page developer puts brief codes

    called tags in the page to indicate how thepage should be formatted.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    54/60

    54

    Special Programming

    Languages (contd.) XML

    Extensible Markup Language.

    A language for defining other languages.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    55/60

    55

    Special Programming

    Languages (contd.) JAVA

    An object-oriented language similar to C++

    that allows a web page developer to createprograms for applications, called appletsthat can be used through a browser.

    Objective of JAVA developers is that it bemachine, platform and operating systemindependent.

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    56/60

    56 MIT School of Telecom Management

    Translation

    Translator

    Accepts a program written in a source language andtranslates it to a program in a target language

    Compiler

    Standard name for a translator whose sourcelanguage is a high-level language

    Interpreter A translator that both translates and executes a

    source program

  • 8/6/2019 Software Concept

    57/60

    57

    Software Concepts

    Key Terms

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    58/60

    58

    Key Terms

    Assembler

    Assembly Language

    BASIC

    Booting

    Browser

    Button

    C C++

    COBOL

    Command

    Compiler

    Database Software

    Dialog Box

    Electronic ConferencingSoftware

    Electronic MessagingSoftware

    FORTRAN

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    59/60

    59

    Key Terms (contd.)

    Fourth-GenerationLanguage (4GL)

    Graphical User Interface

    (GUI)

    Graphics Software

    Groupware

    HTML

    Icon

    Information SharingSoftware

    Interpreter

    Java

    Menu

    Multitasking

    Network OperatingSystem (NOS)

    Object

    MIT School of Telecom Management

  • 8/6/2019 Software Concept

    60/60

    Key Terms (contd.)

    Object-OrientedProgramming

    Operating Environment

    Page

    Programmer

    Programming

    Programming Language Prompt

    Spreadsheet Software

    Time-Sharing

    User Interface

    Utility Program

    Virtual Memory

    Window

    Word Processing

    Software XML