January 12, 1999Chapter 1 1 Software Engineering  CPSC 431 MW 1:50 – 2:40 TTR 2:20 – 3:10. BRIGHT 113 ZACHRY 105b W. M. Lively Rm 427C, H. R. Bright Bldg.

Slides:



Advertisements
Similar presentations
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.
Advertisements

CS3773 Software Engineering Lecture 01 Introduction.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Metrics for Process and Projects
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
1 Software Maintenance and Evolution CSSE 575: Session 1, Part 1 Course Introduction Steve Chenoweth Office Phone: (812) Cell: (937)
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
General information CSE 230 : Introduction to Software Engineering
Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
Principles of Object-Oriented Software Development Unified Modeling Language.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Itntroduction to UML, page 1 Introduction to UML.
Chapter 2 October 14, Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound.
Requirements Management Course Plan System Group Company – Training Department By: Dr. Ahmad Abdollahzadeh.
TCS2411 Software Engineering1 Course Overview zLectures: attendance compulsory zTutorials: attendance compulsory y(80%) for both lecturer & Tutorial zAssessment.
Software Engineering Course Instructor: Aisha Azeem.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 1- Introduction Dr Richard Clayton &
Course Objectives and Instructor Information. To understanding of current software engineering theory and practice To study various software development.
Introduction Course outline / Recommended books Course objectives Marks distribution / Schedule Basic concepts of SE and PM Project management framework.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.
Chapter 1: Introduction to Project Management
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Sept Ron McFadyen1 UML & Design Patterns Course outlineoutline /3 Advanced Systems Design.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 1- Introduction Module homepage
CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
1 Chapter 1 The Product. 2 What is Software?  Pressman Instruction (computer programs) Data Structures Documents  Sommerville Software is computer programs.
1 Software Engineering Textbook:“Software Engineering -- A Practitioner’s Approach,” 5th Edition by Roger S. Pressman URL:
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
Software Engineering 1 Basic Information Lesson 1.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Information Systems Analysis and Design Lesson Plan Ismiarta Aknuranda PTIIK UB Spring Semester
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 Administrivia September 5, 2001 Joseph Conron Computer Science Department New York University
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
SOFTWARE ENGINEERING – I CSCS 300 – Fall 2009 Ms. Saira Anwar.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
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.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
1 Introduction to Software Engineering Wen-Yang Lin Dept. of Computer Science and Information Engineering National University of Kaohsiung February, 2007.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Copyright (C), No Magic, Inc Welcome to No Magic!
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
Information System Design IT60105 Dr. D. Samanta Contact:
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Advanced Software Engineering Dr. Cheng
Lecture 0 Software Engineering Course Introduction
Software What Is Software?
Software Myths Deep Mann.
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
CS 425/625 Software Engineering Software Evolution
Chapter : Introduction to Software Engineering
Overview: Software and Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
CMPE 412 Software Engineering
Software Engineering.
Presentation transcript:

January 12, 1999Chapter 1 1 Software Engineering  CPSC 431 MW 1:50 – 2:40 TTR 2:20 – 3:10. BRIGHT 113 ZACHRY 105b W. M. Lively Rm 427C, H. R. Bright Bldg. Office Hours:4 – 5 pm M - TTR Li Han Ashar Khan -- TA’s Off: TTR 8:30-9:45; 3:15-4:00pm Off: MF 2:00-4:00pm 328B Bright; E Bright Sections 503, 504,506 Sections501, 502, 505 Textbook:“Software Engineering -- A Practitioner’s Approach,” 4th Edition by Roger S. Pressman

January 12, 1999Chapter 1 2 Software Engineering  CPSC 431 zReference books -- at least one recommended y“UML in a Nutshell” by Sinan Si Albir, O’Reilly y“UML Distilled” by Martin Fowler and Kendall Scott, Addison-Wesley y“The Unified Modeling Language User Guide” by Grady Booch, James Rumbaugh and Ivar Jacobson, Addison- Wesley y“Visual Modeling with Rational Rose and UML” by Terry Quatrani, Addison-Wesley y“UML Notation Guide” -- available from copy center or web at

January 12, 1999Chapter 1 3 Software Engineering  CPSC 431 zGrading yMid-term Exam (Mar. 6/7)30% yFinal Exam30% yLaboratory Project30% yHomework10% Course Outline zPart 1 -- The Product and the Process yChapters 1 & 2

January 12, 1999Chapter 1 4 Software Engineering  CPSC 431 Course Outline zPart 3 -- Conventional Methods ySystem Engineering - Chapter 10 yAnalysis Concepts and Principles - Chapter 11 yAnalysis Modeling - Chapter 12 yDesign Concepts and Principles - Chapter 13 yDesign Methods - Chapter 14 yReal-Time Design - Chapter 15 yTesting Methods and Strategies - Chapter 16 & 17 yMetrics for Software - Chapter 18

January 12, 1999Chapter 1 5 Software Engineering  CPSC 431 Course Outline zPart 4 -- Object-Oriented SE yObject-Oriented Concepts - Chapter 19 yObject-Oriented Analysis - Chapter 20 yObject-Oriented Design - Chapter 21 yObject-Oriented Testing - Chapter 22 yMetrics for Object-Oriented Systems - Chapter 23

January 12, 1999Chapter 1 6 Software Engineering  CPSC 431 Course Outline zRe-ordered topics -- Testing yTesting Methods and Strategies - Chapter 16 & 17 yObject-Oriented Testing - Chapter 22

January 12, 1999Chapter 1 7 Software Engineering  CPSC 431 Course Outline zPart 2 -- Software Management yManagement Concepts -- Chapter 3 ySoftware Process and Project Metrics -- Chapter 4 yProject Planning -- Chapter 5 yRisk Management -- Chapter 6 yScheduling and Tracking -- Chapter 7 yQuality Assurance -- Chapter 8 yConfiguration Management -- Chapter 9

January 12, 1999Chapter 1 8 Software Engineering  CPSC 431 Course Outline zPart 5 -- Advanced Topics yFormal Methods -- Chapter 24 yCleanroom SE -- Chapter 25 ySoftware Reuse -- Chapter 26 yRe-engineering -- Chapter 27 yClient/Server -- Chapter 28 yComputer-Aided Software Engineering -- Ch. 29 yThe Future -- Chapter 30

January 12, 1999Chapter 1 9 Software Engineering zAn initial calibration of perspective: yHow many lines of code are produced, on average, by one software engineer in a year? yHow long would it take you to do the attached web generation problem?

January 12, 1999Chapter 1 10 Software Engineering — Introduction zWhat is Software Engineering (SE)? yThe process of building a software product. zSome questions to put SE in perspective: yWhat are the sizes of some typical software products? xMaple.exe = 1.3 Mbytes.-- System over 3.8 Mbytes xNetscape.exe = 1.26 megabytes. xMicrosoft Office 97 > 180 megabytes. yHow many people would it take to build these in 1 year? 2? yWhat would you do if a bug could cost lives and $2 billion? yWhat would you do if a delay could cost $100’s of millions?

January 12, 1999Chapter 1 11 Software Engineering — Introduction zSome questions to put SE in perspective (con’t): yWhat is the impact of distributing buggy software? yWhy do we have so many software upgrades? yWhat is the impact of software upgrades? yWhy is it so difficult to measure software development progress? yWhat are some of the ethical issues in software development? yWhy does it take so long to develop software? yWhy does software cost so much? yWhy do people continue to use buggy and/or obsolete software?

January 12, 1999Chapter 1 12 Some Software Characteristics zSoftware is engineered or developed, not manufactured in the traditional sense. zSoftware does not wear out in the same sense as hardware.

January 12, 1999Chapter 1 13 Some Software Characteristics zIn theory, software does not wear out at all. zBUT, yHardware upgrades. ySoftware upgrades.

January 12, 1999Chapter 1 14 Some Software Characteristics zThus, reality is more like this. yMost serious corporations control and constrain changes zMost software is custom built, and customer never really knows what she/he wants.

January 12, 1999Chapter 1 15 Some General Approaches zDevelop and use good engineering practices for building software. zMake heavy use of reusable software components. zUse modern languages that support good software development practices, e.g., Ada95, Java. zUse 4th generation languages. zBut, almost everything is a two-edged sword. yConsider long term tool maintenance. xRight now, this is a major problem for NASA.

January 12, 1999Chapter 1 16 Types of Software Applications zSystems Software zReal-Time Software zBusiness Software zEngineering Software zEmbedded Software zArtificial Intelligence Software zPersonal Computer Software

January 12, 1999Chapter 1 17 Software Myths zMyth: It’s in the software. So, we can easily change it. yReality: Requirements changes are a major cause of software degradation. zMyth: We can solve schedule problems by adding more programmers. yReality: Maybe. It increases coordination efforts and may slow things down. zMyth: While we don’t have all requirements in writing yet, we know what we want and can start writing code. yReality: Incomplete up-front definition is the major cause of software project failures.

January 12, 1999Chapter 1 18 Software Myths zMyth: Writing code is the major part of creating a software product. yReality: Coding may be as little as 10% of the effort, and % may occur after delivery.

January 12, 1999Chapter 1 19

January 12, 1999Chapter 1 20 Software Myths zMyth: I can’t tell you how well we are doing until I get parts of it running. yReality: Formal reviews of various types both can give good information and are critical to success in large projects. zMyth: The only deliverable that matters is working code. yReality: Documentation, test history, and program configuration are critical parts of the delivery. zMyth: I am a (super) programmer. Let me program it, and I will get it done. yReality: A sign of immaturity. A formula for failure. Software projects are done by teams, not individuals, and success requires much more than just coding.

January 12, 1999Chapter 1 21

January 12, 1999Chapter 1 22