Software Process Management  
line decor
  HOME  ::  
line decor
large product photo

Requirements Engineer

Initial Business Case:

The business case is an argumentative document encompassing reasons in support of developing the system on which you are working. "Because I want a passing grade in CST 316...", is not reason enough to build these systems. Your business case needs to contain:

  1. System Description - Generally what is the system you are proposing. What does it do? Why does it do this?
  2. Market Sector - Where in the world does your system fit in? Who would use your system? What would drive the users of your system (motivation)?
  3. Competing System Survey - What are the other systems on the current market you would consider competition? What do these systems do? What do these systems cost? What is good about each of these systems? What is bad about each of these systems? What will you use from each of these systems? How will your system improve on each of these systems?
  4. Cost analysis - How much will your system cost to develop (in man hours)? How much will your system cost to maintain?
  5. Final Argument - Summarize the benefits your system will impart to society and how this is far better than existing systems on the market.

You must provide good sources as references. You must provide references.

Evaluation will be based on:

  • Document Structure
  • System Description
  • Market Sector Narrative
  • Competing System Survey
  • Cost/Benefit Analysis
  • Closing Argument
  • Reference and Source Documentation
large product photo

Functional Architecture:

The functional architecture is a package model containing package names and package dependencies. The package names come directly from the functional requirements hierarchy. This deliverable shall contain a diagram created in a diagram or modeling tool and a document describing:

  1. Package names - Define the package names. What types of functional requirement will the group encompass.
  2. Dependency Defense - For each dependency, describe why the dependency exists.

Evaluation will be based on:

  • Package Model
  • Package Definitions
  • Package Dependencies
  • Package Dependency Defense
large product photo

Gantt Chart:

Create a Gantt chart that will outline the tasks your team will work on. Your gantt char must cover the next three months of development for your system at a very course granularity, but the next two weeks at a very fine granularity. This task requires use of a project management tool. You must include in your Gantt chart:

  1. Resources - These are your team members.
  2. Task Names - These are the tasks that will be performed..
  3. Estimated time for each task - How long do you think each task will take to complete.
  4. Assignment of Resources to each Task - What percentage of time will each person work on an assigned task.
  5. Task dependencies - Show sequences of task completion.

Evaluation will be based on:

  • Resource Definitions
  • Task Names
  • Resource to Task assignment
  • Task Dependency
  • Resource/Task Balancing
  • Time-line Coverage

Process Definition/QA:

Create a model of your software development process showing the process you plan to follow in your software development for the project you are working on. You must use a drawing, diagram, or modeling tool or equivalent for the process graphic. This model must contain:

  1. Graphical depiction of development states and transitions between those states.
  2. Written definition of each state.
  3. Written definition of each transition and the artifact that will drive the transition.
  4. Written quality definition for each artifact involving definition of metrics that will be used to determine the quality of the artifact.
  5. Rules that govern state transition.

You must also produce a formal coding standard document your team will adhere to for the project. This standard will be used to review your code in Spring term. The standard must be industry grade.

Evaluation will be based on:

  • Overall Process Description
  • Graphical Depiction
  • Process State Definition
  • State Transition Definition
large product photo



large product photo

Database Challenge:

In this challenge, you will be the "Database Ogre", Professor Todd Breedlove. Here you are to define a database for your persistence layer to store the business objects your system will work with. You must purchase an enterprise DBMS to complete this task. You must produce the ER diagram with an appropriate diagram or modeling tool.

The initial list of deliverable elements will include:

  • ER Diagram -From your functional requirements list, define your business objects, attributes of each business object and model them as an entity relationship model. The model in the ER diagram must be normalized to third normal form. Violations of normalization must be justified and accepted by the "Ogre".
  • Business Rules - From your functional requirements, derive business rules to define relationships between business objects. This will be a document with a list of business rules. In the document, each business rule must map back to one or more requirements which give rise to the business rule.
  • Table Creation Scripts - Provide scripts to perform initial database schema creation.
  • DCL Scripts - Provide scripts to set up accounts and privileges to allow proper execution of tests. The target tests are those derived from requirements and run as a test of the initial UI.
  • DML Scripts - Provide scripts to generate test data sets to allow your target tests to execute properly. You must provide scripts to cover both pass and fail test conditions.
  • Triggers - Integrate into your schema triggers to deal with appropriate error conditions, etc.

Once you scedule an initial meeting, you will have four days to complete the task to the standards set by the DB Ogre. After four days, the Ogre gets angry and may bring his SQL club down upon your finely crafted schema. This will require you to retreat back to the village and find additional tools or DB related potions to purchase. You will most likely need to find a wizard to help for completion of this task.

As this challenge task gets older, the list of required elements will grow longer. Only the long list of topics in the realm of the DB Ogre will determine the necessary end of what must be done.

Project Introduction Presentation:

From your user stories, derive a user interface prototype that will operate as intended for the system you will be building. The user interface prototype is a tool to show your system sponsor how the system will look and feel. This very valuable for communication about the operation of the system you are creating. The final form of the prototype must be an operational executable.

Your user interface protype will be demonstrated to the class in a formalized team demonstration. For demonstration purposes, you must:

  1. Show the user story that gives rise to the UI prototype element.
  2. Show the requirements that were derived from the user story.
  3. Show the test scripts developed for the prototype. The test scripts must support your user stories and display pass/fail conditions for the system.
  4. Show the working prototype, explaining any error conditions that may occur. Demonstrate the pass/fail conditions for your test scripts.
As a rough presentation outline (not exhaustive):
  1. Project Description - What is being created?
  2. User Base - Who are the target users and what is their motivation to use the proposed system?
  3. System Survery - What similar/competing systems are currently available.
    1. Good features
    2. Bad features
    3. Proposed improvements
  4. User Stories - How will the system be used (do not read user stories here, describe use scenarios).
  5. Derived Requirements - What requirements arise from the user stories?
  6. UI support for the derived requirements - What are the key areas of the UI to support the user and their use of the system to fill their motivation for systme use.
  7. Test scripts - Explain how the UI will work through description of test scripts derived to support the user stories.
  8. Prototype operation - Run the UI prototype and exexcute the test scripts. Explain what is happening at each step.

Formalize the artifacts created for this presentation, archive them, and submit them to the instructor.

Artifact evaluation will be based on:

  • User Stories
  • Derived Requirements
  • Test Scripts
  • Prototype Behavior
  • Prototype Completeness
  • Delivery Format
large product photo

Project Demos:

As your project procedes, demonstrate the operation of your system. This must show new prototyped functionality.In this demo, show all tools and technologies realted to your deomonstratiuon.

Bi-Weekly Status Reports - Lack of a Status Report will count negatively in final evaluation:

Each status report must contain:

  • Tasks performed during the previous week.
  • Problems encountered..
  • Proposed problem solutions.
  • Tasks scheduled for the next week along with responsible parties.

Bi-Weekly Gantt Chart Update - Lack of a Gantt Chart Update will count negatively in final evlauation:

Each time you submit a status report, submit an updated Gantt chart to reflect your new time line based on the work that has been completed. Begin this submission after you have created an initial Gantt chart.

Anything else you would like to do.......just ask!