Basics of software engineering


Published on

Published in: Software
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Basics of software engineering

  1. 1. An Introduction to Software Engineering By: M. B Suratkar, Dept. of Computer Science Bangurnagar Degree College, Dandeli
  2. 2. Lecture 1 Objectives: 1. To identify the scope and necessity of software engineering 2. To know the terms of software, software engineering and to explain why it is important 3. To know the terms of software product and the attributes of good software 4. To know the Software process model,
  3. 3. Introduction: The main objective of software engineering is to produce software products. Software Engineering is concerned with the methods, tools and techniques which are needed to develop and managing the process of creating and evolving the software products. Software engineering is an engineering approach for software development. Various methodologies and guidelines adopted to develop the software. A small program can be written without using software engineering principles. But if one wants to develop a large software product, then software engineering principles are essential to achieve a good quality software cost effectively. Introduction
  4. 4. Software Engineering Methods Techniques Tools Programs
  5. 5. Why software engineering? 1) In the late 1960’s hardware price were falling but software price rising. 2) Many software projects failed. 3) Large software project required large development 4) Many software project late and over budget. 5) Complicity of software project is increased. 6) Demand for new software on the market.
  6. 6. 1. To acquire skills to develop large programs. 2. Ability to solve complex programming problems. 3. Learn techniques of specification design. 4. Higher productivity. 5. Better quality programmers. Why study software engineering?
  7. 7. • Computer programs and associated documentation such as requirements, design models and user manuals. • Software products may be developed for a particular customer or may be developed for a general market. What is software?
  8. 8. 1. Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. 2. Bespoke (custom) - developed for a single customer according to their specification. New software can be created by developing new programs, configuring generic software systems or reusing existing software. Software products
  9. 9. Attributes of good software
  10. 10. Difference between system engineering and system engineering • System engineering is concerned with all aspects of computer-based systems [CBSE] development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. • System Engineers are involved in system specification, architectural design, integration and deployment.
  11. 11. Program & Engineering Program Engineering 1) Small project. 2) You 3) One product. 4) Cheap 5) Few sequential changes. 1) large product 2) team 3) family of product 4) costly 5) Many parallel changes.
  12. 12. What is Software process ? The software process is the set of activities and associated results which produce a software product. These activities are mostly carried out by software engineers. CASE tools may be used to help with some process activities. There are four fundamental process activities which are common to all software processes. The activities are: 1. Software spacification - what the system should do and its development constraints 2. Software development - production of the software system 3. Software validation - checking that the software is what the customer wants 4. Software evolution - changing the software in response to changing customer needs
  13. 13. What are software process attributes or characteristics Process characteristics Description 1. Understandability To what extent is the process defined and how easy is it understand the process definition 2. Visibility Making process visible 3. Supportability Process activities must be supported by CASE tools 4. Acceptability Acceptable by engineers and responsible for producing software product 5. Reliability Process errors are avoided 6. Robustness Process continue in spite of unexpected problems 7. Maintainability Process evolve to reflect changing organisational requirements/improvements 8. Rapidity How fast can the process of the delivering a system from a given specification be completed?
  14. 14. Software processes are complex and involve a very large number of activities. Like product, processes, requirements specification, software design, software implementation, software testing etc. following software process models is used for practical systems development. 1) Waterfall model 2) Evolutionary development model 3) Bohemia’s spiral model SOFTWARE PROCESS MODEL
  15. 15. WATERFALL MODEL This model offers the sequential development process. Because of the cascade from one phase to another this model is called as waterfall model. (Software life cycle)
  16. 16. 1. Requirements: During this phase research is being conducted which includes brainstorming about the software, what it is going to be and what purpose is it going to fulfil. In this phase system user study system’s services, constraints and goals.
  17. 17. 2. System and software design: If the first phase gets successfully completed and a well thought out plan for the software development then the next step involves formulating the basic design of the software on paper. This phase involves representing the software system functions in a form that may be transformed into one or more executable programs.
  18. 18. 3. Implementation: During this stage, the software design is realized as a set of programs or program unit. In this phase the source code of the programs is written. Unit test involves verifying that each unit meets its specification.
  19. 19. 4. Integration/system testing: The individual programs units or programs are integrated and tested as a complete system to ensure that all the software requirements. After testing, the software system is delivered to the customer. The company puts it in use after the system has been successfully tested.
  20. 20. 5. Operation and maintenance: this is the longest life cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle. Improving the implementation of system units and enhancing the system services as new requirements are discovered.
  21. 21. CONCLUSION OF WATERFALL MODEL : • Stages overlap and feed information to each other. • During design problems with requirements are identified; • During coding, design problems are found. • The software process model but involves a sequences of iterations of the development activities. • Modifications are necessary for the software
  22. 22. Thank you