Software Engineering (CSE 314)

Slides:



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

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 2 1 Introduction to Software Engineering.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 2 The Software Process
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering II
7M822 Software Engineering Introduction 7 September 2010.
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 Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
 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,
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
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.
Lecture 1 Introduction to Software Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and 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.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
Software Engineering (CSI 321) Introduction to Software Engineering 1.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
CMSC 345 Fall 2000 Software Design and Development.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
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.
Object-Oriented Software Engineering Chapter 1 Software and Software Engineering.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Rekayasa Perangkat Lunak Kuliah 2. Outline of this presentation Attributes of Good Software Why Software Engineering ? What is Software Product ? 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.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Chapter 1: Software and Software Engineering The Nature of Software... Software is intangible  Hard to understand development effort Software.
Advanced Software Engineering Dr. Cheng
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
CSCE 240 – Intro to Software Engineering
Rekayasa Perangkat Lunak Part-2
Software What Is Software?
Software Engineering B.E IT Sem-VII
Software Myths Deep Mann.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Rekayasa Perangkat Lunak
Software life cycle models
Overview: Software and Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
CMPE 412 Software Engineering
CIS 375 Bruce R. Maxim UM-Dearborn
Software Engineering (CSI 321)
CS310 Software Engineering Lecturer Dr.Doaa Sami
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Chapter 1: Software and Software Engineering
Rekayasa Perangkat Lunak
What Is Good Software(Program)?
Introduction Software Engineering.
What is Software Engineering?
Chapter 1: Software and Software Engineering
Presentation transcript:

Software Engineering (CSE 314)

What is software engineering Software engineering is the process of solving customers’ problems by the systematic development and evolution of large, high quality software systems within cost, time. The establishment and use of sound engineering principles in order to obtain economically developer software that is reliable and works efficiently on real machines. A discipline whose is the production of Quality software, software that is delivered on time, within budget, and that satisfies its requirements.

Stakeholders in software engineering Many people are involved in software engineering Users- who will use software Customers/clients- These are the people who makes the decision about ordering and paying for the software, the may or may not be users, users may work for them. Software Developers- software engineers Development managers-These are the people who run organization that is developing the software.

Software Quality Customer- Solve problem at an acceptable cost in terms of money paid and resources used. User- Easy to run, Efficient to use, Helps get work done Developer- Easy to design, Easy to maintain, easy to reuse its parts. Development Manager- Sells more and pleases customers while costing less to develop and maintain.

Attributes of software quality Usability- The higher the usability of software , the easier it is for users to work with it. Efficiency- The more efficient software is, the less it uses of CPU-time, memory, disk space, and other resources. Reliability- software is more reliable if it has fewer failures. Maintainability- This is the ease with which you can change the software. Software engineers can design highly maintainable software by anticipating future changes and adding flexibility.

Software Characteristics Software is developed or engineered, it is not manufactured in the classical sense.- it is one time development effort, duplicity is not an issue. Software doesn’t wear out (bathtub curve) Failure Infant Wear Rate mortality out Time Failure curve for Hardware

Failure Rate Time Failure curve for s/w

Reusability of components(component based software engineering) Software is flexible- change

Software Crisis The expenses that organizations all around the world are incurring on software purchase compared to those on hardware purchase have been showing a worrying trend over the years . Organizations are spending larger and larger portions of their budget on software. Not long ago when you bought any hardware product, the essential software that ran on it came free with it.

Factors of crisis- Large problem sizes, Lack of adequate training in software engineering., increasing skill shortage. Remedy- Spread of software engineering practices among the engineers.

Software Myths Management myths Myth: We already have a book that’s full of standards and procedures for building software. Won’t they provide my people with everything they need to know? Myth: If we get behind schedule, we can add more programmers and catch up.

Customer Myths Myth: A general statement of objectives is sufficient to begin writing programs- we can fill in the detail later. Myth: Project requirement continually change, but change can be easily accommodated because software is flexible.

Practitioner’s myths Myth: Once we write the program and get it to work , our job is done. Myth: until I get the program running, I have no way of accessing its quality. Myth: The only deliverable work product for a successful project is working program.(documentation). Myth: Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down.

Software Life cycle models Water Fall Model Requirement analysis and specification phase: The goal of this phase to understand the exact requirement of customer and to document them properly. The requirement describes “What” of the system. Design Phase: The goal of this phase is to transform the requirements specification into a structure that is suitable for imlpementation in some programming languages.(Module, DS)

Implementation and unit testing- (coding phase, single module) Integration and system testing- Operation and maintenance- Error correction, enhancement of capabilities , deletion of capabilities, optimization. This model expects complete and accurate requirements early in the process which is un realistic.

Advantage Easy to understand Define before design and design before code DISADVANTAGES It is difficult to define all the requirements at the beginning of project. This model is not suitable for accomodating any change A working version of system is not seen until late in the projects life. It does not scale up well to large projects.