PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.

Slides:



Advertisements
Similar presentations
1 Introduction to Software Engineering Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University.
Advertisements

Overview and History of Software Engineering
Ch 3: Unified Process CSCI 4320: Software Engineering.
Object-Oriented Software Development CS 3331 Fall 2009.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Lecture 13 Revision IMS Systems Analysis and Design.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Introduction to Systems Analysis and Design
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
Slide 1.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Slide 1.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Software Engineering CEN 4010 What is Software Engineering Historical Aspects NATO group coined the phrase during a 1968 meeting in Garmisch, Germany (
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
Ch 1: The Scope of Software Engineering
Introduction to Software Engineering (2/2) Moonzoo Kim KAIST (slides from CS550 ‘06 taught by prof. D. Bae)
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
The Program Development Cycle
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
CS540 Software Design Lecture 2 1 Lecture 2: Software Design Methods Anita S. Malik Adapted from Budgen (2003) Chapter 3 and Schach.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 The Scope of Software Engineering Xiaojun Qi. 2 Software Engineering Software engineering is a discipline whose aim is the production of fault-free.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Formal Methods in Software Engineering
1.1/46 Scope Of Software Engineering 1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within.
CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Chapter 2 Principles of Programming and Software Engineering.
2. Software Development Processes. Software Engineering Outline Historical aspects Economic aspects Maintenance aspects Requirements, analysis, and design.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Design and Development Development Methodoligies Computing Science.
Advanced Software Engineering Dr. Cheng
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Fundamentals of Information Systems, Sixth Edition
Introduction to Software Engineering (2/2)
The Systems Engineering Context
Software Engineering (CSE 314)
Rekayasa Perangkat Lunak
CSE 303 – Software Design and Architecture
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Rekayasa Perangkat Lunak
What Is Good Software(Program)?
Presentation transcript:

PROJECT MILESTONES Group Presentations: ~ 5 mins presentations

Introduction to Software Engineering

What is Software Engineering? Software? –Webster’s Dictionary: “the entire set of programs, procedures, and related documents associated with a system” Engineering? –Webster’s Dictionary: “The practical applications of scientific and mathematical principles”

What is Software Engineering? SE is a discipline whose aim is the production of fault-free software, on time, within budget, that satisfies the user’s needs.

Scope of Software Engineering Scope of SE is extremely broad –Historical aspects –Economic aspects –Maintenance aspects –Specification and Design aspects –Team Programming aspects

Historical Aspects The Term Software Engineering first used at the 1968 NATO conference Aim: to solve the “Software Crisis” Software Crisis: low quality, over budget, and late. Software Engineering Versus other Engineering fields.

Historical Aspects cont. building bridges vs operating systems? –Bridge collapse vs OS crash –perfect engineering vs fault tolerance –Complexity: bridges are analog. Described by continuous mathematics. software systems are discrete. The total number of all possible states can be vast. Some not considered by developer

Historical Aspects cont. –Maintenance software maintenance is much more complex Corrective maintenance Enhancement maintenance –SE is fairly new (~25 years)

Economic Aspects Software Engineering Versus Computer Science –Computer scientist: investigate all solution to a problem –Software engineer: interested only in those solutions that make sound economic sense. short term effects Versus long term effects –Phases of the Software Life Cycle

Maintenance Aspects Phases of Life Cycle –Requirements –Specifications –Design –Implementation –Integration –Maintenance –Retirement Cost of all phases must be taken into account

Maintenance Aspects Cont. Maintenance is a very costly phase Fig. 1.2: Maintenance constitutes 67% of total cost Good software is maintained--Bad software is discarded Different types of maintenance –corrective maintenance [20%] –enhancement adaptive maintenance [20%] perfective maintenance [60%]

Specification and Design Phase Errors exist Better to fix errors during earlier phases –cost increases very sharply (see Fig 1.4& 1.5) 60 to 70% of faults are specification and design faults –need new techniques to avoid errors during Spec. and Design phases.

Team Programming Aspects Hardware cheap -- can build products too large to be built by one person in available time. Team projects –Interface problems –Communication: Meetings/conferencing –Team Organization –Suppose a product takes 1 programmer 1 year –Generally, it’d take a group of 4 programmers more than 3 months

Structured Vs. Object-Oriented Paradigms Structured paradigm ( ) –structured systems analysis, design, programming, & testing –had great success initially –Started to fail with larger products (>50,000 LOC). Did not SCALE UP. –Reason: either action oriented or data oriented but not both.

Object-Oriented Paradigm Both data and actions are of equal importance Object: Software component that incorporates both data and the actions performed on that data. Example: –Bank account data: account balance actions: deposit, withdraw, determine balance

OO Paradigm Cont. Object-Oriented paradigm(see Fig. 1.6) –Encapsulation: actions done on an object are implemented within that object ==> conceptual independence ==> independence of effects –Information hiding: implementation details are hidden from outside the object ==> reduce the level of complexity ==> Maintenance less costly ==> Object reuse

Transition from Analysis to Design Structured paradigm: –Analysis : determine what product is to do –Design: architectural design: project is broken into modules Detailed design: each module is designed (data structures and algorithm for each module) Transition is too sharp

Transition from Analysis to Design OO paradigm: –Object-Oriented Analysis: determine what the product is to do extract the objects –Object-Oriented design detailed design of the objects Objects enter the Life Cycle at early stage