Term Project for Systems Engineering Requirements, Design and Trade-Off

Due: 5pm, May 20. No extensions!

Problem Statement. The purpose of the term project is to create a frontend "web-based" system-level representation for an engineering system of your choice. I suggest that groups of two students stick to development of a single engineering system. Teams of three students should attack something that is a little more challenging -- for example, the system-level representation of things in a product line.

The system-level representation should be technology independent -- that is, it should simply set the stage for an implementation that could be in software, hardware, or combinations of hardware and software.

Things to Do

The term project should build upon the methodologies covered in homework 1, and include:

  1. Project Description. Projects should begin with an easy-to-read description of what the project is about. Since these projects will be on the web, I suggest that you make good use of graphics, and use language that a layman can understand.

  2. Goals and Scenarios. Briefly summarize the goals and associated scenarios for this problem domain.

  3. Initial Use Case Modeling. (see pg's 112-115 of the Yellow book). Identify the actors and system boundary? Develop set of "textual" use cases for this problem domain. For each use case, identify the actors, flow of events for normal and alternative courses of action, and pre- and post-conditions (if they exist). Develop an activity diagram showing the sequence of tasks that are accomplished in the execution of individual scenarios. (It may also be possible to show all of the scenarios on a single activity diagram -- at this point I don't know how big such a diagram would be).

  4. Organize the Use Cases. (see pg's 116-119 of the Yellow book). Organize the use cases into a use case diagram. Indicate <<extends>> and <<uses>> relationships between use cases, if they exist. If your project has more than about 10 use cases, think about creating a hierarchy of use case diagrams.

  5. Requirements. Develop a set of system and test requirements for this problem domain. Identify the source (i.e., "goal" or "use case") of each requirement (or group of requirements).

  6. Model of System Behavior. Create a hierarchy of tasks for "what the system will do." Identify tasks that must be completed in sequence, and any that can be worked on concurrently.

  7. Model(s) of System Structure. Identify the key components and subsystems that are needed for the system structure. Organize the components and subsystems into a composition hierarchy diagram and/or component schematic (if you think that is appropriate). Show multiplicities when they exist.

  8. Logical Design. Show how the components will interface with each other, and the external world. Consider:

    Explain how the logical design is constrained by the selection of standards and adoption of technologies.

    Map the model of behavior onto the system structure, and show how the various logical scenarios will be handled by the system (i.e., what is the pathway of calculations and messages for each type of computation). I'm envisioning that one or more collaboration and/or statechart diagrams would be appropriate for this task.

  9. Use Case/Component Task Interaction Matrix. Develop a use case/component task interaction matrix. (I think that the easiest way to do this will be as an html table).

  10. Traceability. Develop traceability matrices to show: (1) How use cases trace to groups of requirements, (2) How individual requirements have been taken into account in the system-level design, and (3) Why each system-level component is needed.

  11. Measures of Effectiveness. What are the measures of effectiveness for system assessment at the logical and physical stages of design? How are they evaluated? And what are the difficulties in the evaluation?

  12. Trade-Off Analysis. Formulate and, if possible, conduct a trade-off analysis for "design options" versus "measures of effectiveness" at the logical stage of design.

    One parameter of your trade-off anaysis should be estimates of cost. I expect that the remaining parameters will depend on the nature problem you are addressing -- for example, features, performance, reliability ... etc.

    If system cost depends on the choice of technology, then think about conducting the trade-off analysis using [ min, max ] intervals of cost based on technologies that are available.

  13. Conclusions and Future Work. What have you learned in this project? What was easy? What was hard? Suppose that a team in next years class decides to extend your project -- what should they do next to make the project more complete?

I suggest that you use Visio 2000 for the UML diagrams. If you have questions about web development/html, see the class TA. If you would like to discuss ideas for the latter parts of this assignment, see Mark Austin.

What to put online

Your project needs to be online. E-mail me the URL of your project page so that I can make the appropriate connections.

What to hand in

A printout of the web pages you have developed.


Developed in May 2002 by Mark Austin
Copyright © 2002, Institute for Systems Research, University of Maryland