CS 501: Software Engineering Fall 2000 Lecture 1 Introduction to Software Engineering.

Slides:



Advertisements
Similar presentations
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Advertisements

1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 27 People 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 26 People 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by.
Modified from Sommerville’s slidesSoftware Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 26 Delivering the System.
An Introduction to Software Engineering.
Lecture 1.
TA Information Session College of Computing April 5, 2004.
Chapter 1- Introduction
Workshop Notes Course development: Free and Open Software Development.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
 CS 5380 Software Engineering. Course Description  This course will survey software engineering methods and processes, including requirements, architecture,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Introduction to Software Engineering
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Software Requirements Engineering CSE 305 Lecture-2.
CS461: Principles and Internals of Database Systems Instructor: Ying Cai Department of Computer Science Iowa State University Office:
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering. What is Software?
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
CS 501: Software Engineering Fall 1999 Lecture 19 Management II Business and legal aspects of software engineering.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
Slide 1 CS 310 Software Engineering Professor C. Shilepsky Spring Chapter 1 u define software engineering.
An Introduction to Software Engineering. Communication Systems.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
CS CS 5150 Software Engineering Lecture 26 People 2.
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
An Introduction to Software Engineering (Chapter 1 from the textbook)
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 25 People II.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
Software Engineering Chapter 1- Introduction. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Why? Software Engineers don’t communicate very well…
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  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.
CS 501: Software Engineering Fall 199 Lecture 1 a) Administration b) Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CS CS 5150 Software Engineering Lecture 26 Professionalism.
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
CPIT 251: S OFTWARE E NGINEERING Lecture 1 Introduction to Software Engineering 1.
CompSci 280 S Introduction to Software Development
An Introduction to Software Engineering
CS281 – Introduction to Software Engineering Chapter1: Introduction
CS281 – Introduction to Software Engineering Chapter1: Introduction
CSCE 315 Programming Studio
CS385T Software Engineering Dr.Doaa Sami
Presentation transcript:

CS 501: Software Engineering Fall 2000 Lecture 1 Introduction to Software Engineering

Course Administration Web site: Instructor: William Arms Teaching assistants: Ken Hopkinson, Amy Siu Assistant: Rosemary Adessa Computer lab: Computer Science Undergraduate Lab, Upson Hall, Room 315/317.

Code of Conduct  Software Engineering is a collaborative activity. You are encouraged to work together, but...  Some tasks may require individual work.  Always give credit to your sources and collaborators. Good professional practice: To make use of the expertise of others and to build on previous work, with proper attribution. Unethical and academic plagiarism: To use the efforts of others without attribution.

Projects  Project teams, about 5 to 7 people.  Select your own project, any branch of software engineering  Real project for real client who intends to use the software in production.  Feasibility study and plan: September 13  Presentations: requirements design final

Project Selection  Some suggested projects on the web site  Recitation section on Monday to suggest projects Contact potential clients:  Gain idea of their expectations  Estimate scope and complexity of the project  Discuss business decisions Assemble project team  Advertise on the web site

Previous Experience Your background  Biggest program that you have written?  Biggest program that you have worked on?  Biggest project team that you have been part of?  Longest project that you have worked on?  Most people who have used your work?  Longest that your project has been in production? My background

Future Experience What will you be doing one year from now? Ten years from now?

Course Themes 1. Leadership of large software projects  Software as a product Clients and their needs Quality  Requirements and specification Usability Evolution  Project management Personnel management Economic, legal, and social factors

Course Themes 2. Large and very large systems  Software design Software architecture Object-oriented design  Dependable systems Reliability Verification  Legacy systems

Characteristics of Software Products General characteristics Usability Maintainability Dependability Efficiency Good software products require good programming, but... Programming quality is the means to the end, not the end itself. Example: DEC's optical scanner

Software as a Product Software is expensive!! Every software project has a trade-off between: Functionality Resources (cost) Timeliness Example: Andrew console monitor

Client (a.k.a Customer)  The client provides resources and expects some product in return.  Client satisfaction is the primary measurement of success. Question: Who is the client for Microsoft Excel?

Variety of Software Products Examples?

Categories of Product Categories of client and software product:  Generic (e.g., Microsoft Excel)  Bespoke (customized) (e.g., IRS internal system) Many systems are customized versions of generic packages (e.g., Cornell's payroll system)

Variety of Software Products Software products are very varied --> Client requirements are very different --> There is no standard process for software engineering --> There is no best language, operating system, platform, database system, development environment, etc. A skilled software developer knows about a wide variety of approaches, methods, tools. The craft of software engineering is to select appropriate methods for each project and apply them effectively.

Professional Responsibility Organizations put trust in software developers:  Competence: Software that does not work effectively can destroy an organization.  Confidentiality: Software developers and systems administrators may have access to highly confidential information (e.g., trade secrets, personal data).  Legal environment: Software exists in a complex legal environment (e.g., intellectual property, obscenity).  Acceptable use and misuse: Computer abuse can paralyze an organization (e.g., the Internet worm).

Next Steps  Selection of projects advertise -- send message to TAs and they will post on web site  Recitation section Monday at 7:30