1 / 9

Software Engineering

Explore the fundamental concepts of software engineering, including processes, methodologies, and popular development techniques. Learn about the importance of using a structured process and how it can improve quality, productivity, and cost-effectiveness in software development. Discover different software engineering processes such as Waterfall, Agile, and Unified Process, and their applications in real-world projects.

fhays
Download Presentation

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. Software Engineering • Software engineering is concerned with the production of large scale software artifacts by teams of individuals • Software engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation -- B. Boehm • Software engineering ... is the part of computer science that is too difficult for the computer scientists -- F. L. Bauer ã 2007, Spencer Rugaber

  2. What is a Process? ã 2007, Spencer Rugaber

  3. What is a Process? • A series of activitieswith a means for determining progress ã 2007, Spencer Rugaber

  4. Software Process • The related set of activities and processes that are involved in developing and evolving a software system -- Summerville • Process assessment • ISO 9000 • Capability Maturity Model (CMM) • Software process improvement • Software Process Improvement Networks (SPIN) • Software Engineering Process Groups (SEPGs) ã 2007, Spencer Rugaber

  5. Why Use a Process? ã 2007, Spencer Rugaber

  6. Why Use a Process? • Management control • Reuse of tools, education and artifacts • Repeatable quality and productivity ã 2007, Spencer Rugaber

  7. Increase in Cost-to-Fix or Change Software throughout the Life Cycle 1000 500 IBM-SSD 200 GTE 100 80% (TRW survey) Median 50 20% SAFEGUARD 20 10 5 Smaller software projects 2 (Source : Software Engineering Economics - Boehm) [Boehm, 1980] 1 Requirements Design Code Development test Operation Acceptance test ã 2007, Spencer Rugaber Phase in which error was detected and corrected

  8. Real World Software Process • Order the T-shirts for the development team • Announce product availability • Write the code • Write the manual • Hire a product manager • Spec the software (writing the specs after the code helps to ensure that the software meets the specifications) • Ship • Test (the customers are a big help here) • Identify bugs as potential enhancements • Announce the upgrade program ã 2007, Spencer Rugaber

  9. Popular Processes • Waterfall • Personal Software Process (PSP) / Team Software Process (TSP) • Unified Software Process (USP) / Rational Unified Process (RUP) • Cleanroom Software Engineering • Extreme Programming (XP) / Agile Methods ã 2007, Spencer Rugaber

More Related