1 / 17

ICS 52 Introduction to Software Engineering

ICS 52 Introduction to Software Engineering. Lecture 2 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. Today’s lecture. Defining software engineering People, processes, tools, and products.

fallon
Download Presentation

ICS 52 Introduction to 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. ICS 52Introduction to Software Engineering Lecture 2 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

  2. Today’s lecture • Defining software engineering • People, processes, tools, and products

  3. Software engineering • “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli]

  4. Software engineering • “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli] • “Multi-person construction of multi-version software.” [Parnas]

  5. Software engineering • “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.” [Schach] • “It’s where you get to design big stuff and be creative.” [Taylor]

  6. Software engineering • “Difficult.” [van der Hoek]

  7. Essential characteristics • Software engineering concerns the development of large programs • The central theme is mastering complexity • Software evolves • The efficiency with which software is developed is of crucial importance • Regular cooperation between people is an integral part of programming-in-the-large • The software has to support its users effectively • Software engineering is a field in which members of one culture create artifacts on behalf of members of another culture • Software engineering is a balancing act

  8. Programming versus software engineering Programming Software engineering

  9. From programming to software engineering • People • who else would do the work? • range from novice to very experienced • Processes • to organize and manage the efforts of individuals • range from informal to very formal • Tools • to support the people and the processes • range from simple to very advanced

  10. People • The single most important factor in the success/failure of a product • Scarce resource • quality • suitability • Cost • Many different kinds of people • managers • programmers • technical writers

  11. Processes • Essential to achieve a quality product • Scarce resource • quality • suitability • cost • Many different kinds of processes • bug tracking • change approval • quality assurance

  12. Tools • Needed to support people and processes • Scarce resource • quality • suitability • cost • Many different kinds of tools • drawing • analysis • project management • source code management

  13. Products • Result of applying people, processes, and tools • Consist of many deliverables • software • documentation • user manuals • test cases • design documents • Have intrinsic qualities • safety • reliability • user friendliness

  14. Products • Products are always the eventual goal • selling products creates revenue • selling good products creates lots of revenue • selling bad products creates little revenue • People, processes, and tools are retained by organization • build a reputation through the quality of products • create organizational culture • important to keep the team intact

  15. Does it always work?

  16. Choose the right solution Hawaii Tijuana Europe

  17. Homework • Read chapter 1, van Vliet

More Related