This document provides information on different types of software and software development models. It discusses:
1) The differences between system software (e.g. operating systems, compilers) which manage hardware, and application software (e.g. word processors, spreadsheets) which perform tasks for users.
2) Common software development models including the waterfall model, V-shaped model, and evolutionary prototyping model. The waterfall model follows sequential phases of requirements, design, implementation, and testing. The V-shaped model adds parallel testing phases. Prototyping allows iterative user feedback.
3) Descriptions of various system software including operating systems, compilers, linkers, loaders, and interpreters and
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Operating System
Topic Memory Management
for Btech/Bsc (C.S)/BCA...
Memory management is the functionality of an operating system which handles or manages primary memory. Memory management keeps track of each and every memory location either it is allocated to some process or it is free. It checks how much memory is to be allocated to processes. It decides which process will get memory at what time. It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Operating System
Topic Memory Management
for Btech/Bsc (C.S)/BCA...
Memory management is the functionality of an operating system which handles or manages primary memory. Memory management keeps track of each and every memory location either it is allocated to some process or it is free. It checks how much memory is to be allocated to processes. It decides which process will get memory at what time. It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.
Rai University provides high quality education for MSc, Law, Mechanical Engineering, BBA, MSc, Computer Science, Microbiology, Hospital Management, Health Management and IT Engineering.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
2. 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.
4. 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.
5. 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.,
6. 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.,
7. 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.
8. 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().
9. 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.
10. 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.,
11. 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
12. 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.
13. 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.
14. 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.
15. 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.
16. 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)
17. 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
18. 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
19. The Structure of a Compiler
19
Scanner Parser
Semantic
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
20. Interpreter
• It helps the user to execute the source program with a few
differences as compared to compilers. The source program is
just like English statements in both interpreters and compilers.
• Interpreter reads the program line by line, whereas in compiler
the entire program is read by the compiler, which then
generates the object codes.
• Interpreter directly executes the program from its source code.
Due to this, every time the source code should be inputted to
the interpreter.
• In other words, each line is converted into the object codes. It
takes very less time for execution because no intermediate
object code is generated.
23. 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.
24. 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
25. 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)
26. 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.
27. 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
28. 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
29. 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
30. 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
31. 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.
32. 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
33. 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
34. 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)
35. 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
36. 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
37. 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
38. Reference
Book Reference
1. 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+engi
neering&oq=Software+development+model+in+software+engineer
ing&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