Introduction to Software Engineering COMP 412 – Software Engineering Project Management Prepared by: Engr. Maria Diorella A. Paguio.

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
Advertisements

LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
What is Software Engineering? And why is it so hard?
SWE Introduction to Software Engineering
Software Engineering II
©Ian Sommerville 2000Software Engineering, 6th edition Slide 1 Introduction l Getting started with software engineering l Objectives To introduce software.
Software Engineering, COMP201 Slide 1 Software Engineering COMP 201 Lecturer: Dr. Igor Potapov Ashton Building, room 3.15
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
An Introduction to Software Engineering
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 1- Introduction Dr Richard Clayton &
Frequently asked questions about software engineering
Lecture 1.
Introduction/overview, Process model. What is Software Engineering? Why we need Software Engineering? Software Process Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Chapter 1- Introduction
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Software Engineering Methodologies (Introduction)
Introduction to Software Engineering. What is Software? “ Software is a set of instructions to acquire inputs and to manipulate them to produce the desired.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 1 Supplementary Slides for Software Engineering: A Practitioner's.
Objectives of the Lecture
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Introduction to Software Engineering
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Motivation  Computer programs and associated documentation  Software products may be developed for a particular customer or may be developed for a.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Introduction to Software Engineering
An Introduction to Software Engineering. What is Software?
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 1- Introduction Module homepage
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
Lecture 1 The University of Lahore Software Engineering Saeed Akhtar
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
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.
An Introduction to Software Engineering (Chapter 1 from the textbook)
An Introduction to Software Engineering. Objectives  To introduce software engineering and to explain its importance  To set out the answers to key.
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.
BIT SOFTWARE ENGINEERING APPLICATION DEVELOPMENT Referred Textbook: Software Engineering: A Practitioner’s Approach, 7/e, by Roger S. Pressman CHAPTER.
Figures – Chapter 1. Figure 1.1 Frequently asked questions about software engineering QuestionAnswer What is software?Computer programs and associated.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
Introduction to Software Engineering Syed Salman Ali B.E, MBA ( MIS, Mktg), PMP.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
L ECTURE 1 Introduction Getting started with software engineering.
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.
CompSci 280 S Introduction to Software Development
Chapter 1- Introduction
MISY 301 Mr.Mohammed Rafeeque.
Chapter 1- Introduction
Frequently asked questions about software engineering
An Introduction to Software Engineering
CS385T Software Engineering Dr.Doaa Sami
Software and Software Engineering
Chapter 1 Introduction.
Presentation transcript:

Introduction to Software Engineering COMP 412 – Software Engineering Project Management Prepared by: Engr. Maria Diorella A. Paguio

MOTIVATION

Importance of Software Software can have a huge impact in any aspect of society.

Where can you find software?

Some popular ones…

And even in…

Conclusion Software is Almost Everywhere.

But… What is Software???

Software Definition Computer programs and associated documentation Software products may be developed for a particular customer or may be developed for a general market Software products may be –Generic - developed to be sold to a range of different customers –Bespoke (custom) - developed for a single customer according to their specification

Types of Software

System software –A collection of programs written to service other programs at system level. –Examples: compiler, operating systems. Real time software –Programs that monitor/analyze/control real world events as they occur. –Examples: car’s anti-lock break system, air traffic control systems, railway switching systems 13

Types of Software Embedded software –Software that resides in read-only memory and is used to control products and systems for the consumer and industrial markets. –Examples: Telecom – telephone switches, mobile phones, router; Consumer Electronics: PDAs, game consoles, digital cameras, mp3 players, etc 14

Types of Software Business Software –Programs that access, analyze and process business information. –Examples: payroll, accounts receivable/payable, inventory, point-of-sale Engineering and Scientific Software –Software using “number crunching” algorithms for different scientific and engineering applications. –Examples: Software used to predict weather, and those used in prediction of genome structure, automotive stress analysis, space shuttle orbital dynamics, etc 15

Types of Software Personal computer software –Also known as Application Software, is computer software designed to help the user to perform specific tasks. –Examples: Word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, and external network or database access 16

Types of Software Artificial Intelligence Software –Programs make use of AI techniques and methods to solve complex problems. Active areas are expert systems, pattern recognition, games –Examples: ASIMO uses sensors and intelligent algorithms to avoid obstacles and navigate stairs; Deep Blue, computer chess who beat Kasparov 17

Types of Software Web based software –Programs that support internet accesses and applications. –Examples: search engine, browser, e- commerce software, authoring tools. 18

Evolution of Software

Evolution of Software The early years Batch orientation Limited distribution Custom software The second era Multi-user Real-time Database Product software The third era Distributed systems Embedded intelligence Low-cost hardware Consumer impact The fourth era Powerful desktop systems Object- oriented technologies Expert systems Artificial neural networks Parallel computing

Software Characteristics

Software Characteristics First of all software is developed or engineered, it is not manufactured, Secondly software does not wear out. Finally even the industry is moving toward component based assembly, most software continues to be custom built.

Attributes of Good Software

Maintainability –Software must evolve to meet changing needs Dependability Software must be trustworthy Efficiency –Software should NOT make wasteful use of system resources such as memory and processor time.

Attributes of Good Software Usability –Software must be usable by the users for which it was designed, it should have an appropriate user interface and enough documentation.

Advice: Work very hard to understand what you have to do before you start. You may not be able to develop every detail, but the more you know, the less risk you take 26

Problems in software development

Problems in software development The final Software doesn´t fulfill the needs of the customer. Hard to extend and improve: if you want to add a functionality later, mission is impossible. Bad documentation. Bad quality: frequent errors, hard to use, etc More time and costs than expected

But That never happens, right?

Wrong!

Software failures Therac-25 ( ): six people overexposed during treatments for cancer Taurus (1993): the planned automatic transaction settlement system for London Stock Exchange cancelled after five years of development The Mars Climate Orbiter assumed to be lost by NASA officials (1999): different measurement systems (Imperial and metric)

Cause: design errors in the software Ariane 5 Flight 501

Chaos Report

It is not enough to do your best: you must know what to do, and THEN do your best. --- W. Edwards Deming Conclusion Programming is NOT enough!

And Since… A clever person solves a problem. A wise person avoids it. - Albert Einstein

Solution… ???

What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software production Software engineers should adopt: –a systematic and organized approach to their work –use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available

What is software engineering? Engineers make thing work, they apply theories, methods and tools where these are appropriate. Software engineering is: the systematic use of many disciplines, tools, and resources for the practical application. This is a broad definition which includes everything except hardware.

What is software engineering? Engineering is the art and science of managing engines for practical application. To manage these engines, we have to consider all aspects of the intended applications, such as operational concepts, requirements, design, development, and maintenance.

Software Engineering is the study and application of methodologies to develop quality software that fulfill customer needs. In short…

What is the difference between software engineering and computer science? Computer ScienceSoftware Engineering is concerned with Computer science theories are currently insufficient to act as a complete underpinning for software engineering, BUT it is a foundation for practical aspects of software engineering  theory  fundamentals Algorithms, date structures, complexity theory, numerical methods  the practicalities of developing  delivering useful software SE deals with practical problems in complex software products

42 What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process System engineers are involved in system specification, architectural design, integration of the finish system.

Software Engineering Body of Knowledge Source:

SE history SE introduced first in 1968 – conference about “software crisis” when the introduction of third generation computer hardware led more complex software systems then before Early approaches based on informal methodologies leading to –Delays in software delivery –Higher costs than initially estimated –Unreliable, difficult to maintain software Need for new methods and techniques to manage the production of complex software.

However … Important progress: Ability to produce more complex software has increased New technologies have led to new SE approaches A better understanding of the activities involved in software development Effective methods to specify, design and implement software have been developed New notations and tools have been produced

What are the key challenges facing software engineering? Software engineering in the 21 st century faces three key challenges: Legacy systems –Old, valuable systems must be maintained and updated Heterogeneity –Systems are distributed and include a mix of hardware and software Delivery –There is increasing pressure for faster delivery of software

End of Presentation Yehey!!!