COURSE SYLLABUS AND OUTLINE
IN SC 497.301
SOFTWARE DEVELOPMENT LIFE CYCLE
| Walter Cedeño |
Spring II, 2005 |
| Tuesdays & Thursdays 6-9 pm |
Penn State, Great Valley |
| (610) 458-5264 (W) |
(610) 648-3277 |
| w.cedeno_AMPSIGN_computer.org |
wcedeno_AMPSIGN_acm.org |
PURPOSE AND APPROACH:
The purpose of this course is to teach the students the application of
scientific knowledge and methods in the design and construction of computer
software using engineering concepts. This will be accomplished through lectures and by giving
the student a
chance to apply the software engineering process to a small project. The
lectures and the project will cover topics in;
- The Software Development Process
- Agile Development
- System Engineering
- Requirements Engineering
- Analysis Modeling
- Design Engineering
- Software Testing
COURSE OBJECTIVES:
- Introduce the students to the Software Engineering process.
- Gain and understanding of techniques and methods used in the analysis,
design, testing, and management of software projects.
- Learn the benefits and limitations of techniques and methods in order to
decide when they are applicable to software projects in the real world.
- Apply the techniques learned in class to a small project.
REQUIRED TEXT:
Textbook:
- Software Engineering: A Practitioner's Approach, Roger S. Pressman, Sixth
Edition, McGraw Hill, 2005, ISBN: 0072853182.
Other References :
- Software Engineering: The Production of Quality Software by Shari Pfleeger,
2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X.
- Software Systems Engineering by Andrew Sage and James D. Palmer.
GRADING:
- Midterm 30%
- Final 30%
- Project 40%
CURVE:
- 93.0 - 100.0 -- A
- 90.0 - 92.99 -- A-
- 87.0 - 89.99 -- B+
- 83.0 - 86.99 -- B
- 80.0 - 82.99 -- B-
- 76.0 - 79.99 -- C+
- 70.0 - 75.99 -- C
- ...
SCHEDULE:
Day 1: Course Introduction & Software Engineering Overview
Generic
Process Model
Readings: Chapters 1
and 2
Day 2: Prescriptive and Agile Process Models
Readings:
Chapters 3 and 4
Day 3: Software Engineering Practice
Understanding
Safe Home & Monopoly
Readings: Chapter 5
Day 4: Systems Engineering
Readings:
Chapter 6
Day 5: Requirements Engineering
Readings: Chapter 7
Day 6: Analysis Methods
Elements of the analysis model
UML notation
Readings: Chapter 8
Project:
Requirements specification due
Day 7: Midterm exam
Day 8: Elements of software design
Fundamental concepts
The design model
Readings: Chapter 9
Day 9: Design Methods - I
Architectural design
Readings: Chapter 10
Project:
Analysis model due
Day 10: Design Methods - II
Component-Level design
Readings: Chapter
11
Day 11: Design Methods - III
User interface design
Readings: Chapter 12
Day 12: Testing Strategies
Readings: Chapter 13
Project:
Design spec due
Day 13: Testing Methods
White-Box and Black-box testing methods
Readings: Chapter 14
Day 14: Final
PROJECT TOPIC:
Problem Definition: Monopoly Game Implementation (TM)
Purpose: Become the wealthiest player through buying, renting and selling
property.
Tools: Board, 2 dice, tokens, 32 houses, 12 hotels, chance and community
chest cards, title for each property and play money.
Playing the game:
- Select a banker and order in which players will play.
- Each player receives $1500 cash and places a token identifying her/him on
the "GO" corner of the board.
- Each player, in turn, rolls the 2 dice and move her/his token. According
to the space reached the player might be entitled to buy real estate or
other properties, or be obligated to pay rent, pay taxes, draw a chance of
community chest card, go to jail, etc.
- Players rolling doubles get an additional turn. Three doubles in a row
will land player's token in jail.
- Each time a player's token lands on or passes GO, the player earns $200
from the bank.
- When a player lands on an unowned property, she/he may buy the property
from the bank. If the player does not buy the property, the bank auctions it
to the highest bidder. Bidding may start at any price.
- When a player lands on an owned property, she/he pays rent to the owner in
accordance to price list in deed. If the property is mortgaged, no rent can
be collected. A player owning all properties within the same color group can
charge double for the rent. The owner may not collect rent after the next
player throws the dice.
- When a player lands on community chest or chance, she/he takes the a card
from the corresponding deck and follow the instruction on the card. The Get
out of Jail card can be used by the player to get his token out of jail or
sell it to another player for a agreed price. The card can only be used once
and then it must be returned to its corresponding deck.
- Income Tax is collected when a player lands on the corresponding slot on
the board. The player may pay a flat fee of $200 or 10% of her/his total
worth to the bank. Total worth is cash on hand + property prices + cost
price of buildings.
- A player sent to jail cannot collect $200. The player gets out by throwing
a double during the next three turns (must pay fine after three turns),
using the get out of jail card, or paying $50 fine. The player does not
throw again after getting a double.
- When a player own all the properties in a color group she/he may buy
houses for those properties at an time. All properties of the same group
must be improved evenly. The price of the house is given on the Title deed.
Up to four houses can be bought for a property. The player must sell evenly
also if necessary.
- The player may buy a single hotel for a property after all properties in
the same color group have four houses. Houses are returned to bank.
- Players must wait for houses if none are available in the bank. Biding can
take place when two or more players want a limited amount of houses from the
bank.
- Unimproved properties, railroads and utilities may be sold by any player
as a private transaction. Buildings must be sold back (evenly) to the bank
(at any time) for 1/2 its original price.
- Unimproved properties can be mortgaged at any time. Mortgaged value is
printed on deed. No rent can be collected on mortgaged properties or
utilities. The owner must pay mortgage + 10% interest to lift the mortgage.
The player may sell mortgage property to another player and lift the
mortgage by paying the bank. The buyer must pay 10% interest to the bank if
she/he can't lift the mortgage. Later the buyer can lift the mortgage by
paying it + an additional 10% interest.
- A player gets eliminated when she/he is bankrupt, i.e. owes more than what
she/he has. Last player in wins.
TOOLS:
- GSview
V2.7: This public domain tool allows the user to display and
print Postscript (PS) files.
- Adobe Acrobat Reader:
This tool allows the user to display and print PDF files.
- Power
Point Viewer: MS application to view lecture notes.
- UML Specification: OMG
- UML Quick reference: http://www.holub.com/goodies/uml/
- Web Resources: http://www.rspa.com/spi
- Software Engineering Reference Library: http://www.rspa.com/RefLib
- Software Engineering Checklists: http://www.rspa.com/checklists
- Adaptable Process Model: http://www.rspa.com/apm
- Work Product Templates: http://www.rspa.com/docs
- Umbrella Activities: http://www.rspa.com/apm/apm01.html#umbrella
- Tiny Tools: http://www.engin.umd.umich.edu/CIS/tinytools/
- Industry Commentary-Management: http://www.mhhe.com/engcs/compsci/pressman/olc_linkedcontent/mgmtcomm.htm
- Industry Commentary-Technical: http://www.mhhe.com/engcs/compsci/pressman/olc_linkedcontent/techcomm.htm
- Supplementary Content: http://www.mhhe.com/engcs/compsci/pressman/information/olc/supps.mhtml
ACADEMIC INTEGRITY:
"Academic integrity is the pursuit of scholarly activity
free from fraud and deception and is an educational objective of
this institution. Academic dishonesty includes, but is not
limited to, cheating, plagiarizing, fabricating of information or
citations, facilitating acts of academic dishonesty by others,
having unauthorized possession of examinations, submitting work
for another person or work previously used without informing the
instructor, or tampering with the academic work of other
students. At the beginning of each course it is responsibility of
the instructor to provide a statement clarifying the application
of academic integrity to that course". (1989-90 Policies
and Rules for Students, p.25).
DISABILITY STATEMENT:
The Pennsylvania State University encourages qualified persons with disabilities to participate in its programs and activities. If you anticipate needing any type of accommodation or have questions about the physical access provided, please contact Kathy Mingioni at 610-648-3315 in advance of your participation or visit.
SECURITY PLAN:
In the event of an emergency of any kind, you are advised to proceed to
an agreed upon meeting point in a safer location - probably in the car park
area. If you need special consideration in evacuating the classroom, please
inform your instructor who will attempt to accommodate your special needs.
Emergency Evacuation Exercises or
Actual Emergency Events:
Periodic fire/evacuation exercises are conducted in all occupied PSU Great
Valley buildings. Every PSU Great Valley faculty, staff, and student is expected
to exit the building and remain outside until the drill or actual event is
completed. Drills are a safe opportunity to test the building emergency plan,
insure that the fire alarm is working properly, and allows every employee a
chance to experience the procedures.
Guidelines in the Event of a Drill
or Emergency:
- Please familiarize yourself with the emergency evacuation plan posted in
each classroom.
- Do not use elevators. Use stairs.
- Fire doors close but do not lock or trap a person in an area.
- Should evacuation be necessary, go to the nearest exit or stairway and
proceed to a pre-designated evacuation meeting area (150 feet away from
building) outside the building. Stay with your instructor and class.
- Please do not leave the meeting area, return to your classroom, or go to
your vehicle unless instructed to do so.
Walter Cedeño ©2005
Last revised:
January 14, 2006.