SYST 210

System Design 

Kathryn Blackmond Laskey
Department of Systems Engineering and Operations Research
George Mason University
Functional Architecture Lab and Homework Assignment 6
Due November 5, 2009

Reading assignment: SysML Guide Chapters 6, 8 and 12.

This assignment will be started in the functional architecture lab on Thursday, October 29, continued on Tuesday, November 3, and completed as homework.  Your homework assignment is to finish what you did not complete in class. You will turn in a system description document with the contents described below and a SysML model.  Students who work together may choose to turn in a single document with everyone's name on it, or to turn in individual documents.  If you turn in individual documents, there is no penalty for similarity to other members of your group. If there was a group member who did not come to class for the in-class working sessions, you may include this person in a group submission but only if this group member contributes actively to finishing the assignment.  Otherwise, please ask the person to submit an individual assignment.

This assignment uses the QuikPay case study from the midterm preview.  Use the vision statement, external systems diagram, and operational scenarios provided to you for the exercise, along with the QuikPay partial data model.

  1. Download the partial QuikPay database from Blackboard (under Course Content / Lab Materials).
  2. Make a QuikPay Behavior package under the QuikPay Universe package.
  3. Develop a hierarchical decomposition of the main function F.0, Provide Toll Collection Services.  Use the functions listed in the first column of the QuikPay data model. Add the functions as activities to the SysML database. Put these acvities into the QuikPay Behavior package. (Do this by highlighting the QuikPay Behavior package in the containment hierarchy, right-clicking, selecting New Element / Activity.) Use activity diagrams in MagicDraw to specify the hierarchy.  (Do this by clicking on an activity you want to decompose, right-clicking, selecting New Diagram / SysML Diagram / SysML Activity Diagram. This will make an activity diagram for the function you want to decompose. Then drag the subfunctions onto the activity diagram.)
  4. When you are finished making your function hierarchy, use the Activity Diagram Hierarchy Wizard (as we did in class) to make a block definition diagram for the funciton hierarchy.
  5. The inputs and outputs of the main function are shown in plain text in the data model.  Make a block definition diagram called "Main Function Inputs and Outputs."  Add these inputs and outputs as blocks to the block definition diagram.  Drag these blocks to the activity diagrams on which they should appear, and connect them with object flows to show inputs and outputs of functions.
  6. You will notice that when you drag an item block to an activity diagram, a new object block appears in the containment hierarchy, but its name is blank.  To help you keep track of which is which, give the object a name, which can be a shortened version of the item name. Both the name that you give it here and the name that you give it in the block definition diagram will be shown on the activity diagram (for example, if you give the name "ct" to the "cash toll" item, you will see a block called ct in the containment hierarchy, and the block on the activity diagram will say "ct: cash toll."
  7. Make another block definition diagram for internal items. These are items that are needed in order to perform the system functions, but that are internal to the system and so do not appear on the external system diagram.  Add the two items shown in italics on the partial data model to this block definition diagram. Then add these items to the activity diagrams where they belong and connect them to the functions using object flows.
  8. Now look at each of your activity diagrams, and identify additional internal items that are needed to make sure that the operational scenarios can be accomplished.  Add these items to the internal items block definition diagram. Drag them to the activity diagrams where they are needed.
  9. Now go to the requirements diagram inside the requirements package.  For each bottom-level requirement, identify one or more items or functions that satisfy the requirement.  Drag the activities (for functions) or blocks (for items) to the requirements diagram, and connect them with the "satisfies" relation.  Do not add both a funciton and a sub-function to the same requirement.
  10. Make a professional looking functional architecture report that contains your activity diagrams, your block definition diagrams, and your requirements diagram, along with an explanation of each diagram. 
Your goal is to develop a functional architecture that can perform the operational scenarios, and to create a professional looking functional architecture report.  Part of your grade will be professionalism and following instructions.


Back to the course homepage