Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009.

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

Software Life Cycle and Models
Software Project Management
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
System Analysis and Design (SAD )
Chapter 1 The Systems Development Environment
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering.
Introduction to Software Engineering Dr. Basem Alkazemi
Chapter 6 Prototyping, RAD, and Extreme Programming
Ch7: Software Production Process. 1 Questions  What is the life cycle of a software product?  Why do we need software process models?  What are the.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Life Cycle Model
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,
Money Magazine’s Top 10 Best Jobs. 1.Software Engineer ($80,500) 2.College Professor($81,500) 3.Financial Advisor($122,500) 4.Human Resources Manager($74,000)
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 (
CSI315 Web Applications and Technology Overview of Systems Development (342)
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
Ch 1: The Scope of Software Engineering
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Software Development and Lifecycles CS201 Fall 2004 Week 11.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
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.
Software Engineering MCS-2 Lecture # 6
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
An Introduction to Software Engineering Support Lecture.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Jensen Berlitz 5th period
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 Lecture # 1.
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.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Introduction to Software Engineering
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Methodologies and Algorithms
Software Engineering Management
CS701 SOFTWARE ENGINEERING
Life Cycle Models PPT By :Dr. R. Mall.
The V Model The V Model Damian Gordon Damian Gordon.
Introduction to Software Engineering
Rekayasa Perangkat Lunak
Introduction to Software Engineering
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Rekayasa Perangkat Lunak
Presentation transcript:

Software Engineering CSCI Class 1- Introduction/Scope of Software Engineering August 22, 2009

Software Engineering CSCI Slide Credits  Much of the material for the course was in some way derived from:  Official textbooks Object-Oriented and Classical Software Engineering, 7 th Edition, Stephen R. Schach (Copyright 2007 McGraw Hill) Core Java 2, Volume I-Advanced Features, 8th Ed., C. S. Horstmann and G. Cornell, Prentice Hall, 2008 Core Java 2, Volume II-Fundamentals, 8th Ed., C. S. Horstmann and G. Cornell, Prentice Hall, 2008  Prof. Don Needham (USNA)  Prof. Lori DeLooze (USNA)  Prof. David Coppit (W&M)

Software Engineering CSCI Role of Software Engineering (Schach Ch1)  Software Engineering's aim:  produce fault-free SW that meets user's needs  delivered on time/in budget  Easy to modify when user's needs change  Historical Aspects: 1968 NATO Conference  Goal: to solve the “Software Crisis”  Overlooked: bridges not same as software  Question: Is "Software Engineering" the same as “Engineering”? How are bridge building and software development similar, how are they different?

Software Engineering CSCI *ICE: Building Bridges vs. Building Software IssueBridgeSoftware Stability/ Complexity (Im)perfect engineering Maintenance Collapse

Software Engineering CSCI *ICE: Building Bridges vs. Building Software

Software Engineering CSCI Recent Studies on the State of Software Engr.  Standish Study (2000) reviewed 280,000 projects => Can you guess what the project success rate was?

Software Engineering CSCI Recent Studies on the State of Software Engr.  Standish Study (2000) reviewed 280,000 projects =>

Software Engineering CSCI Recent Studies on the State of Software Engr.  Standish Study (2004 update) reviewed 9,236 projects =>

Software Engineering CSCI 4490  Cutter Study (2002) : 78% of projects have been involved in disputes ending in litigation:  In 67% of the disputes, functionality of delivered information system did not meet claims of developers  In 45% of the disputes, defects were so severe that system was unusable  In 56% of the cases, not delivered on schedule 9 Recent Studies on the State of Software Engr.  Standish Study (2004 update) reviewed 9,236 projects =>

Software Engineering CSCI “Classical” Software Life Cycle Series of Development Steps, from Concept Exploration through Final Retirement, Broken into 6 Phases:  Requirements phase (concept explored, includes rapid prototyping)  Specification/Analysis phase (contract)  Design phase high-level (architectural design => modules) detailed (design of each module)  Implementation phase (coding/testing) Unit testing Integration of sub-systems  Maintenance phase (any changes after acceptance)  Retirement

Software Engineering CSCI Where are software development $$$ being spent? Where are the majority of software development dollars being spent? Requirements phase? Specification/Analysis phase? (contract) Design phase? Implementation phase? (coding/testing) Maintenance phase? (any changes after acceptance) Retirement?

Software Engineering CSCI Where are software development $$$ being spent?

Software Engineering CSCI *Cost to Detect and Correct a Fault

Software Engineering CSCI *Cost to Detect and Correct a Fault ICE: Using 1980 data, if it costs $8400 to fix a fault after delivery, how much would it have cost to fix if the fault had been detected during implementation?

Software Engineering CSCI *ICE- Real or Perceived Savings?  Coding method CM new is 10 percent faster than currently used method CM old. Should it be used?  What is the total cost reduction attributed to reducing the coding cost by 10%?  What is the total cost reduction attributed to reducing postdelivery maintenance cost by 10%?

Software Engineering CSCI Why Computer Science & Information Technology? 1. Software Engineer 2. College Professor 3. Financial Advisor 4. Human Resources Manager 5. Physician Assistant 6. Market Research Analyst 7. Computer IT Analyst 8. Real Estate Appraiser 9. Pharmacist 10. Psychologist Top 10 Best Jobs Considering growth, pay, stress levels and other factors $80,427 $81,491 $122,460 $73,731 $75,117 $82,317 $83,427 $66,216 $91,998 $66,359 Best Jobs in America By T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.com Monday December 11, 2006 Best Jobs in America By T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.com Monday December 11, 2006

Software Engineering CSCI Why Computer Science & Information Technology? NACE Summer 2009 Salary Survey - Starting Salary Discipline (bachelor's degree level) Average Computer Science $61,407 Electrical/ Electronics Engineering $60,125 Mechanical Engineering $58,766 Information Sciences & Systems $52,089 Civil Engineering $52,048 Economics $49,829 Accounting $48,993 History $37,861 English $34,704 Summer 2009 Salary Survey National Association of Colleges and Employers

Software Engineering CSCI *Aspects of Team Programming  Hardware (relatively) inexpensive — lead to increased demand for SW too large for one person to write in available time.  Brooks paper [1975] on the Mythical Man-Month:  Single Programmer => delivery in 1 year  Team of 3 Programmers => delivery in ?  What’s the Difficulty with Teams?

Software Engineering CSCI Programmer vs. Software Engineer  Responsibilities: Recent Ad for a Software Engineer (MSD, Washington D.C.)  Designs and develops new systems and system enhancements based on defined requirements  Adheres to industry development standards  Designs and develops maintenance releases for existing systems based on defined needs and/or change requests.  Provides input to technical documentation related to design, development, and implementation of systems.  Works in an integrated team environment to provide high- quality products in a time efficient manner.  Required Skills: Java/J2EE, JSP, Oracle databases, SQL Education: Bachelor's degree in a related field from an accredited school Clearance: Secret, existing clearance preferred

Software Engineering CSCI Homework- Due SOC Monday August 24  Divide into groups and provide presentation on the following Life Cycle Models:  Build and Fix  Waterfall  Rapid Prototyping  Incremental  Evolution-Tree Life-cycle  Iteration and Incrementation  Extreme Programming  Spiral  Presentation should include:  An overview/description of the main features of the model, including illustrations to depict its functionality  A list of the Advantages and Disadvantages of the model  Application instance/area where use of the model is appropriate  Application instance/area where use of the model in inappropriate