Download presentation
Presentation is loading. Please wait.
Published byRudolph Dean Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.