Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.

Similar presentations


Presentation on theme: "1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering."— Presentation transcript:

1 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering

2 2 Software’s Dual Role ► Software is a product  Delivers computing potential  Is an Information transformer that produces, manages, acquires, modifies, displays, or transmits information ► Software is a vehicle for delivering a product  Controls other programs (e.g., an operating system)  Effects communications (e.g., networking software)  Helps build other software (e.g., software tools)

3 3 What is Software? Software is a set of items or objects that form a “configuration” that includes Computer programs Data structures Documents

4 4 What is Software? ► software is engineered ► software doesn’t wear out ► software is complex

5 5 Hardwarevs. Software ► Manufactured ► Wears out ► Built using components ► Relatively simple ► Developed/engineered ► Deteriorates ► Custom built ► Complex

6 6 Manufacturing vs. Development ► Once a hardware product has been manufactured, it is difficult or impossible to modify. In contrast, software products are routinely modified and upgraded. ► In hardware, hiring more people allows you to accomplish more work, but the same does not necessarily hold true in software engineering. ► Unlike hardware, software costs are concentrated in design rather than production.

7 7 Wear vs. Deterioration Hardware wears out over time

8 8 Wear vs. Deterioration Software deteriorates over time Software deteriorates over time

9 9 Software Applications ► System software   is a collection of programs written to service other programs e.g., compilers, editors etc. ► Application software  Consists of standalone programs that solve a specific business need e.g. ms word, adobe acrobat, notepad etc ► Engineering/scientific software   Applications range from astronomy to volcanology, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing.

10 10 Software Applications ► Embedded software   Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It can perform very limited functions (e.g., keypad control for a microwave oven) or provide significant function and control capability (e.g., digital functions in an automobile such as fuel control, dashboard displays) ► Product-line software  Designed to provide a specific capability for use by many customers e.g. inventory control products, spreadsheets, computer graphics, database management etc. ► WebApps (Web applications)  a web application or WebApps is an application that is accessed via a web browser over a network such as the Internet e.g. webmails, online retail sales etc. ► ► Artificial intelligence (AI) software   makes use of algorithms to solve complex problems that cannot be solved through straightforward analysis e.g. pattern recognition (image and voice) etc.

11 11 Legacy Software ► Software must be adapted to meet the needs of new computing environments or technology. ► Software must be enhanced to implement new business requirements. ► Software must be extended to make it interoperable with other more modern systems or databases. ► Software must be re-architected to make it workable within a network environment ► Software must be re-architected to make it workable within a network environment. Why must it change?

12 12 Software Myths ► Beliefs about software and the process used to build it. ► Affect managers, customers (and other non-technical stakeholders) and practitioners ► Are believable because they often have elements of truth, but … ► Invariably lead to bad decisions, therefore … ► Insist on reality as you navigate your way through software engineering

13 13 Management Myths ► “We already have a book of standards and procedures for building software. It does provide my people with everything they need to know …” ► “If my project is behind the schedule, I always can add more programmers to it and catch up …” (a.k.a. “The Mongolian Horde concept”) ► “If I decide to outsource the software project to a third party, I can just relax: Let them build it, and I will just pocket my profits …”

14 14 Customer Myths ► “A general statement of objectives is sufficient to begin writing programs - we can fill in the details later …” ► “Project requirements continually change but this change can easily be accommodated because software is flexible …”

15 15 Customer Myths

16 16 Practitioner’s Myths ► “Let’s start coding ASAP, because once we write the program and get it to work, our job is done …” ► “Until I get the program running, I have no way of assessing its quality …” ► “The only deliverable work product for a successful project is the working program …” ► “Software engineering is nonsense. It makes us create tons of paperwork, only to slow us down …”

17 Thank You 17


Download ppt "1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering."

Similar presentations


Ads by Google