38
Application and System Software Course: MCA Subject: Fundamental of Computer Unit: 2

Mca i-fundamental of computer-u-2- application and system software

Embed Size (px)

Citation preview

Page 1: Mca  i-fundamental of  computer-u-2- application and system software

Application and System Software

Course: MCA

Subject: Fundamental of Computer

Unit: 2

Page 2: Mca  i-fundamental of  computer-u-2- application and system software

Software & Hardware?

• Computer Instructions or data, anything that can be stored

electronically is Software.

• Hardware is one that is tangible. The storage devices (Hard

disk, CD’s etc.,), mouse, keyboard CPU and display devices

(Monitor) are Hardware.

Page 3: Mca  i-fundamental of  computer-u-2- application and system software

Types of Software

System Software

Application Software

Page 4: Mca  i-fundamental of  computer-u-2- application and system software

System Software:

System Software includes the Operating System and all the

utilities that enable the computer to function.

System software is a term referring to any computer software

which manages and controls the hardware so that application

software can perform a task.

Example:

Operating Systems, Compiler, Loader, Linker, Interpreter.

Page 5: Mca  i-fundamental of  computer-u-2- application and system software

Application Software:

Application Software includes programs that do real work for

user.

Example:

Payroll systems, Inventory Control, Manage student database,

Word Processor, Spreadsheet and Database Management

System etc.,

Page 6: Mca  i-fundamental of  computer-u-2- application and system software

System Software:

Operating System:• Operating System is a software, which makes a computer to

actually work.

• It is the software the enables all the programs we use.

• The OS organizes and controls the hardware.

• OS acts as an interface between the application programs and the machine hardware.

• Examples: Windows, Linux, Unix and Mac OS, etc.,

Page 7: Mca  i-fundamental of  computer-u-2- application and system software

System Software (contd):

Source

Languages

Target Languages

‘C’ language ‘C’ language

‘Pascal’ language Machine language

FORTRAN language

C++ language

ADA language

Compiler: A compiler is a program that reads a program in one language – the source language and translates into an equivalent program in another language – the target language.

Page 8: Mca  i-fundamental of  computer-u-2- application and system software

System Software (contd):

Loader: A loader is the part of an operating system that is

responsible for loading programs into memory, preparing them

for execution and then executing them.

The loader is usually a part of the operating system's kernel and

usually is loaded at system boot time and stays in memory

until the system is rebooted, shut down, or powered off.

In Unix, the loader is the handler for the system call execve().

Page 9: Mca  i-fundamental of  computer-u-2- application and system software

System Software (contd):

Linker: A linker or link editor is a program that takes one or

more objects generated by compilers and assembles them into

a single executable program.

Linkers can take objects from a collection called a library. The

objects are program modules containing machine code and

information for the linker.

The linker takes care of arranging the objects in a program's

address space.

Page 10: Mca  i-fundamental of  computer-u-2- application and system software

System Software (contd):

Interpreter: An interpreter is a computer

program that translates and executes instructions

written in a computer programming language line-by-

line, unit by unit etc.,

An interpreter needs to be able to analyze, or parse,

instructions written in the source language.

Example: Lisp systems, etc.,

Page 11: Mca  i-fundamental of  computer-u-2- application and system software

Application Software:

Word Processors:Word processing is a tool that helps user in creating, editing, and printing documents. Word processors will normally have the following capabilities built into them:

» Spell checking » Standard layouts for normal documents » Have some characters appear in bold print,

italics, or underlined » Center lines, make text line up on the left side of

the paper, or the right side of the paper » Save the document so it can be used again » print the document.

Examples: WordPerfect and Microsoft Word

Page 12: Mca  i-fundamental of  computer-u-2- application and system software

Application Software

(contd…):

Spreadsheets: The spreadsheet packages are designed to

use numbers and formulas to do calculations with

ease. Examples of spreadsheets include:

» Budgets

» Payrolls

» Grade Calculations

» Address Lists

The most commonly used spreadsheet programs are Microsoft

Excel and Lotus 123.

Page 13: Mca  i-fundamental of  computer-u-2- application and system software

Application Software

(contd…):

Graphic Presentations: The presentation programs

can make giving presentations and using overheads

easier. Other uses include:

» Slide Shows

» Repeating Computer Presentations on a

computer monitor

» Using Sound and animation in slide shows

The most recognized graphic presentation programs are

Microsoft PowerPoint and Harvard Graphics.

Page 14: Mca  i-fundamental of  computer-u-2- application and system software

Application Software

(contd…):Database Management System (DBMS):

• A DBMS is a software tool that allows multiple users to store, access, and process data into useful information.

• Database programs are designed for these types of applications:

» Membership lists » Student lists » Grade reports » Instructor schedules

All of these have to be maintained so you can find what you need quickly and accurately.

• Example:Microsoft Access, dBASE, Oracle.

Page 15: Mca  i-fundamental of  computer-u-2- application and system software

What is Assemblers?

• An assembler is a type of computer program that interprets

software programs written in assembly language into machine

language, code and instructions that can be executed by a

computer.

• An assembler enables software and application developers to

access, operate and manage a computer's hardware architecture

and components.

• An assembler is sometimes referred to as the compiler of

assembly language. It also provides the services of an

interpreter.

Page 16: Mca  i-fundamental of  computer-u-2- application and system software

What Do Compilers Do

• A compiler acts as a translator,

transforming human-oriented programming languages

into computer-oriented machine languages.

– Ignore machine-dependent details for programmer

16

Programming

Language

(Source)Compiler

Machine

Language

(Target)

Page 17: Mca  i-fundamental of  computer-u-2- application and system software

What Do Compilers Do • Compilers may generate three types of code:

– Pure Machine Code

• Machine instruction set without assuming the existence of any operating system or library.

• Mostly being OS or embedded applications.

– Augmented Machine Code

• Code with OS routines and runtime support routines.

• More often

– Virtual Machine Code

• Virtual instructions, can be run on any architecture with a virtual machine interpreter or a just-in-time compiler

• Ex. Java

17

Page 18: Mca  i-fundamental of  computer-u-2- application and system software

What Do Compilers Do ?• Another way that compilers

differ from one another is in the format of the

target machine code they generate:

– Assembly or other source format

– Relocatable binary

• Relative address

• A linkage step is required

– Absolute binary

• Absolute address

• Can be executed directly

18

Page 19: Mca  i-fundamental of  computer-u-2- application and system software

The Structure of a Compiler

19

Scanner ParserSemantic

Routines

Code

Generator

Optimizer

Source

Program Tokens Syntactic

Structure

Symbol and

Attribute

Tables

(Used by all Phases of The Compiler)

(Character Stream)

Intermediate

Representation

Target machine code

Page 20: Mca  i-fundamental of  computer-u-2- application and system software

Interpreter• It helps the user to execute the source program with a few

differences as compared to compilers. The source program isjust like English statements in both interpreters and compilers.

• Interpreter reads the program line by line, whereas in compilerthe entire program is read by the compiler, which thengenerates the object codes.

• Interpreter directly executes the program from its source code.Due to this, every time the source code should be inputted tothe interpreter.

• In other words, each line is converted into the object codes. Ittakes very less time for execution because no intermediateobject code is generated.

Page 21: Mca  i-fundamental of  computer-u-2- application and system software

Interpreter

Page 22: Mca  i-fundamental of  computer-u-2- application and system software

Software Development Models

Page 23: Mca  i-fundamental of  computer-u-2- application and system software

Waterfall Model• Requirements – defines needed

information, function, behavior,

performance and interfaces.

• Design – data structures, software

architecture, interface

representations, algorithmic

details.

• Implementation – source code,

database, user documentation,

testing.

Page 24: Mca  i-fundamental of  computer-u-2- application and system software

Waterfall Strengths

• Easy to understand, easy to use

• Provides structure to inexperienced staff

• Milestones are well understood

• Sets requirements stability

• Good for management control (plan, staff, track)

• Works well when quality is more important than cost

or schedule

Page 25: Mca  i-fundamental of  computer-u-2- application and system software

Waterfall Deficiencies

• All requirements must be known upfront

• Deliverables created for each phase are considered frozen – inhibits flexibility

• Can give a false impression of progress

• Does not reflect problem-solving nature of software development – iterations of phases

• Integration is one big bang at the end

• Little opportunity for customer to preview the system (until it may be too late)

Page 26: Mca  i-fundamental of  computer-u-2- application and system software

When to use the Waterfall Model

• Requirements are very well known

• Product definition is stable

• Technology is understood

• New version of an existing product

• Porting an existing product to a new platform.

Page 27: Mca  i-fundamental of  computer-u-2- application and system software

V-Shaped SDLC Model

• A variant of the Waterfall

that emphasizes the

verification and validation

of the product.

• Testing of the product is

planned in parallel with a

corresponding phase of

development

Page 28: Mca  i-fundamental of  computer-u-2- application and system software

V-Shaped Steps• Project and Requirements Planning –

allocate resources

• Product Requirements and Specification Analysis – complete specification of the software system

• Architecture or High-Level Design –defines how software functions fulfill the design

• Detailed Design – develop algorithms for each architectural component

• Production, operation and maintenance – provide for enhancement and corrections

• System and acceptance testing –check the entire software system in its environment

• Integration and Testing – check that modules interconnect correctly

• Unit testing – check that each module acts as expected

• Coding – transform algorithms into software

Page 29: Mca  i-fundamental of  computer-u-2- application and system software

V-Shaped Strengths

• Emphasize planning for verification and

validation of the product in early stages of

product development

• Each deliverable must be testable

• Project management can track progress by

milestones

• Easy to use

Page 30: Mca  i-fundamental of  computer-u-2- application and system software

V-Shaped Weaknesses

• Does not easily handle concurrent events

• Does not handle iterations or phases

• Does not easily handle dynamic changes in

requirements

• Does not contain risk analysis activities

Page 31: Mca  i-fundamental of  computer-u-2- application and system software

Structured Evolutionary Prototyping Model

• Developers build a prototype during the

requirements phase

• Prototype is evaluated by end users

• Users give corrective feedback

• Developers further refine the prototype

• When the user is satisfied, the prototype code

is brought up to the standards needed for a

final product.

Page 32: Mca  i-fundamental of  computer-u-2- application and system software

Structured Evolutionary Prototyping Steps

• A preliminary project plan is developed

• An partial high-level paper model is created

• The model is source for a partial requirements specification

• A prototype is built with basic and critical attributes

• The designer builds – the database

– user interface

– algorithmic functions

• The designer demonstrates the prototype, the user evaluates for problems and suggests improvements.

• This loop continues until the user is satisfied

Page 33: Mca  i-fundamental of  computer-u-2- application and system software

Structured Evolutionary Prototyping

Strengths

• Customers can “see” the system requirements as they are being gathered

• Developers learn from customers

• A more accurate end product

• Unexpected requirements accommodated

• Allows for flexible design and development

• Steady, visible signs of progress produced

• Interaction with the prototype stimulates awareness of additional needed functionality

Page 34: Mca  i-fundamental of  computer-u-2- application and system software

Structured Evolutionary Prototyping

Weaknesses

• Tendency to abandon structured program

development for “code-and-fix” development

• Bad reputation for “quick-and-dirty” methods

• Overall maintainability may be overlooked

• The customer may want the prototype delivered.

• Process may continue forever (scope creep)

Page 35: Mca  i-fundamental of  computer-u-2- application and system software

Spiral SDLC Model

• Adds risk analysis, and

4gl RAD prototyping to

the waterfall model

• Each cycle involves the

same sequence of steps

as the waterfall process

model

Page 36: Mca  i-fundamental of  computer-u-2- application and system software

Spiral Model Strengths

• Provides early indication of insurmountable risks,

without much cost

• Users see the system early because of rapid

prototyping tools

• Critical high-risk functions are developed first

• The design does not have to be perfect

• Users can be closely tied to all lifecycle steps

• Early and frequent feedback from users

• Cumulative costs assessed frequently

Page 37: Mca  i-fundamental of  computer-u-2- application and system software

Spiral Model Weaknesses• Time spent for evaluating risks too large for small or low-risk

projects

• Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive

• The model is complex

• Risk assessment expertise is required

• Spiral may continue indefinitely

• Developers must be reassigned during non-development phase activities

• May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration

Page 38: Mca  i-fundamental of  computer-u-2- application and system software

Reference

Book Reference1. Fundamentals of Computer Programming and IT: For TU By Kamthane, ITL

ESL

2. Software Engineering Research, Management and Applications edited by Roger Lee

3. Software Engineering By Sommerville

4. Software Engineering By A.A.Puntambekar

5. Software Engineering: A Practitioner's Approach By Roger S. Pressman

Image Reference

• https://www.google.co.in/search?biw=1517&bih=714&noj=1&tbm=isch&sa=1&q=Software+development+model+in+software+engineering&oq=Software+development+model+in+software+engineering&gs_l=img.3...119319.126153.0.127260.31.24.0.0.0.4.478.3443.0j2j7j1j2.12.0.msedr...0...1c.1.60.img..29.2.929.43o3LKW7tvk

38