CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering.

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

EEE 243B Applied Computer Programming Software engineering Life cycle and when to test.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
What is Software Engineering? And why is it so hard?
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Debugging CSC 171 FALL 2001 LECTURE 22. Project 4 Hardcopies are outside of CSB 722 All returns outside CSB 722.
Creator: ACSession No: 1 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2006 Introduction to the Module CSE300 Advanced Software.
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
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
3-Jul-15Software Engineering1 IS F341 : Software Engineering Dr. Yashvardhan Sharma Assistant Professor, CSIS Department, BITS-Pilani.
Software Engineering Course Instructor: Aisha Azeem.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
Chapter 9 – Software Evolution and Maintenance
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Dr. Tom WayCSC What is Software Engineering? CSC 4700 Software Engineering Lecture 1.
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
ITEC 370 Lecture 8 Requirements. Review Requirements –What are some of the characteristics of a good requirement? –What are use cases?
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
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.
1 Welcome to CS 362 Applied Software Engineering What happens after (and during) design? Testing, debugging, maintaining programs Lessons for software.
Software Engineering CSCI Class 1- Introduction/Scope of Software Engineering August 22, 2009.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
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.
CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)
What is S.E? Describe S.E in terms of its mistakes Standish Group ( US - $250 Billion on IT projects. 31% projects are cancelled 52.7%
CSC 395 – Software Engineering Lecture 5: Teams -or- How to Motivate and Manage the Unwashed Masses.
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.
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.
1 CSE 403 Introduction Reading: Rapid Development Ch3.3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides.
An Introduction to Software Engineering Support Lecture.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Lecture 6: Writing the Project Documentation Part IV.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
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 Life-Cycle and Models
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 At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
WATERFALL METHOD Robbie Campbell WHAT IS IT  Considered the classic approach to the SDLC.  It is a linear method with goals for each development phase.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Software Engineering Facilitator Faisal Shafique Butt.
Software Design and Development Development Methodoligies Computing Science.
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
Software Engineering - CSC 323
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Lecture 1 What is Software Engineering? CSC 4700 Software Engineering
Software Engineering - CSC 323
Software Engineering (CSE 314)
Rekayasa Perangkat Lunak
Computer Science Life Cycle Models.
Yes, we need hundreds of methodologies!!!
Software Testing and Maintenance Maintenance and Evolution Overview
Software Development Life Cycle
Introduction To software engineering
Chapter 8 Software Evolution.
Rekayasa Perangkat Lunak
What Is Good Software(Program)?
Presentation transcript:

CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering

Today’s Lecture Discuss Computer Programming As Art Introduce Software Engineering What “Software Engineering” means What a Software Engineer does Topics included in Software Engineering

Donald E. Knuth Received every possible award in computer science Wrote volume of books called Art of Computer Programming First created TeX typesetting language and METAFONT font design system Major figure in algorithmic analysis, programming languages, and computer programming Major contributor to theoretical computer science

Half the battle is showing up Is Computer Science an art or science? Why or why not?

Software Engineering Book’s definition of Software Engineering [D]iscipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the client’s needs. Furthermore, the software must be easy to modify when the user’s needs change. Does this sound like art or science?

Software Engineering Programs often late, over budget, and buggy Led to 1967 NATO study group & 1968 conference Referred to as “software crisis” Note: Microsoft not created until 1975 Make producing software like making hardware, building bridges, or other instances of applied science Give rigor of other disciplines of engineering

40 Years of Software Engineers From 9236 projects completed in 2004

Software Engineer What does a Software Engineer do? How does this differ from a Programmer?

Software Engineering Topics Economics: Should we switch to faster coding method? What is included in “coding”? How were these experiments carried out? Consider costs of training Difficulty to make this switch Effect on overall productivity, finding & fixing bugs

Software Engineering Topics Client Relationships: How to determine what they want? Settling on requirements is incredibly hard But sooner a problem is found, easier it is to fix

Software Engineering Topics Psychology: What is the most productive way to get a group of ____ individuals to work on a project as a team?

Software Engineering Topics Abnormal Psychology: What is the most productive way of getting individuals to work on a project as a team, given that they chose a field where they spend all day in front of a computer?

Software Engineering Topics Warranties: We cannot prove a program will terminate. How do we find all the bugs? A bug occurs at the client site. How do we know what caused the bug? Can we prevent it from occurring again?

Software Engineering Topics Maintenance: Is it acceptable to put out a program knowing you will need users to add patches? Legal, Ethical, and Social Issues: We cannot be legally prevented from reselling a book, but can be prevented from giving away software that we no longer use. Why? Is this a good thing?

For Next Lecture Monday’s lecture will Look at how software is really developed Discuss what is done in each stages of the software lifecycle Give you a better idea of why Microsoft and EA keep putting out lousy software