Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SOFTWARE RELATED
CONCEPTS
UNIT I
WHAT IS SOFTWARE??
 The product that software professionals build and
then support over the long term.
 Software encompa...
SOFTWARE PRODUCTS
 Generic products
 Stand-alone systems that are marketed and sold to any
customer who wishes to buy th...
WHY IS SOFTWARE IMPORTANT?
 The economies of ALL developed nations are
dependent on software.
 More and more systems are...
SOFTWARE COSTS
 Software costs often dominate computer system
costs.
 The costs of software on a PC are often greater
th...
CHARACTERISTICS OF SOFTWARE
 Software does not wear out:
 There is a well known “bath-tub curve” in reliability
studies ...
CHARACTERISTICS OF SOFTWARE
 As the bath tub curve shows:
 There are three phases in the life of a hardware product.
 I...
CHARACTERISTICS OF SOFTWARE
 We do not have this last phase for software products as
it does not wear out.
 The curve fo...
CHARACTERISTICS OF SOFTWARE
 Software is not manufactured:
 The life of a software is from concept exploration to the
re...
CHARACTERISTICS OF SOFTWARE
 Reusability of Components:
 In software, every project is a new project. We start from scra...
CHARACTERISTICS OF SOFTWARE
 Software is Flexible:
 A program can be developed to do almost anything, that is
why a soft...
THE CHANGING NATURE OF SOFTWARE
System
Software
Real-time
Software
Embedded
Software
Business
Software
Personal
Computer
S...
THE CHANGING NATURE OF SOFTWARE
 Software has become an integral part of almost all fields of
human life.
 Its use exist...
THE CHANGING NATURE OF SOFTWARE
Embedded Software
• Controls various functions of the
product.
• Handles hardware componen...
THE CHANGING NATURE OF SOFTWARE
Artificial Intelligence Software
• Makes use of non numerical
algorithms to solve complex
...
SOFTWARE MYTHS
 Software is easy to change:
 It is easy to edit the source code file.
 But making changes without intro...
SOFTWARE MYTHS
 Testing the S/W can remove all the errors:
 Testing can only show the presence of errors.
 It cannot sh...
SOFTWARE MYTHS
 Software with more features is a better
software:
 The best & most enduring programs are those which do
...
SOME IMPORTANT TERMINOLOGIES
 Deliverables & Milestones
 Deliverables are the different things generated during
S/W deve...
SOME IMPORTANT TERMINOLOGIES
 Product & Process
 Product is what is delivered to the customer.
 It may include source c...
SOME IMPORTANT TERMINOLOGIES
 Measures, Metrics & Measurement
 A Measure provides a quantitative indication of the:
 Di...
SOME IMPORTANT TERMINOLOGIES
 Software, Process, & Product Metrics
 Process Metrics quantify the attributes of software
...
SOME IMPORTANT TERMINOLOGIES
 Productivity & Effort
 Productivity is defined as the rate of output per unit of
effort.
...
Upcoming SlideShare
Loading in …5
×

Software concepts

2,133 views

Published on

Software concepts

Published in: Engineering
  • Be the first to comment

Software concepts

  1. 1. SOFTWARE RELATED CONCEPTS UNIT I
  2. 2. WHAT IS SOFTWARE??  The product that software professionals build and then support over the long term.  Software encompasses:  (1) instructions (computer programs) that when executed provide desired features, function, and performance;  (2) data structures that enable the programs to adequately store and manipulate information, and  (3) documentation that describes the operation and use of the programs.
  3. 3. SOFTWARE PRODUCTS  Generic products  Stand-alone systems that are marketed and sold to any customer who wishes to buy them.  Examples – PC software such as editing, graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists.  Customized products  Software that is commissioned by a specific customer to meet their own needs.  Examples – embedded control systems, air traffic control software, traffic monitoring systems.
  4. 4. WHY IS SOFTWARE IMPORTANT?  The economies of ALL developed nations are dependent on software.  More and more systems are software controlled (transportation, medical, telecommunications, military, industrial, entertainment, etc.)  Software engineering is concerned with theories, methods and tools for professional software development.  Expenditure on software represents a significant fraction of GNP in all developed countries. (i.e., the market value of all products & services produced in one year)
  5. 5. SOFTWARE COSTS  Software costs often dominate computer system costs.  The costs of software on a PC are often greater than the hardware cost.  Software costs more to maintain than it does to develop.  For systems with a long life, maintenance costs may be several times development costs.  Software engineering is concerned with cost- effective software development.
  6. 6. CHARACTERISTICS OF SOFTWARE  Software does not wear out:  There is a well known “bath-tub curve” in reliability studies of hardware products  The shape of the curve is like bath tub, so it is known as bath tub curve. Burn-in phase Useful life phase Time FailureIntensity Wear-out phase
  7. 7. CHARACTERISTICS OF SOFTWARE  As the bath tub curve shows:  There are three phases in the life of a hardware product.  Initial phase is burn-in phase, where failure intensity is high.  Due to testing and fixing faults, failure intensity comes down initially and may stabilise after a certain time.  The second phase is the useful life phase where failure intensity is approximately constant & is called useful life of a product.  After few years failure intensity again increase due to wearing out of components, this phase is called as the wear-out phase.
  8. 8. CHARACTERISTICS OF SOFTWARE  We do not have this last phase for software products as it does not wear out.  The curve for software is as follows: Time FailureIntensity  Software becomes reliable over time instead of wearing out.  It become obsolete if the environment for which it was developed, changes.  Hence software may be retired due to changes, new requirements, etc.
  9. 9. CHARACTERISTICS OF SOFTWARE  Software is not manufactured:  The life of a software is from concept exploration to the retirement of the software product.  It is one time development effort and continuous maintenance effort to keep it operational.  However making 1000 copies of a software is not an issue, it does not involve any cost.  In case of hardware product, every product costs us separately due to raw material and other processing expenses.  We do not have any assembly line in s/w development, hence it is not manufactured in the classical sense.
  10. 10. CHARACTERISTICS OF SOFTWARE  Reusability of Components:  In software, every project is a new project. We start from scratch & design every unit of the s/w product.  Huge effort is required to develop a software which further increases the cost of the product.  However effort has been made to design standard components that may be used in new projects.  Software reusability has introduced anther area known as component based software engineering.  In hardware world, component reuse is a natural part of the engineering process. For example, a Television manufacturer would use the same components in all television sets.  But in software, it is just a beginning like graphical user interfaces are built using reusable components that enable the creation of graphics windows, pull down menus, etc.
  11. 11. CHARACTERISTICS OF SOFTWARE  Software is Flexible:  A program can be developed to do almost anything, that is why a software is said to be flexible.  This characteristic may be the best sometimes, and may help us to accommodate any kind of change.  But most of the times, this characteristic has made the software development difficult to plan, monitor and control.
  12. 12. THE CHANGING NATURE OF SOFTWARE System Software Real-time Software Embedded Software Business Software Personal Computer Software Artificial Intelligence Software Web Based Software Engineering & Scientific Software
  13. 13. THE CHANGING NATURE OF SOFTWARE  Software has become an integral part of almost all fields of human life.  Its use exists in all the fields.  Software applications are grouped under eight major areas as follows: Area Description System Software • Collection of programs that provide service to other programs. • Like compilers, operating systems, editors, drivers, etc. Real Time Software • Software used to monitor, control, and analyze real world events as they occur. • Like weather forecasting software.
  14. 14. THE CHANGING NATURE OF SOFTWARE Embedded Software • Controls various functions of the product. • Handles hardware components and is also called as Intelligent Software. • The product could be an aircraft, security system, etc. Business Software • Software designed to process business applications. • Like payroll, file monitoring system, employee management, etc. Personal Computer Software • Used in PCs. • Like word processors, graphics, multimedia, DBMS, etc.
  15. 15. THE CHANGING NATURE OF SOFTWARE Artificial Intelligence Software • Makes use of non numerical algorithms to solve complex problems. • Like expert systems, artificial neural network, signal processing software, etc. Web Based Software • Software related to web applications. • Like, HTML, Java, DHTML, etc. Engineering & Scientific Software • Software for engineering & research purposes. • Involve huge computing. • Like, CAD/CAM, SPSS, MATLAB, etc.
  16. 16. SOFTWARE MYTHS  Software is easy to change:  It is easy to edit the source code file.  But making changes without introducing errors is extremely difficult.  Every change requires that complete system be re- verified.  Computers provide greater reliability than the devices they replace:  It is true that s/w does not fail in the traditional sense.  But still the general ledgers are still not perfectly accurate.  In days of manual accounting, human error was a fact of life, now we have s/w error as well.
  17. 17. SOFTWARE MYTHS  Testing the S/W can remove all the errors:  Testing can only show the presence of errors.  It cannot show absence of errors.  Reusing S/W increases safety:  Code reuse can make dramatic improvement in the development efficiency.  But it still requires analysis and testing to determine its suitability and working.  S/W can work right the first time:  Software needs proper analysis and testing so that it can work right.  We cannot assume that the software, when implemented for the first time, will work perfectly.
  18. 18. SOFTWARE MYTHS  Software with more features is a better software:  The best & most enduring programs are those which do one thing well.
  19. 19. SOME IMPORTANT TERMINOLOGIES  Deliverables & Milestones  Deliverables are the different things generated during S/W development.  Like source code, user manuals, operating procedure manuals, etc.  Milestones are the events that are used to determine the status of the project.  For example, Finalization of specifications is a milestone.
  20. 20. SOME IMPORTANT TERMINOLOGIES  Product & Process  Product is what is delivered to the customer.  It may include source code, specification document, manuals, documentation, etc.  Basically a product is a set of deliverables.  Process is the way in which we produce the software.  It is the collection of activities that lead to a product.  An efficient process is required to produce good quality products.
  21. 21. SOME IMPORTANT TERMINOLOGIES  Measures, Metrics & Measurement  A Measure provides a quantitative indication of the:  Dimension  Size  Capacity  Efficiency  Productivity, and  Reliability Of some attributes of a product or process  Measurement is the act of evaluating a measure.  A Metric is a quantitative measure of the degree to which a system processes a given attribute.  It works like a formula
  22. 22. SOME IMPORTANT TERMINOLOGIES  Software, Process, & Product Metrics  Process Metrics quantify the attributes of software development process.  For example, productivity, quality, failure rate, efficiency, etc.  Product Metrics are the measures of the s/w product.  For example, size, complexity, reliability, functionality, etc.  Software Metrics are used to quantitatively characterize different aspects of s/w process or s/w product.
  23. 23. SOME IMPORTANT TERMINOLOGIES  Productivity & Effort  Productivity is defined as the rate of output per unit of effort.  That means the output achieved with regard to the time taken but irrespective of the cost incurred.  There are two issues for deciding the unit of measure:  Quantity of output  Period of time  In software, one of the measure for quantity of output is Lines of code (LOC) produced.  Hence most appropriate unit of effort is Person Months (PM), meaning, number of persons involved for specified months.  So productivity may be measured as LOC/PM.

×