Академический Документы
Профессиональный Документы
Культура Документы
Software Engineering
Lecture 1
CS 5150 1
About the Course
CS 5150 2
Course Administration
Email
To contact members of the course team, send email to:
both wya@cs.cornell.edu
and stevepurpura@gmail.com
The Teaching Assistant does not have office hours, but
you can schedule an appointment by email.
CS 5150 3
Academic Integrity & Professional Practice
CS 5150 5
About the Course
Syllabus
For the schedule of lectures, assignments, and tests, see the
Syllabus file on the course Web site. (Note that this syllabus
may change as the course progresses.)
Monday evening
This time is for project team meetings. You may choose to
meet at other times, but each project should have at least one
regular weekly meeting.
The four tests are held on Monday evenings.
CS 5150 6
About the Course
Readings:
There is no course textbook.
See the Books and Readings file on the Web site.
Wikipedia is often a good source for information about
methods of software engineering
but...
beware articles that emphasize the current fashions
CS 5150 7
Lectures and Tests
CS 5150 8
Grading (Subject to Change)
CS 5150 9
Feedback about the Group Projects
CS 5150 10
Projects
CS 5150 11
Project Selection
CS 5150 12
Thoughts about Project Selection
Projects
• Target must be a production system (not prototype or
research)
• Client should be one or two named people -- client should
be prepared to meet with you regularly and attend the
presentations
Team
• Teams need many strengths -- organizational, technical,
writing, etc.
• Consider appointing a project manager to coordinate the
effort, or a separate project manager for each of the four
assignments.
CS 5150 13
Overall Aim of the Course
CS 5150 14
Previous Experience (Yours)
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?
CS 5150 15
Previous Experience (Mine)
CS 5150 16
Variety of Software Products
Examples
Data processing: telephone billing, pensions
Real time: air traffic control
Mobile devices: digital camera, GPS, iPhone
Information systems: web sites, digital libraries
Sensors: weather data
System software: operating systems, compilers
Communications: routers, telephone switches
Offices: word processing, video conferences
Scientific: simulations, weather forecasting
Graphical: film making, design
etc., etc., etc., ....
CS 5150 17
The Craft of Software Development
CS 5150 18
Software is Expensive
Software is expensive.
The major costs are:
• salaries (your salaries)
• organizational change
CS 5150 19
Software is Expensive
CS 5150 20
Clients, Customers, and Users
Client
The client provides resources and expects some product
in return.
The client is often a member of the organization that is
providing the money. The client's job success may
depend on the success of the software project.
Client satisfaction is a primary measurement of
success in a software project.
Who is the client for Microsoft Excel?
CS 5150 21
Clients, Customers, and Users
Customer
The customer is the person who buys the software or
selects it for use by an organization.
User
A user is a person who actually uses the software.
• With personal software, the user may be the same
person as the customer.
• In organizations, the customers and the users are
usually different.
The Cornell Finance Office uses Microsoft Excel. Who
is the customer? Who are the users?
CS 5150 22