Introduction Software Engineering.

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

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.
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.
Lecture 1: Software Engineering: Introduction
Lecture 2 1 Introduction to Software Engineering.
Software Engineering Course Instructor: Aisha Azeem.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
Software Engineering II
SWE Introduction to Software Engineering
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
Introduction Course outline / Recommended books Course objectives Marks distribution / Schedule Basic concepts of SE and PM Project management framework.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
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.
Chapter : Introduction to Software Engineering Ref. book : Software Engineering by Roger Pressman.
CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Chapter 1 소프트웨어의 본질 The Nature of Software 임현승 강원대학교
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
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?
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.
Software Engineering (CSI 321) Introduction to Software Engineering 1.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
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.
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.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
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.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Introduction to Software Engineering
Software Engineering.
Chapter 1 The Nature of Software
CSCI-235 Micro-Computer Applications
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
Software What Is Software?
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Introduction to Computing
Software Engineering B.E IT Sem-VII
Software Engineering (CSE 314)
Software Project Planning &
Software Myths Deep Mann.
Chapter : Introduction to Software Engineering
Rekayasa Perangkat Lunak
Overview: Software and Software Engineering
Chapter : Introduction to Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
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.
Rekayasa Perangkat Lunak
Software and Software Engineering
Presentation transcript:

Introduction Software Engineering

Introduction Computer software is the product that software engineers design and build. It includes programs that execute within a computer, documents that includes hard-copy and virtual forms, and data that combine numbers and text but also includes representations of pictorial, video, and audio information. Who does it? Software Engineers Why is it important? Software’s impact on our society and culture continues to be profound. As its importance grows, the software community continually attempts to develop technologies that will make it easier, faster, and less expensive to build high-quality computer programs.

Role of Software Today, software takes on a dual role. It is a product and, at the same time, the vehicle for delivering a product. As a Product it handles the devices from Mobile Phone to mainframe Servers. (Application Software) As the vehicle used to deliver the product, software acts as the basis for the control of the computer (operating systems), the communication of information (networks), and the creation and control of other programs (software tools and environments) (System Software). Software delivers the most important product of our time—information The role of computer software has undergone significant change over a time span of little more than 50 years. Dramatic improvements in hardware performance, profound changes in computing architectures, vast increases in memory and storage capacity, and a wide variety of exotic input and output options have all precipitated more sophisticated and complex computer-based systems.

Role of Software The lone programmer of an earlier era has been replaced by a team of software specialists, each focusing on one part of the technology required to deliver a complex application. And yet, the same questions asked of the lone programmer are being asked when modern computer-based systems are built: Why does it take so long to get software finished? • Why are development costs so high? • Why can't we find all the errors before we give the software to customers? • Why do we continue to have difficulty in measuring progress as software is being developed? These, and many other questions, are a manifestation of the concern about software and the manner in which it is developed—a concern that has lead to the adoption of software engineering practice.

Software Characteristics Software is (1)instructions (computer programs) that when executed provide desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3) documents that describe the operation and use of the programs: Characteristics are: Software is a logical rather than a physical system element. Therefore, software has characteristics that are considerably different than those of hardware 1. Software is developed or engineered, it is not manufactured in the classical sense. When hardware is built, the human creative process (analysis, design, construction, testing) is ultimately translated into a physical form Software is a logical rather than a physical system element. Software Does Not “Wear Out” Hardware is susceptible to environmental maladies But Software is not.

Software Characteristics During its life, software will undergo change (maintenance). As changes are made, it is likely that some new defects will be introduced, causing the failure rate curve to spike 3. Although the industry is moving toward component-based assembly, most software continues to be custom built. The reusable components have been created so that the engineer can concentrate on the truly innovative elements of a design. A software component should be designed and implemented so that it can be reused in many different programs.

Software Characteristics Apart From This 6 main quality characteristics, namely: 1. Functionality : Applicable in many areas 2. Reliability : We can rely for result 3. Usability : Usable in many Areas 4. Efficiency ; Memory, Disk Space, Network, Processing Speed 5. Maintainability : The abilities can be enhanced with the time. 6. Portability : How quick the software can acquire the changes.

Software Applications 1. System Softwares Real Time Softwares Software that monitors/analyzes/controls real-world events as they occur is called real time. Business Software (MIS, Payroll etc.) Engineering and Scientific Software (System simulation and CAD) Embedded Software (Reside in ROM and control the machine) Personal Computer Software (Word Processor etc.) Web based Software (Web Browsers) Artificial Intelligence Software (Expert System)

Software Crisis Software crisis was a term used in the early days of computing science. The term was used to describe the impact of rapid increases in computer power and the complexity of the problems which could be tackled. In essence, it refers to the difficulty of writing correct, understandable, and verifiable computer programs. The roots of the software crisis are complexity, expectations, and change.

Software Myths We already have a book that's full of standards and procedures for building software, won't that provide my people with everything they need to know? My people have state-of-the-art software development tools, after all, we buy them the newest computers. If we get behind schedule, we can add more programmers and catch up (sometimes called the Mongolian horde concept). If I decide to outsource3 the software project to a third party, I can just relax and let that firm build it. A general statement of objectives is sufficient to begin writing programs— we can fill in the details later. 6. Project requirements continually change, but change can be easily accommodated because software is flexible. 7. Once we write the program and get it to work, our job is done. 8. Until I get the program "running" I have no way of assessing its quality. 9. The only deliverable work product for a successful project is the working program 10. Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down.