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;


COURSE OBJECTIVES:


REQUIRED TEXT:

Textbook:

  1. Software Engineering: A Practitioner's Approach, Roger S. Pressman, Sixth Edition, McGraw Hill, 2005, ISBN: 0072853182.

Other References :

  1. Software Engineering: The Production of Quality Software by Shari Pfleeger, 2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X.
  2. Software Systems Engineering by Andrew Sage and James D. Palmer.

GRADING:

  1. Midterm 30%
  2. Final 30%
  3. Project 40%

CURVE:


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:

  1. Select a banker and order in which players will play.
  2. Each player receives $1500 cash and places a token identifying her/him on the "GO" corner of the board.
  3. 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.
  4. Players rolling doubles get an additional turn. Three doubles in a row will land player's token in jail.
  5. Each time a player's token lands on or passes GO, the player earns $200 from the bank.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. A player gets eliminated when she/he is bankrupt, i.e. owes more than what she/he has. Last player in wins.

TOOLS:

  1. GSview V2.7: This public domain tool allows the user to display and print Postscript (PS) files.
  2. Adobe Acrobat Reader: This tool allows the user to display and print PDF files.
  3. Power Point Viewer: MS application to view lecture notes.
  4. UML Specification: OMG
  5. UML Quick reference: http://www.holub.com/goodies/uml/ 
  6. Web Resources: http://www.rspa.com/spi 
  7. Software Engineering Reference Library: http://www.rspa.com/RefLib 
  8. Software Engineering Checklists: http://www.rspa.com/checklists 
  9. Adaptable Process Model: http://www.rspa.com/apm 
  10. Work Product Templates: http://www.rspa.com/docs 
  11. Umbrella Activities: http://www.rspa.com/apm/apm01.html#umbrella 
  12. Tiny Tools: http://www.engin.umd.umich.edu/CIS/tinytools/ 
  13. Industry Commentary-Management: http://www.mhhe.com/engcs/compsci/pressman/olc_linkedcontent/mgmtcomm.htm 
  14. Industry Commentary-Technical: http://www.mhhe.com/engcs/compsci/pressman/olc_linkedcontent/techcomm.htm 
  15. 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:


Walter Cedeño ©2005
Last revised: January 14, 2006.