Deliverable |
Author |
SRS (Software Requirements Specification) Vision & Scope Functional Requirements Behavioral Requirements (Annotated Scripted Storyboard) Quality Attributes (Non-functional requirements) Analysis Model (E.g., State Transition Diagram, ERD, Data Flow Diagram) Data Dictionary Appendix Functional Prototype High Level Design Design Overview UML Class Diagram Class Skeletons (Javadocs) Data Structures Appendix |
Analyst developer A UI Designer QA developer B developer C Analyst Prototyper & developers A-F Designer Designer developers A-F developers A-F Designer |
Analysis PhaseThe steps in this process do not have to be strictly sequential. For example, the ui prototype draft can begin while the project plan is being written, designers may begin creating a preliminary design before every last requirement has been specified.Design Phase
- Requirements Elicitation
- Estimation Process
- Write Project Plan (schedule and budget)
- User Interface Prototyping Process
- Write SRS
- SRS Formal Technical Review. FTR process
- Create Preliminary Design
- Develop fully functioning prototype
- Write High Level Design (Object Oriented Design: How-To)
- Design Formal Technical Review. FTR process
Management should be on guard for the tendency of students to "gold plate" their work products with superficial "flash" such as clip art, graphics, or animation. Insist on clean, neat, organized work, but beyond that put effort into technical content and not cosmetic appearance.
Management should try to offer opportunities for all students to learn a variety of software engineering skills. Don't simply assign the most qualified student to a task. Consider assigning students to unfamiliar tasks from which they could benefit.
How to Identify and Retire Risks
Whenever the team (or part of the team) meets, a formal status meeting agenda is to be followed. This includes both scheduled lab periods and also outside of class meetings. The status meeting is NOT a problem solving session, it is a concise progress reporting meeting. It should take only 15 - 20 minutes. The meeting format is:
The manager (or whoever is leading the meeting) is to document the status meeting by recording all the above items in the project journal (see Reporting Plan, below). Also record if anyone was absent, excused, or tardy.a) Report on tasks assigned at previous meetingb) Problems encountered/solved.
- Accomplishments
- Unfinished tasks
c) Revise or update schedule, if necessary.
d) Assign tasks (action items) for next period and create Trac tickets.
When the status meeting is finished, the team can proceed to their "working" meeting to discuss technical issues, solve problems, coordinate tasks, and carry out portions of the technical work that can not be done individually.
3.4.2 Required Reports
Team Home Page
The team home page is the primary place where the current team status will be made visible to project stakeholders. It is the team manager's responsibility to see that the home page status indicators are kept updated on a weekly basis. (See Visiblity Calculations). Action items and similar timely information will need to be updated daily. It is recommended that you model your home page after this team home page template. You may supply your own team logo, but do not waste any time with further cosmetic customizations.Trac tickets
Category | Tool | Notes |
---|---|---|
Project Tracking |
Trac | Sample Trac Project |
Class Skeletons | Javadoc
|
|
Design by Contract (DBC teams only) | Javadoc or Java asserts |
and a strong human specification enforcer |
Analysis Model Drawing | team choice |
Visio, SmartDraw, Dia, OpenOffice Draw, etc. |
Java Integrated Development Environment | NetBeans |
|
User Interface prototyping | paper & pencil, HTML, Netbeans GUI builder |
storyboards recommended. |
Metrics | Refer to QA plan to see what metrics we must
gather. TimeLogger is recommended for time recording |
|
Project Schedule | ASCII table |
Optional: Fedora "Planner" is installed on lab
machines under
"Applications -> Office -> Project Management". Also, GanttProject or Gnome Planner. Use Microsoft Project only if you have a trained teammember. |
Class Diagram drawing | team choice |
NetBeans has a UML plugin that integrates modeling
with code. Other tools: Violet, ArgoUML, Together Spend some serious time deciding on this issue. |
HTML WYSIWYG editor | team choice |
Mozilla Composer Recommended.Must be viewable in Mozilla 1.4, IE 5.0 browsers. Don't use Microsoft word to generate HTML2. |
Unit/Integration Testing |
JUnit | Also unix shell scripting language, or Ant |
Line of Code Counting | LOC counter | |
Coverage Measurement |
Emma | Others: Brian McCain's CT,
or Clover |
System/GUI Testing |
SwingRobot
or Costello |
Also unix shell scripting language. |
Defect Reporting / Tracking | Trac |
|
Source code control |
Subversion (integrated in Trac) |
Tortoise CVS/SVN is a suggested Windows
client. RapidSVN available in lab. |
Build tool |
Ant |
|
Source code formatter |
Astyle recommended. | |
Code Standard Checker |
CheckStyle | Here's the configuration file for our
course: 308style.xml
Here are the custom checks for our course: 308checks.jar |
4.1.2 Email Standards
Occasionally the instructor will mail announcements to the entire class by using an alias which sends mail to your OpenMail account. If you don't use OpenMail regularly, you should setup your OpenMail account to forward your mail to your regular email account.The instructor will not read email whose "Sender" field is not an actual student name. Don't use nicknames in mail you send to the instructor or it will be returned to you unread.
In general, do not send attachments to the instructor. Instead, put all your correspondence in the message body.
If the instructor is playing the role of customer for your team, any email intended for the customer must have "To Customer" in the Subject line.
4.3.2
Configuration
Management Plan
This
section to be
written by the
Configuration manager based on these
recommendations.
We will have a
very simplified
Configuration
Management
plan: Each document produced will have a table at the
bottom showing
Change
History. The history shows the Date, Person, and
Description of Change.
Whenever you make a change to a document you must update
the change
history.
4.3.3 Deployment
Plan
This
section to be
written by the
Configuration manager based on these
recommendations.
The
above template is based on
IEEE
1058.1-1987.
This material is copied
and/or
adapted from the Survival Guide Website at www.construx.com/survivalguide/.
This material is copyright © 1993-1998 Steven C.
McConnell.
Permission
is hereby given to copy, adapt, and distribute this
material as long as
this notice is included on all such materials and the
materials are not
sold, licensed, or otherwise distributed for commercial
gain.