CS%20501:%20Software%20Engineering%20Fall%20199 - PowerPoint PPT Presentation

About This Presentation
Title:

CS%20501:%20Software%20Engineering%20Fall%20199

Description:

Sommerville's list. Usability. Maintainability. Dependability. Efficiency ... Longest project that you have worked on? Most people who have used your work? ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 17
Provided by: paye
Category:

less

Transcript and Presenter's Notes

Title: CS%20501:%20Software%20Engineering%20Fall%20199


1
CS 501 Software EngineeringFall 199
Lecture 1 a) Administration b) Introduction to
Software Engineering
2
Course Administration
Web site www.cs.cornell.edu/cs501-fa99 Instructo
r William Arms Teaching assistant Nate
Nystrom Assistant Rosemary Adessa Text book
Software Engineering, Fifth Edition, by Ian
Sommerville (Addison-Wesley), 1996. Computer lab
Computer Science Undergraduate Lab, Upson Hall,
Room 315/317.
3
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.
4
Projects
? Project teams, about 5 people. ? Select your
own project, any branch of software engineering ?
Real project for real client who intends to use
the software in production. ? Project plan
September 9 ? Progress report October 14 ?
Final presentation End of term (dates to be
announced) ? Seminars on Friday to suggest
projects
5
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
6
Course Themes
2. Large and very large program codes
? Software design Software
architecture Object-oriented design ?
Dependable systems Reliability
Verification ? Computer-aided software
engineering ? Legacy systems
7
Characteristics of Software Products
Sommerville's list 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
8
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
9
Future Experience
What will you be doing one year from now? Ten
years from now?
10
Software as a Product
Software is expensive!!
Every software project has a trade-off between
Function Resources Timeliness Example
Andrew console monitor
11
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?
12
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).
13
Variety of Software Products
Examples?
14
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)
15
Variety of Software Products
Software products are very varied --gt Client
requirements are very different --gt There is no
standard process for software engineering --gt
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.
16
Reading
Before next class, read and be ready to
discuss Sommerville Chapters 1, 2 and 3 pages
1 to 59. Pay particular attention to the
discussion of the Software Process, beginning on
page 7.
Write a Comment
User Comments (0)
About PowerShow.com