Objectives Following the lab you should be able to: Analyze the requirements that describe a simple application and use this information to design a set of classes that accurately reflect the requirements. Create a ML Class diagram. Create and document use cases to help analyze and design a simple application. 2. Prior to the laboratory Review the laboratory handout. Visit the links below: 1. Review the “Unified Modeling Language (ML) Tutorial” http:// pigsties. Keenness. Du/—dauber/cassia’s/A/UML_tutorial/diagrams. HTML 2.
Optional) Review “A ML Introduction Tutorial” http://www. Exaggerates. Co. UK/ TUMULI/index. HTML Take the lab pretest. 3. Topics Topic Analyzing system requirements Translating requirements into a system design Documenting the system design 4. Activities/Exercises 1 . Design a Student Registration System (class exercise). 2. Design a Resource Management System. Activity 1: Design a Student Registration System What ML? ML is primarily a graphical notation used to assist system analysis and express software design. The fundamental reason to use ML involves communication.
ML allows a more precise specification of concepts than natural language, and it facilitates communication between domain experts, software architects, programmers, and testers. While ML as a whole is extensive, you can use Just parts of the language to effectively represent a simple design. For the purposes of this lab, we will apply use cases to help determine the system requirements, and then use two of the more commonly used ML diagrams, class diagrams and use cases diagrams, to express the design of our system. You have been asked to design a Student Registration System to replace the university legacy system.
The system will allow students to register for courses and view grade reports. Each student has access to his or her course and grade information only and must be authenticated prior to viewing or updating the information. A course instructor will use the system to view the list of courses he or she is assigned for a given semester or has taught previously, view the list of students registered for the course(s) he or she is teaching, and record final grades for each student in the course(s). TA assignments will also be viewable through this system.
Instructors must also be authenticated prior to viewing or updating any information. The Student Registration System will interface with a several other systems including a system that manages the course catalog and another system that supports financial aid and billing tasks. Follow the process documented below to design the Student Registration System. Analysis and Design Process 1 . Analyze the written requirements. A. Identify the nouns. Highlight or list the nouns your find in the requirements. B. Identify the verbs. Highlight or list the verbs you find in the requirements. 2.
Draw he Class Diagram for the system. A. Draw the nouns as classes. B. Draw the verbs as associations/relationships between classes. C. Assign a multiplicity to each associations (I. E. , one-to-many, many-to-many, many-to-one) 3. Update the Class Diagram with class attributes. 4. Update the Class Diagram with class methods. 5. Analyze the written requirements. A. Identify the actors. List the humans or group(s) that interact with the system under design. Also list any systems that interact with the system under design. B. Identify the use cases. List the functionality or services provided. . Diagram the use cases. 7. Draw associations/relationships between use cases. 8. Document the use cases. For this exercise, document two use cases using the template provided on the worksheet. Activity 2: Design a Resource Management System System Requirements You have been asked to design a Resource Management System for a consulting firm. This system will be used to keep track of the time each employee spends working on a project. Assume an employee works on only one project at any given time. In the Resource Management System, each project is associated with one specific or more tasks.
Each task requires a certain skill and is assigned to a specific resource. Each resource has one or more skills. Skills have multiple levels of expertise. An employee can be either a salaried employee or an hourly employee. Follow the process documented below to design the Resource Management System. Document your system design on your worksheet. 1. Analyze the written requirements. 5. Think About What challenges are associated with designing a software system? How do ML and a structured process help simplify system design? How might your design documentation be used by someone other than a programmer?