CSCI 408 Software Engineering


Assignments


Week
Starting
Material Covered
Week 1

1/17

Introduction to the course

  • Go over syllabus
  • What you'll learn
  • What you need
  • Assignments
  • Grading
  • Group project expectations
  • General Expectations
  • Lab time
  • Edinboro Network
  • Take roll
  • Start Chapter 1
  • Move on to Chapter 2
Week 2

1/24
  • Look at the development process notes
  • Chapter 2 notes -> tools and practices needed before starting
  • Look at tools like Google Docs or MS Word's change tracking
  • Get into groups
    • Create group google account
    • Create a document with group members contact information, if your choice of contact is email, you need to guarantee that you will check it everyday.
    • Discuss what to do when you meet with your clients
    • Start a document that has questions and talking points you will use when meeting with your client
    • Email your client, introduce yourselves and ask for times they can meet
  • Cover Chapter 3 -> What is project management
Week 3

1/31
  • Finish our Gantt Chart
  • Create a Pert Chart for the World of Z-Craft Game
  • Cover Chapter 4 ->Requirement Gathering
  • Talk about free project management software such as ProjectLibre
  • Look at #3 & 4 p. 82-83 of the book
  • Brainstorm the tasks you need to complete your project. Using a project management software, enter your tasks and take a guess to the duration and predecessors.
Week 4

2/7

  • As a group, brainstorm on tasks for your project and enter them into a project management system. Use Project Libre if you haven't picked another one.
  • Have at least an initial page started
  • Cover Chapter 5 ->High Level Design
  • Take a look at Diagram Builder to build UML diagrams
  • Make Activity UML Diagram for our rental example
  • Make a UML Use Case example for banking app.
  • Look at questions 2 - 5
  • Discuss these for the Rental and Banking App
Week 5

2/14
  • Cover Chapter 6 ->Low-Level Design
  • Look at some examples
    • class inheritance
    • Fix tables so they are in 3NF
  • Look at some of Chapter 7
Week 6

2/21
  • Discuss the Work Logs
  • Make our 1st work log
  • Discuss the next big assignment - Design Document (arguably the most important assignment)
    • Scope out what the software should do
    • list contensious aspects
    • Highlight alternatives
    • Open a discussion on how it will be implemented (before it's implemented
    • Living document
    • Serves as a permanent documment to explain why and how


    1. Introduction
      • The Purpose
      • scope
      • Target Audience
      • Definitions, Acronyms, and Abbreviations
      • References
    2. Overview
      • main points of document
    3. Executive Summary
      • goals objectives strategy
    4. System Overview
      • A short description of the product
      • A list with key features
      • Main user activities
      • Subsystems
      • Additional functionality and Design
    5. Future Contingencies
      • risks and their costs
    6. Document Organization
      • Describe doc organization systems to be used
      • Define requirements, storage systems and docs
      • Establish entities responsible for the documentation
    7. Design Guidelines
      • Roles
      • Responsibilities
      • system assumptions
      • constraints
      • system dependencies
    8. Design Considerations
      • Operation environment
      • development methods
      • architectural strategy
    9. System architecutre and architecure Design
      • probably use a diagram
      • hardware
      • records management
    10. design specification
      • business Requirements
      • database design
      • user interface design
  • Discuss next individual assignment & look up some sample resources for the paper
  • Groups present your Project Requirements - Wednesday & Friday:
  • Discuss public speaking:
    • Be prepared by knowing your material
    • Good PowerPoint or what ever aid you are using
      (if using them)
    • Don't read from the slides / use minimal notes
    • Have an Intro
    • Have a summary
    • Rehearse but don't over rehearse
    • Be comfortable with the inevitable "the pause"
    • Each member must participate
  • Presentation rubric
  • Group up & discuss who's doing what parts and start presentation.

  • Week 7

    2/28

    Testing

  • Cover Chapter 8 ->Testing
  • Make a quick Test Plan
  • Review of Software Engineering models

    Parkinson's law - "work expands to fill the time available for its completion"

    • Prototyping (rapid)
    • Agile
    • Spiral
    • Waterfall - We are using (software development life cycle)

    Community Service

    Week 8

    March 14th
    • On Monday, March 14th, take the Senior Survey/Assessment Test

      • No class meeting Monday
      • Take the survey/test , get participation bonus points
      • The URL for the survey/test is https://life.territorium.com/#/login (territorium may try to redirect away from the life part). This will take you to the login page, click on "Enter code" instead of trying to log in. Enter the access code to take you to the survey.



    • Chapter 9 - Deployment
    • Look at some discussion exercises
    • Agile Modeling, Prototyping, and Scrum

     

    Week 9
    March 21st

    Chapter 18

     

    Week 10
    March 28th
    Week 11
    April 4th
    Week 12
    April 11th
    Week 13
    April 18th
    Week 14
    April 25th
    • Develop our test plans


    Final Exam Week


    • Present and demo the projects




    Assignments


    Group Project


    Put all assignments in the corresponding D2L drop box.

    Homework 1 : Due 2/4


    Homework 2: Due 2/11

    Read the essay The Mythical Man-Month by Fred Brooks.
    Answer the following questions pertaining to the essay:
    1. Brooks cites several reasons why software project schedules are rarely ever met. Identify these reasons and briefly explain each. (10 pts)
    2. Explain why adding more people to a software project which is already late will most likely make it even later. (5 pts)


    Homework 3: Due April 6th

    Research Paper

    Research the topic of Agile development and write a 3-4 page summary of your research describing the agile development process. You should collect at a minimum 3-4 valid sources (I would not use product advertisements nor Wikipedia for valid sources) from which you obtain your information, at least one of these sources must appear in an ACM or IEEE journal. Make sure to reference your sources with in-text citations based on the ACM or IEEE standards, and include a bibliography of your sources at the end of your paper. Also, the last two paragraphs of the paper should be an evaluation of the information that you obtained in this research exercise. Use IEE format for the paper (45 pts)

    hamburger Paragraph

    Homework 4 Group Peer Evaluation:

    Evaluate each of your group partners -> Download and fill out this form


    Community Homework: