Software and Software Engineering

Slides:



Advertisements
Similar presentations
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S.
Advertisements

Developed by Reneta Barneva, SUNY Fredonia
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Software Engineering Course Instructor: Aisha Azeem.
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
SWE Introduction to Software Engineering
CS487 Software Engineering Omar Aldawud
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Module 1 Introduction to Software Engineering Badariah Solemon 2010 CSEB233 Fundamentals of Software Engineering.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 1 Supplementary Slides for Software Engineering: A Practitioner's.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner's Approach R.S. Pressman Textbook.
Chapter 1 Software and Software Engineering. A Quick Quiz 1. What percentage of large projects have excess schedule pressure? 25% 50% 75% 100% 2. What.
CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.
Chapter 1 소프트웨어의 본질 The Nature of Software 임현승 강원대학교
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
1.1 The Evolving Role of Software
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
INPUT#3 SOFTWARE ENGINEERING. QUALITY SOFTWARE?  Satisfies the needs of the users and programmers involved with it.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
SWE311_Ch01 (071) Software & Software Engineering Slide 1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering.
1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering COMP 412 – Software Engineering Project Management Prepared by: Engr. Maria Diorella A. Paguio.
Chapter 1 The Product Software is
An Introduction to Software Engineering (Chapter 1 from the textbook)
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Amit Singh Introduction to Software Engineering. What is Software? The product that software professionals build and then support over the long term.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Engineering Introduction.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
BIT SOFTWARE ENGINEERING APPLICATION DEVELOPMENT Referred Textbook: Software Engineering: A Practitioner’s Approach, 7/e, by Roger S. Pressman CHAPTER.
CS 281 Intro to Software Engineering Lecture 01 Introduction to the Course The Nature of Software.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
Software and Software Engineering By bscshelp.com software engineering 1.
Introduction to Software Engineering
Software Engineering.
Chapter 1- Introduction
Chapter 1 The Nature of Software
Chapter 18 Maintaining Information Systems
The Product The Evolving Role of Software Dual role of software Product - It’s a information transformer producing, managing, acquiring, modifying, transmitting.
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Software What Is Software?
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Frequently asked questions about software engineering
Software Engineering Rekayasa Perangkat Lunak
Chapter : Introduction to Software Engineering
For University Use Only
Overview: Software and Software Engineering
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Chapter 1 Software & Software Engineering
Software Engineering Rekayasa Perangkat Lunak
Software Engineering (CSI 321)
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Chapter 1 Software & Software Engineering
Chapter 5 Architectural Design.
Chapter 1 Software & Software Engineering
Introduction Software Engineering.
Software Engineering Rekayasa Perangkat Lunak
Presentation transcript:

Software and Software Engineering Chapter 1 Software and Software Engineering Discussion of the Software Product and Software Engineering

Software Evolution The role of software in the information age. Information and knowledge are the focal point for power in the 21st century. Software is being part of most daily activities. Software is an integral part of many types of systems (medical, telecom, avionic, military, transportation, etc…). Software is now a vast industry with significant economic power. The “law of unintended consequences” and computer software.

The Dual Role of Software Software is product that delivers computing potential across networks of hardware. transforms information - produces, manages, acquires, modifies, displays, or transmits information. Software is vehicle for delivering a product (information) provides system functionality (e.g., payroll system) controls other software (e.g., an operating system) effects communications (e.g., networking software) helps build other software (e.g., software tools)

Software Development Computer-based systems are more complex than ever. Require sophisticated software programs (complexity issue). Shift from “lone programmer” to “software engineering team” However, some of the questions still being asked today are: Why does it take long to finish a software project? Why development cost is always high? Why cannot all errors be found before the software is delivered to the customer? Why it is difficult to measure progress during software development? These questions lead to developing Software Engineering Framework and practices.

What is a Software Product? What is Computer Software? Computer programs (instructions) that execute to perform a specified task. A set of items or objects that form a “configuration” that includes programs, documents, and data. Is software different than other things we build?

Software Characteristics (1) Software is engineered, but not manufactured Both aim for high quality through good design Engineering is a different approach than manufacturing quality issue cost issue

Software Characteristics (2) Software doesn’t wear out, but it deteriorates Time Failure rate Infant Mortality Wear Out Hardware Product

Software Characteristics (3) Software Product

Software Characteristics (3) Software is more complex to maintain Most software is custom built Software has no spare parts Immature component-based development (lack of standards) Software reuse is evolving, but not a “natural/integral part “ of the development process (mostly interface components)

Software Application (1) Software applicability is very wide, leading to more SE challenges. Generic categories of software applications: Systems Software (services other programs) Operating systems, Compilers, Editors, Device drivers, Communication software, Search agents, etc… Application Software (processes real-time events) Traffic control, Weather applications, Avionics, Control systems, etc..

Software Application (2) Engineering/Scientific Software (process complex calculations - number crunching) Simulation, VR, Mineral exploration, molecular biology, space exploration, etc… Embedded Software (controls devices - read-only) Consumer appliances, Household devices, Vehicles, etc… Business (product-line) Software (process business information and databases - MIS systems) Payroll, Shipping, Accounting, Inventory, Banking, Financial transactions, Word-Processing, Multimedia, etc…

Software Application (3) Web Applications (supports web development) Webpage builders, Browsers, e-Commerce, B2B, etc… PC Software (packaged software) Word processor, Database, Editors, Graphics software, etc,… AI Software (implements non-numeric algorithms) Expert systems, Pattern recognition, Games, Robotics, etc… Ubiquitous computing - Wireless networks and applications for small devices to communicate.

New Software Categories Netsourcing - the Web as a computing engine. Applications for end-user to make use of the Web engine. (personal planning applications) Open source - ”free” source code open to the computing community (a blessing, but also a potential curse!) Other categories - non-numeric algorithms: Data mining, Grid computing, and Cognitive machines The challenge: Building applications that can accommodate future changes in technology, business, and end-user needs. (again, the law of unintended consequences)

Legacy Systems Developed decades ago and frequently modified. Quality issues. Why it must be changed? 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 viable within a network environment.

Cost of Change Definition Development After release 1x 1.5-6x 60-100x

Software Challenges How do we ensure the quality of the software that we produce? How do we meet growing demand and still maintain budget control? How do we upgrade an aging "software plant”? How do we avoid disastrous time delays? How do we successfully institute new software technologies?

In summary… - Software has evolved to a large industry - The industry requires engineering practices - The practices are based on established processes - The processes form a framework for building high quality software systems…

Something to Think About… How does software differ from products produced by other engineering discipline? Differentiate software characteristics from those of hardware. What do we mean by software crisis? Many books authored on software failure. Read Software Myths in the book and think of other new myths.

Suggested Problems Try to work problems 1.1, 1.2, 1.3, 1.5, 1.6, 1.11, and 1.12, page 17. No submission is required for practice assignments. Work it for yourself!

Last Slide End of chapter 1