1 Software Engineering Textbook:“Software Engineering -- A Practitioner’s Approach,” 5th Edition by Roger S. Pressman URL:

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
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.
TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”
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.
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
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,
Computer-Aided Software Engineering
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.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
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.
Chapter 2 October 14, Software as a Process zSoftware Engineering -- a definition: y[Software engineering is] the establishment and use of sound.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
TCS2411 Software Engineering1 Course Overview zLectures: attendance compulsory zTutorials: attendance compulsory y(80%) for both lecturer & Tutorial zAssessment.
Software Engineering Course Instructor: Aisha Azeem.
Introduction Course outline / Recommended books Course objectives Marks distribution / Schedule Basic concepts of SE and PM Project management framework.
Chapter : Software Process
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
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 2 Process: A Generic View
Chapter : Introduction to Software Engineering Ref. book : Software Engineering by Roger Pressman.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.
Ch. 101 Epilogue. Ch. 102 Outline What will be the future of the field? What is the impact of SE on society? What ethical issues are raised by SE?
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Lecture 1 Introduction to 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.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
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.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 1- Introduction Module homepage
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
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?
1 Chapter 1 The Product. 2 What is Software?  Pressman Instruction (computer programs) Data Structures Documents  Sommerville Software is computer programs.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
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.
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 – I CSCS 300 – Fall 2009 Ms. Saira Anwar.
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.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
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.
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.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Introduction to Software Engineering
Advanced Software Engineering Dr. Cheng
Advanced Programing practices
Lecture 0 Software Engineering Course Introduction
Introduction SOFTWARE ENGINEERING.
Software What Is Software?
Software Engineering B.E IT Sem-VII
Software Myths Deep Mann.
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
Chapter 25 Process and Project Metrics
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Chapter 32 Process and Project Metrics
Introduction Software Engineering.
Presentation transcript:

1 Software Engineering Textbook:“Software Engineering -- A Practitioner’s Approach,” 5th Edition by Roger S. Pressman URL:

2 Software Engineering Course Outline Part 1 -- The Product and the Process yChapters 1 & 2 Part 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

3 Software Engineering 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

4 Software Engineering 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

5 Software Engineering Course Outline zRe-ordered topics -- Testing yTesting Methods and Strategies - Chapter 16 & 17 yObject-Oriented Testing - Chapter 22

6 Software Engineering 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

7 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?

8 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 XP > 300 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?

9 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?

10 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.

11 Some Software Characteristics zIn theory, software does not wear out at all. zBUT, yHardware upgrades. ySoftware upgrades.

12 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.

13 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., C, C++, 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.

14 Types of Software Applications zSystems Software zReal-Time Software zBusiness Software zEngineering Software zEmbedded Software zArtificial Intelligence Software zPersonal Computer Software

15

16 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.

17 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.

18 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.