1 / 10

Scope of Software Engineering

Scope of Software Engineering. Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk. What is Software Engineering?.

suzy
Download Presentation

Scope of Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk

  2. What is Software Engineering? • Software engineering is a discipline whose aim is the production of fault-free software, that is delivered on time, within budget, and satisfies the user’s needs. Reference to Chapter 1 of “Software Engineering with JAVA”, S.R. Schach, McGraw-Hill, 1997.

  3. Scope of Software Engineering • Historical Aspects: • 1967, a NATO group coined the term “Software Engineering” • 1968 NATO Software Engineering Conference concurred that “Software production should be an engineering-like activity”. • Using philosophies and paradigms of established engineering disciplines to solve “Software Crisis:that the quality of software was generally unacceptably low and that deadlines and cost limits were not being met”.

  4. Scope of Software Engineering • Economic Aspects • Software Engineering v.s. Computer Science • The computer scientist investigates several ways to produce software, some good and some bad. • But the software engineer is interested in only those techniques that make sound economicsense. For example: A coding technique that can execute very efficiently but with higher maintenance cost may not be a good choice, since maintenance occupies a lot of resources of the whole life cycle.

  5. Scope of Software Engineering • Maintenance Aspects • Software Life Cycle / Software Process • Requirements Phase • Specification (Analysis) Phase • Planning Phase • Design Phase • Implementation Phase • Integration Phase • Maintenance Phase (highest cost among all these phases) • Corrective, Perfective, and Adaptive Maintenance • Retirement

  6. Scope of Software Engineering Maintenance is so important that a major aspect of software engineering consists of techniques, tools, and practices that lead to a reduction in maintenance cost. Maintenance67% Approximate relative costs of the phases of the software life cycle.

  7. Scope of Software Engineering • Specification and Design Aspects • Software professionals are humans, and humans can make error. • The fact that so many faults are introduced early in the software life cycle, highlights another important aspects of software engineering, namely, techniques that yield better specifications and designs. • For example, reducing specification and design faults by 10% will reduce the overall number of faults by 6-7%.

  8. Scope of Software Engineering • Team Programming Aspects • Most software being developed and maintained by a team of software engineers • Scope of software engineering must also include techniques for ensuring that teams are properly organized and managed. • For example, team programming leads to interface problems among code components and communication problems among team members.

  9. Scope of Software Engineering • Several techniques have been suggested to help solve the software crisis. • ~1975-1985: Structured Paradigm • Structured Systems Analysis, Composite/Structured Design, Structured Programming, Structured Testing • Lead to major improvements for software industry. • But only good for small programs (say, 5,000-50,000 lines of codes) • Not scale up well with today larger programs (say, 500,000-5,000,000 LOC) • Not so good in software maintenance aspects, (for instance, because of the separation of action-oriented and data-oriented in structured paradigm). • Object-Oriented Paradigm • An object is a unified software component that incorporates both data and actions that operate of those data. --> More Promising!

  10. Scope of Software Engineering Structured Paradigm • Requirement Phase • Specification (Analysis) Phase • Planning Phase • Design Phase • Implementation Phase • Integration Phase • Maintenance Phase • Retirement Object-Oriented Paradigm • Requirement Phase • Object-Oriented Analysis Phase • Planning Phase • Object-Oriented Design Phase • Object-Oriented Programming Phase • Integration Phase • Maintenance Phase • Retirement Comparison of life cycles of structures paradigm and object-oriented paradigm.

More Related