cmpsci 320 introduction to software engineering
TRANSCRIPT
1/20/11
1
CmpSci 320Introduction to Software Engineering
• instructor: Professor Lori Clarke • office: 304 CS building • office hours: TBD or by appointment • email: [email protected] • voice: 545-1328 • Class url:http://laser.cs.umass.edu/courses/cs320.Spring11/ ���
• Teaching Assistant: David Arbour • office: • Office hours: TBD or by appointment • Email: [email protected]
Introduction to Software Engineering
1/20/11
2
Definition: Software Engineering The study of systematic and effective
processes and technologies for supporting software development and maintenance activities ◦ Reduce cost ◦ Improve quality ◦ Establish predictability
Historical Perspective 1940s: computers invented,
machine language
1950s: assembly language, FORTRAN first HLL
1960s: COBOL, ALGOL, PL/1 operating systems e.g., OS360 ◦ 1969 First conference on s/w engineering
1/20/11
3
Historical Perspective 1970s: multi-user (time sharing),
databases, structured programming
1980s: networking, personal computing,
embedded systems, parallel architectures
1990s:Internet, distributed systems, OO
2000s: web based computing, service-oriented architectures
Future Perspective: 2010s Cloud Computing, multi-core Virtual reality ◦ E.g., virtual supermarket; telemedicine
More automation: ◦ Smart home ◦ Smart car
Self correcting/ detecting software ◦ (The movie 2001)
Highly dependable, secure systems
1/20/11
4
Hardware Costs vs Software Costs (% of overall costs)
s/w costs!
h/w costs!
Hardware development Uses systematic, engineering techniques Overall functionality is not changing greatly,
but performance is improving As hardware development takes on more
complex functionality, the differences in s/w dev and h/w dev is decreasing
1/20/11
5
Why is software so expensive?
hardware has made great advances in providing more for less ◦ but, software has also made great advances in
providing more for less
os! dbms!networking!
s/w libraries!
LOCS only measures the tip of the iceberg
Why is software so expensive? Do the least understood tasks in software When something is well understood and
relatively simple, then it can be encoded in hardware
Ever increasing demand for tasks to be supported by automation ◦ Off the shelf hardware ◦ Specialized software
1/20/11
6
Size of programs continues to increase Trivial: 1 month, 1 programmer,
500 lines, programming assignments
Very Small: 4 months, 1 programmer, 2000 lines, course project
Small: 2 years, 5 programmers, 50,000 lines,nuclear power plant, pace maker (10 person years)
Size of programs continues to increase Medium: 3 years, 10s of programmers,
100,000 lines, compiler
large: 5 years, 100s of programmers, 1,000,000 lines, MS Word, Excel
Very large: 10 years, 1000s of programmers, 10,000,000 lines, air traffic control, telecommunications, space shuttle
Today BMW 1B LOCS
1/20/11
7
Goals of this course exposure to some of the problems that are
typically encountered in s/w development
exposure to some of the techniques that have been demonstrated to be effective ◦ requires much more rigor ◦ often appears to be”common sense” common sense is very uncommon!
Project-oriented course Exposure by doing Try to make the experience realistic ◦ Real customer ◦ Real clients
Use examples from the project in class discussion
1/20/11
8
Course Organization Project course ◦ Divided into 4-5 person teams ◦ Teams will need to use other teams' products ◦ Simulating a real-world situation
2 lectures a week plus a lab ◦ Labs used for lectures, team presentations, and
team meetings ◦ Expect to have team meetings outside of class
Class Schedule class hours: T,Th 1:00-2:15 lab: W 12:20-1:10
attendance and participation is important no eating in the classroom
1/20/11
9
Text Books Recommended Reading: ◦ An Integrated Approach to Software Engineering, Author:
Pankaj Jalote, Publisher: Springer, Edition: 3, Year Published: 2005, Price: $99.00 USD ◦ UML Distilled: A Brief Guide to the Standard Object Modeling
Language, Author: Martin Fowler, Publisher: Addison-Wesley, Edition: 3, Year Published: 2003, Price: $35.00 USD ◦ The Design of Design, Author: Frederick Brooks, Publisher:
Addison-Wesley, Edition: 1, Year Published: 2010, Price: 35.00 USD ◦ Design Patterns, Elements of Reusable Object-Oriented
Software, Gamma, Helm, Johnson, Vlissides
Required Reading: ◦ The Mythical Man Month: Essays on Software Engineering, The
Anniversary Edition, Author: Frederick Brooks, Publisher: Addison-Wesley, Edition: 2, Year Published: 1995, Price: $31.00 USD
Best Guess Syllabus Date Class Type Topics Materials due1/18/11 Lecture Introduction & SW Lifecycle1/19/11 Lab Group assignments1/20/11 Lecture Customer Visit1/25/11 Lecture Requirements1/26/11 Lab Requirements notations1/27/11 Lecture Customer Visit2/1/11 Lecture Requirements discussion2/2/11 Lab Requirements discussion2/3/11 Lecture Team meetings2/8/11 Lecture Requirements presentations requirements specifications2/9/11 Lab Requirements presentations2/10/11 Lecture Requirements presentations2/15/11 Lecture Requirements discussion2/16/11 Lab Team meetings2/17/11 Lecture Requirements discussion2/22/11 No class University Monday2/23/11 Lab revised requirements presentations revised requirements specifications2/24/11 Lecture revised requirements presentations3/1/11 Lecture High-level design3/2/11 Lab Team meetings3/3/11 Lecture High-level design3/8/11 Lecture HL design presentations HL design3/9/11 Lab HL design presentations3/10/11 Lecture HL design discussion3/15-17/11 No class Spring Break
1/20/11
10
Best Guess Syllabus Continued 3/22/11 Lecture Low-level design3/23/11 Lab Team meetings3/24/11 Lecture Low-level design3/29/11 Lecture Build and integration planning3/30/11 Lab Team meetings3/31/11 Lecture S/W quality4/5/11 Lecture LL design presentations LL design4/6/11 Lab LL design presentations4/7/11 Lecture LL design presentations4/12/11 Lecture LL design discussion4/13/11 Lab Team meetings4/14/11 Lecture S/W reviews Build plan4/19/11 Lecture White box testing4/20/11 No class University Monday4/21/11 Lecture Black box testing4/26/11 Lecture Team meetings4/27/11 Lab Team meetings4/28/11 Lecture Team meetings5/3/11 Lecture exam
Exam Demo day wrap up project
Grades project is divided into 5 parts, with 2
grades per part (presentation, document) ◦ Requirements ◦ High-level design ◦ Low-level design/build plan ◦ Code/test plan ◦ Overall project grade
◦ (sometimes can redo previous parts)
1/20/11
11
Grades Requirements 15% High-level design 15% Low-level design/build plan 15% Code/test plan 15% Overall project 15% Participation/reviewing 10% Final 15%
percentages may change +- 5%
Grades each person's grade depends on their team's project
grade and their individual contribution to the project
each person provides a report on how their team functioned ◦ strengths and weaknesses
each person grades all the members of their team (including themselves)
1/20/11
12
Project Grades => Individual Grades
Each team member grades all the team members at the end of the semester ◦ Ranking 1,2, 3, 4 ◦ Grade: A, B, …, F ◦ A short description of how the team worked,
strengths and weaknesses An individual’s grade may be higher or lower
than the team’s project grade
Prerequisites must be comfortable with a higher level
language ◦ E.g., Ada, C++, Java
must be comfortable with data structures prerequisites satisfied by
cmpsci 187 and 220
1/20/11
13
Expectations project will be done by team members,
where everyone contributes equally all assignments, announcements, and
lecture slides will be done via the web presentations should be well prepared
and viewed as an opportunity to receive and provide feedback
See other policies on course web page
Overall expectations Learn good s/w development skills ◦ Applicable to large development efforts
Learn good presentation skills ◦ Documents need to be clear and concise Don’t confuse quantity with quality ◦ Presentations need to convey the idea in a short
period of time Develop cooperation/management skills ◦ Among team members A good team makes everyone a winner ◦ Among teams
1/20/11
14
We are about to embark… CmpSci 320 is different than most of your
other CmpSci classes Expect to spend more time on this class than
most other classes More than most classes, this class depends
on what you (individually and as a class) put into it
Assignment The Mythical Man-month ◦ Chpts. 1-4