CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816) 235-5932

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

Lecture 1: Software Engineering: Introduction
Lecture 2 1 Introduction to Software Engineering.
CS3773 Software Engineering Lecture 01 Introduction.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
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
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
SWE Introduction to Software Engineering
CS487 Software Engineering Omar Aldawud
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Chapter 6 Systems Development.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
3-Jul-15Software Engineering1 IS F341 : Software Engineering Dr. Yashvardhan Sharma Assistant Professor, CSIS Department, BITS-Pilani.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
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 19 Building Software.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Introduction Course outline / Recommended books Course objectives Marks distribution / Schedule Basic concepts of SE and PM Project management framework.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
EPL441 1 EPL441 Software Engineering for Parallel and Distributed Systems George A. Papadopoulos Department of Computer Science
IT Systems Analysis & Design
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e.
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.
1 Software Engineering: A Practitioner's Approach R.S. Pressman Textbook.
Chapter 1 Software and Software Engineering. A Quick Quiz 1. What percentage of large projects have excess schedule pressure? 25% 50% 75% 100% 2. What.
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.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Lecture 1 Introduction to Software Engineering
Ch.1 1 Software Engineering A Preview Chapter 1. Ch.1 2 Outline My Background Definitions of software engineering (SE) Historical origins of SE SE as.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Lecture 3 Managing the Development Project SFDV Principles of Information Systems.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
SWE311_Ch01 (071) Software & Software Engineering Slide 1 Chapter 1 Software and Software Engineering Chapter 1 Software and 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.
OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML.
CMSC 345 Fall 2000 Software Design and Development.
An Introduction to Software Engineering (Chapter 1 from the textbook)
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Software Engineering Introduction.
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.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
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.
Advanced Software Engineering Dr. Cheng
Fundamentals of Information Systems, Sixth Edition
Software Engineering - CSC 323
Software What Is Software?
Software Engineering (CSE 314)
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Presentation transcript:

CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)

CS451 - Lecture 12 Contents Organizational stuff Project Paper Presentation Why software engineering? What is software engineering?

CS451 - Lecture 13 General stuff Class: M/W 12:30 – 1:15pm, RHFH460 Office hours:  M/W 3:30-4:30 pm or by appointment

CS451 - Lecture 14 Course information Lecture slides will be available in advance Mailing List:  information will be distributed via the mailing list (e.g. hints for assignments, corrections etc.)

CS451 - Lecture 15 Textbooks Required: Software Engineering - A Practitioner's Approach - Pressman (McGraw Hill), 6th Edition Additional readings Classical and Object-Oriented Software Engineering - Stephen R. Schach (McGraw Hill) UML Distilled - Fowler, Scott (Addison Wesley) IEEE & ACM Magazine Papers

CS451 - Lecture 16 Course Objectives  Have a comprehensive picture of software development  Gain hands-on experiences on object oriented development in software engineering. learn the skill on UML (Unified Modeling Language) and tools (National Rose, Project, etc). learn object-oriented programming (C#, Java or C++) and Web technologies (XML,.NET ASP, etc) Understand current trends and requirements of software systems and applications.

CS451 - Lecture 17 Assessment Group Project 40% Individual Work 60%  Midterm Exam: 15%  Final Exam: 20%  Paper Presentation & Discussion: 5%  In-Class Exercise & Participation: 20% Both components must be passed in order to pass the course.

CS451 - Lecture 18 Projects Team project  Teams of 3-4 members  Development of an “entire” system following Agile software engineering process (feature based planning, Unit testing, etc) and OO techniques (UML)  The overall assignment will be divided into several steps that will be marked individually. Project proposal 8% Skill building + Plan 6% Increments (4) 16% Project Report & Presentations 10%  Being late leads to 10 % reduction per day Assignments that are submitted more than three days late will no longer be accepted.

CS451 - Lecture 19 Goal of the Team Assignment Learning to develop a modular software system within a team following an object oriented methodology Getting a feeling for the (management) problems in software development Getting an idea of your own productivity Having group work experience (work-with- other)

CS451 - Lecture 110 Team Assignment The software should be developed following basic software engineering principles  processes: analysis, design, implementation, review, and testing phases  products: requirements and design documents, source code, review results, test cases, test results, and productivity metrics

CS451 - Lecture 111 Potential Projects A community partner - developing a software or a database system to track the children in their after school programs.

CS451 - Lecture 112 Exams (Tentative Schedule) Midterm exam: 3/27/06 Final examination: Final exam period Covers the whole course but will focus on the second part

CS451 - Lecture 113 Paper Presentation Each student presents one or two papers  about 20 minutes  sign-up schedule  actively involved in discussion IEEE Magazines i.e., Internet Computing, Computer ACM Magazine Communications

CS451 - Lecture 114 Introduction to Software Engineering

CS451 - Lecture 115 What is Software? [Pressman] Software is a set of items or objects that form a “configuration” that includes programs documents data...

CS451 - Lecture 116 Software’s Dual Role [Pressman] Software is a product  Delivers computing potential  Produces, manages, acquires, modifies, displays, or transmits information Software is a vehicle for delivering a product  Supports or directly provides system functionality  Controls other programs (e.g., an operating system)  Effects communications (e.g., networking software)  Helps build other software (e.g., software tools)

CS451 - Lecture 117 Why Software Engineering?...to get away from ad hoc and unpredictable software development towards a systematic, understood one...

CS451 - Lecture 118 Characteristics of Today’s Software Development Development of large & complex systems Software systems must fulfill the requirements of a client Number of persons involved in the development > 1 Software systems are expected to live long and be used by many people

CS451 - Lecture 119 What are the Problems? Increased quality demands on software products High cost and time pressure Shorter time to market Coordination problems within the projects Scarce resources

CS451 - Lecture 120 The Software Crisis and Solution 1968: NATO conference in Garmisch-Partenkirchen software crisis (to characterize the situation) software engineering (idea for a solution)

CS451 - Lecture 121 Why still Software Engineering? Has the software crisis vanished? No! Software projects still run over time and out of budget no break through in quality !!! [still art instead of engineering discipline]

CS451 - Lecture 122 Software Crisis?  Unacceptably low quality of software  Delayed deadlines: Average 1 year  Over cost limits: Average 2X estimate E.g. Air Force Command and Control system Initial estimate $1.5million Winner’s bid $0.4 million Actual cost $3.7 million  After deliver? E.g. U.S Army study of Federal projects Delivered, but not used 47% Paid for, but not delivered 29% Abandoned or reworked 19% Used after changes 3% Used as delivered 2%

CS451 - Lecture 123 Practical Disasters European Space Agency Ariane 5  Track control system failure results in self destruction Denver Airport  Late delivery of software for the baggage system delays the opening of the airport by 16 months US study (1995): 81 billion US$ spend per year for failing software development projects

CS451 - Lecture 124 Why is Software so Hard? Software is [Parnas, 1985]:  Buggy  Unreliable  Forever changing  Unwarrantable

CS451 - Lecture 125 Legacy Software Why must it change? software must be adapted to meet the needs of new computing environments or technology. software must be enhanced to implement new business requirements. software must be extended to make it interoperable with other more modern systems or databases. software must be re-architected to make it viable within a network environment.

CS451 - Lecture 126 Management Myths State-of-the-art tools are the solution  A fool with a tool is still a fool Getting behind schedule resolved by hiring additional programmers  “adding people to a late software project makes it later”

CS451 - Lecture 127 Management myths

CS451 - Lecture 128 Customer Myths A general statement of objectives is sufficient to begin writing programs - we can fill in details later.  Thorough communication between customer and developer needed Changes can be easily accommodated because software is flexible  changes happen as a fact of life  late changes are expensive

CS451 - Lecture 129 The Impact of Change Definition 1 x Development x After release x Cost to change

CS451 - Lecture 130 Practitioner’s Myths Once we write a program and get it to work, our job is done  50-70% of all effort after first delivery Until I get the program “running”, I really have no way in assessing its quality  inspections & reviews The only deliverable for a successful project is the working program  documentation (users, maintenance)

CS451 - Lecture 131 Definition: Software Engineering Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1) [IEEE- 93]

CS451 - Lecture 132 Three P’s ProcessesProducts People

CS451 - Lecture 133 People, Processes, Products People  education  skills  communication  style ..... Products –requirements –design –source code –executable –user documentation –test cases –test results –change request –.... Processes –planning –coordination –management –measuring –analyzing –designing –coding –.....

CS451 - Lecture 134 Scope: Software Engineering various disciplines  Mathematics,  Computer science,  Economics,  Management,  Psychology  etc. extremely broad  the software life cycle  team or organization  economic aspect  legal aspect,  etc.