CEN4020: Software Engineering I up↑

Assignments

Homework

The homework assignments are intended to develop skills that will be needed later on the team project, and also tested in examinations. These assignments all build on one another. So, it is important to keep up, learn from your errors, and not make the same mistakes more than once. The homework problems are not weighted as heavily as other work, in the course grading scheme, but it is important to do your best on them. If you don't you will not have a firm grasp of the basics, and your entire team will suffer for it.

You are required to work out solutions to these homework solutions individually. Attempting to short-cut the process by referring to another person's solution or a solution posted another term will not just be a violation of the honor policy; it will prevent you from learning a skill that you will need in order to succeed later in the course.

Link
to Full
Description
Short Description
HW1 Use case diagram
HW2 Sections III & IV of Software Requirements Specification (SRS)
HW3 Sections I and II of SRS
HW4 Class diagrams, class descriptions, and class attribute descriptions

Team Project Deliverables

Every student will work as a member of a team on a cumulative project, which will span two semesters. This term you will produce a Software Requirements Specification (SRS) document, a Human-Computer Interface (HCI) design and prototype, and a testing plan. In the following course (CEN4021), you will produce a Software Design Specifics (SDS) document and a prototype implemenentation.

Each team will develop and maintain a project website, which will show the cumulative progress of the team on the project, using the Trac installation on https://sis.cs.fsu.edu/trac/teamname. Work posted there will go through two phases:

  1. Embargo: An interval during which the work is visible to the customer and grader(s), but is not visible to the other students in the course. The work products are posted either (a) directly on the team's Trac site via the "Attach file" option or (b) on the team's private home page at https://sis.cs.fsu.edu/~teamname/private/. In the latter case, there should be a link from the team's Trac site to the private home page. See https://sis.cs.fsu.edu/trac/axolot/ for an example of such a link.
  2. Publication: When the class is notified that the embargo is over, work products are moved to the team's home page at https://sis.cs.fsu.edu/~teamname, where members of other teams may view them.

There are milestones at which you are expected to deliver specific artifacts for grading, shown as D1-D10 on the course Calendar. These milestons and their "deliverables" are of two kinds:

Please keep in mind that the SRS is cumulative. That is, each deliverable is another increment in a series of refinements and additions that leads to a completed SRS by the end of the term. You are expected to have maintained, and improved as appropriate, the deliverables from the prior week, as part of the growing SRS. Beware of developing inconsistencies between different parts of the SRS. Keeping the entire document consistent as you update it is a challenge, but something you are expected to do. In particular, it is critical to keep the use case diagram and the class diagram up to date and consistent with the detailed use case descriptions, class descriptions, etc.. Those diagrams may not be re-evaluated for grade directly, but they will be referenced for context in the evaluation of the other parts of the SRS, and if there is an inconsistency it will be counted as an error.

Refer to the course Calendar page for deliverable deadlines, and to the templates directory for a list of templates and examples. For examples you may also want to look at the following two sets of team web pages from the Fall 2009 offering of CEN4020:

Note that the following timetable is not intended to tell you when to start work on the deliverables, but only the points at which should should be prepared to have them evaluated. You should keep the long-term goals in mind, plan ahead, and work ahead. By the end of the term you will need to have completed:

You have enough information you need to get started on all parts of these, working them in parallel making use of your full team.

D0 The following needs to be done before the start of work on D1. This semester we did it somewhat less formally, in order to fit our first meeting with customer Towainga Katsvairo into his travel schedule, so this part is not graded.
  1. Post your personal resume on the Web
  2. Post a message with a link to your resume on the class's Blackboard discussion group
  3. Conduct virtual team interviews with classmates to form a team
  4. When you have formed a team, send your list of team members to
  5. Meet with your team members, to decide on an initial team organization, and how to break down the work on D1 (below).
D1 On team private Wiki/Web page:
  • (50 pts) Extract an initial set of user requirements from the project vision document, concentrating on identifying a core set of use cases. Interact with the customers, via the e-mails and/or your teams's Blackboard discussion group, to see what they think of these use cases. For this, you will need to describe the use cases in words they can understand.

    Produce and turn in an initial use-case diagram for your project, including what you think are the most essential use cases. If you don't have at least one use case per team member you will not be able to do the next step. If you get more than 2 or 3 use cases per team member, you probably will not get around to expanding them all, but this is not such a big problem as having too few, or having ones that are too trivial.

  • (50 pts) Edit the team Trac site, removing the generic Trac information and replacing it by information about your team and your project. Include at least the following elements:

    • Team name, project title, and a paragraph describing the purpose of the project.
    • Team definition and contact information, in a tabular form similar to the team definition template. You may use the Wiki formatting method.
    • Minutes of at least one team meeting, in a tabular form similar to the team meeting minutes template. This can be a file attachment.
    • Home page, similar to the home page instructions and template. The home page should include at least the team name, the project title, a paragraph describing the purpose of the project, and links to the above two items.

    When you have the website up, send the URL to

By assignment D1 drop-box on Blackboard: individual team peer evaluations

D2On team web page:
  • (20 pts) SRS Section VI - use case diagram, updated
  • (60 pts) SRS Section III and IV - requirements lists
  • (10 pts) Initial task breakdown, using the Wiki ticket mechanism, for this deliverable and the next. This should include assignments of individual use cases and actor descriptions, for example.
  • (10 pts) Updated team minutes
By assignment D2 drop-box: team peer evaluations
D3On team web page:
  • (50 pts) SRS Section V - class diagram
  • (15 pts) SRS Appendix A - DD actor descriptions
  • (25 pts) SRS Appendix A class descriptions. If you have more than two classes per team member in your class diagram, you may prioritize them (highest risk first) and just turn now two descriptions per team member. However, you will need to have descriptions for all of them by the end of the term.
  • (5 pts) Updated task breakdown, using the Wiki ticket mechanism (and every week hereafter)
  • (5 pts) Updated team minutes (and every week hereafter)
  • Updated use case diagram (and every week hereafter), as basis for evaluation of other deliverables
By assignment D3 drop-box: team peer evaluations
D4On team web page:
  • (20 pts) SRS Sections I and II
  • (20 pts) SRS Appendix A attribute Descriptions
  • (10 pts) SRS Appendix B - Raw Use Case Point Analysis - Summary Table
  • (20 pts) Project Plan, with use case assignments to individual team members. See also instructions for project plan. Attempt to distribute the workload evenly among the team members, based on the use case point analysis. Task list on team Wiki should match project plan tasks, though tasks on Wiki may be broken into sub-tasks.
  • (20 pts) SRS Appendix E Screeens and Reports List. See also Appendix E of Example SRS for VRS
  • (5 pts) Updated work breakdown into tasks, using the Wiki ticket mechanism (and every week hereafter), with milestones corresponding to project deliverables D1-D10
  • (5 pts) Updated team minutes (and every week hereafter)
  • Updates to other artifacts, as basis for evaluation of the above
By assignment D4 drop-box: team peer evaluations
D5This is to be individual work. Assemble all of the following into a .zip file, and upload it to the assignment D5 drop box:
  • (40 pts) Complete SRS Appendix A - DD Use Case Descriptions. Your team will eventually be required to provide a complete description for each use case in your use case diagram. The goal for this milestone is analyze and document in detail as many of your use cases as you can. You should turn in the descriptions of the use cases that your team assigned to you. Your team should have divided up the use cases by this time. If your team has more than two use cases per team member, and you do not have time to complete all of the by this milestone, you may limit the number turned in at this point to two, but if you do that you must elaborate those that are highest risk and thos most central to accomplishing the user's goal. If you have large use cases, you may split them among different people, using inclusions and extensions. The description of each use case must be consistent with the current use case diagram and shall-list posted for your team, so you must include in the files you turn in a link to the versions of the use case diagram and shall list on which your work is based, in case your team continues to update them.
  • (40 pts) Screen and report mock-ups. Your team will eventually be required to produce an HTML prototype of each screen and each report. The minimum goal for this milestone is to construct a first draft of all the screens and reports needed for the use cases assigned to you. You need to include sufficient detail to allow them to be reviewed for completeness of use case coverage, and to allow you to estimate the time it will take you complete the full prototype when you construct your PERT chart (see below). These first drafts may be drawings done with pencil, Word, or any tool you like, but please convert them to .pdf files for submission to the drop-box. At this point you only need to give a rough sketch of the information that will appear on each screen, but if you have time to go further, perhaps to write some HTML code for the page, you do not need to do a drawing first. You may submit a screen print of your HTML page, or links to the actual pages.
  • (20 pts) A PERT chart from each member. The idealized purpose of this deliverable is for you to develop a plan that will enable you and your team manager to track your progress on your assigned prototype between now and the final deadline. The pedagogical purpose is for your to demonstrate that you have mastered the concept of PERT charts. Normally, there would be one chart for the entire team. However, to give everyone a chance to experience creating a PERT chart, you will do individual charts. Normally, this would include all the work on the project, but to keep this simple you are only required to cover your individual plan for work on the HCI prototype portion of you team project between now and the end of the term. You should break down your work into tasks, estimate the amount of time for each task, and order the tasks. This will probably be simpler than the examples in the textbook, because you are only one person and you have rather few tasks. Consider construction of the HTML prototype for each screen and each repot, as a separate task, and also include tasks for coordination and integration with your team members. Don't forget the development of the user interface navigation matrices, and the integration of those into a single one for the entire team. The deadline is the HCI delivery date shown on the course calendar. Please use the chart format shown in the textbook, or if you are using a tool such as MS Project, you may use the format supported by the tool. You will send me your piece, and then provide your piece to your team leader for inclusion into a master PERT chart for the entire project.
(This is all individual work, submitted via D5 drop box, so there is no team peer evaluation)
D6Individual work, by D6 drop box:
  • (50 pts) Scenario analysis tables for assigned use cases. See notes on how to do this in ScenarioAnalysisTable.ppt. The objective is to verify that your set of screens and reports is sufficient to cover each of the use cases.
  • (10 pts) Peer evaluations

Although individuals will be turning in work separately, teams are expected to coordinate to establish a consistent format for the screens within each team, and to collaborate as necessary for any screens that are logically shared between use cases. Teams are also expected to come to the recitation meetings prepared to present a joint progress report, including examples of some individual contributions.

D7Individual work, by D7 drop box:

REMEMBER: It is critical in this and all other cases that the grader have access to consisten versions of all of the prior deliverables on which this one depends. In this case that means the corresponding use case descriptions, scenario analysis tables, and use case diagram, to which test cases refer. You must either specify URL's where the grade can find these, or if they are not on the team website you may include copies in a zipfile when you turn in your functional test cases through the drop-box for the assignment.

There is no peer evaluation collected for D7. However, teams are expected to continue meeting and coordinating, to coordinate and inntegrate the HCI prototype components (D8) and the final SRS (D9 and D10).

D8

Individual work, by D8 drop box:

REMEMBER: It is critical in this and all other cases that the grader have access to consisten versions of all of the prior deliverables on which this one depends. In this case that means the corresponding use case descriptions, the screens and reports list, and the use case diagram. You must either specify URL's where the grade can find these, or if they are not on the team website you may include copies in a zipfile when you turn in your functional test cases through the drop-box for the assignment.

D9

Individual work, by assignment D9 drop-box:

Individual work, on team website:

  • (50 pts) Modified scenario analysis table, in HTML, with links to prototype pages and reports of the HCI prototype. This should be posted on your team's Trac website, with a link to it along with the links to the other D9 deliverables. The table entries should be links to the completed HCI pages, so that a person can walk through it to see the pages. Correct any problems you know of with your original table, while you are doing this.

Individual work, presented in class:

  • (50 pts) HCI presentation. Follow the link for a detailed explanation of what is expected and how it will be graded.

On team web page:

  • (100 pts) Complete integrated HCI prototype

By this point, the entire HCI prototype of each team should be completed, integrated, and posted for unrestricted (no password) access on the team's website at sis.cs.fsu.edu. The prototype should cover (at least) all the use cases assigned to indviduals. It should be a working prototype, with at least data entry, display, and navigation, to the extent that each use case involves these items. If you are able to provide additional functionality such as data persistency, you may do so, for a higher score. Please get this up on your public web page a few days before you are scheduled to do the in-class demonstration, so that the customers can pre-view it.

D10

By assignment D10 drop-box:

  • (10 pts) Final team peer evaluations. This last one should summarize your view of your team's operation for the entire term. You are encouraged to go beyond the basic form, adding free-format comments on the team, comments on how the course might be improved, and things that went well enough that you think they should be maintained in future offerings of the course.

On team web page:

  • (100 pts) The final completed SRS, including all the work items produced as prior individual deliverables. Please get this up on your public web page a few days before you are scheduled to do the in-class demonstration, so that the customers can pre-view it.
  • (50 pts) Slides for your team's SRS presentation. See more on that below. Please get this up on your public web page a few days before you are scheduled to do the in-class demonstration, so that the customers can pre-view it.

In class:

  • (50 pts) Each team will be scheduled for a presentation during the final week of classes. The other class members, the TA's, and the customers (if they are able) will attend and evaluate the talks according to a standard rubric. All team members should participate in the presentation and be prepared to answer questions.

By this point, the entire SRS of each team should be completed, integrated, and posted for unrestricted (no password) access on the team's website at sis.cs.fsu.edu.

Delivery of Individual Work

Turn in your individual assignment deliverables using the Blackboard drop box, no later than midnight on the date indicated in the course Calendar.

You can find the link for turning in an assignment by starting at the "Assignments" link on the Blackboard page for this course. Assuming you have created a local copy of the solution file(s) you want to turn in , on your workstation/PC, you can click on the assignment link and load the file using the "browse" button, then click on "submit".

If the deliverable has several parts, you may construct a ".zip" file and upload that, or if they are all in the same format (e.g., all ".doc" or all ".pdf") you may merge them into as single file.

If a template is given for an assignment, you are expected to turn in your work in the same format (e.g., .doc file) as the template is provided. If you do not have a copy of MS Word, you can get a free copy of OpenOffice and use that to edit the file, but remember to safe the file in the original format (not .odf). If you have difficulty obtaining MS Word or OpenOffice, please contact the instructor to work out an alternate solution.

Include your name and the identification of the assignment it is for, inside the the file your turn in. For example:

Name : Joe Smith
Assignment : HW3

Also embed your last name and the assignment number in the filename. For example if it is a ".doc" file, the filename might be "smithhw1.doc". Multiple files can be labeled with suffixes "a",...,"z".

Delivery of Team Work

Turn in your team deliverables by posting them on the team's private website. If we are able to set up a "Trac" server page for each team, you team's web page will be there. If not, we will use a team-private area of Blackboard.

Grading

The description of each major assignment will generally include a scoring rubric. Besides the assignment-specific items specified in the rubric, you may lose points if you commit generic error, such as not including your name as author or turning it late.

Grades for assignments will be posted on Blackgoard in your gradebook. If you do not get a perfect score there will be some comments, and possibly a marked-up copy of the file(s) you turned in. To see this information you will need to click on the grade and select the returned assignment files, which will be identified by a suffix such as "graded". For example, if you submitted "smithhw1.doc", you would look for something like "smithhw1graded.doc".

Deadlines and Late Work

Practice time boxing; turn in your best effort by the deadline. Any time after the deadline (possibly the next class, or a few days later), a solution may be given, either in class or by posting on the web. After that, no further work on that deliverable will be accepted for grading. If you turn in your deliverable between the deadline and the time the class is given a solution, it may be accepted for grading. The person grading the assignment will have discretion over whether to accept it late, and how much to deduct from the score for lateness.

Updates to Assignment Descriptions

If you find anything that looks like it might be an error, or a discrepancy between descriptions of any assignment on different Web pages, or between Web pages and information provided in class, please send e-mail to the instructor to resolve the discrepancy. Do the same if you find an ambiguity. The instructor will generally respond with e-mail to the entire class, after updating the assignment file.

Please refer directly to the on-line descriptions of the assignments, rather than printed copies, so that you have the most up-to-date information in case the assignment is updated after the initial posting.

Related Pages

($Id: index.html,v 1.1 2010/08/29 11:45:03 baker Exp baker $)