Top Banner
The University of Anytown School of Business Computing
49

The University of Anytown School of Business Computing.

Dec 18, 2015

Download

Documents

Kellie Spencer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The University of Anytown School of Business Computing.

The University of Anytown

School of Business Computing

Page 2: The University of Anytown School of Business Computing.

Problem Situation

• Student Retention• Too many students

enrol on a course then withdraw in their first year

• Need a software system to help solve the problem– An improved school

intranet

Page 3: The University of Anytown School of Business Computing.

Start with a mind map (or rich picture)

Page 4: The University of Anytown School of Business Computing.

Develop a Process Map

1. Admissions 2. Pastoral Care3. Timetabling 4. Module Delivery5. Peer Tutoring6. Assessment7. Attendance Monitoring8. Research

Page 5: The University of Anytown School of Business Computing.

Definition of a Pastoral Services System

• A system under the control of an in-school counselling team – giving appropriate referrals to external agencies to students presenting personal problems to members of the counselling team.

Page 6: The University of Anytown School of Business Computing.

Root Definition for Peer-Tutoring

• A system owned by the school that provides study skills support to students using volunteers from the student body with the quality of their support activities monitored by academic staff

Page 7: The University of Anytown School of Business Computing.

Activity Diagram for Peer-Tutoring

Identify Suitable Peer Tutors

Document Skills of Peer Tutors

Train Peer Tutors

Advertise

Document Tutee Needs

Receive Tutee

Book times and rooms

Tutee Recruitment Sub SystemPeer Tutor Recruitment Sub System

Page 8: The University of Anytown School of Business Computing.

Things that could be added to the activity diagram

• Is it enough to advertise?– Should some students be made to attend?

• Should we pay peer tutors?– Money?– Credits?

• How should the effectiveness of the system be measured?

Page 9: The University of Anytown School of Business Computing.

Attendance Monitoring

Record absentees during a tutorial session

Know tutorial group members

Inform pathway leader of persistent absentees

Know student's pathway leader

Inform student of contact with pathway leader

Page 10: The University of Anytown School of Business Computing.

Related Use Cases

Print Class List

Enter Attendance Data for Class Tutorial

Print Attendance Record for Specific Class

Print Attendance Record for Specific Student

Module Leaderemail pathway leader and student

Let’s consider this one

Page 11: The University of Anytown School of Business Computing.

Create Class List

Page 12: The University of Anytown School of Business Computing.

The information displayed here might be brought together through collaboration between objects

: Pathway : Module : StudentCreate Class List Form

CreateClassList( )getStudentDetails( )

getPathwayTitle( )

Page 13: The University of Anytown School of Business Computing.

Class Diagram showing relationships between these objects

Module

NameModule Code

Create Class List()

Student

Name

get student details()n nn n

enrolled on

Pathway

TitleDescription

get pathway title()1

nn

1

registered on

Page 14: The University of Anytown School of Business Computing.

We can do two things with this class diagram

• Implement it in an OOPL• Translate it into an entity model then

implement the entity model as a relational database

• CASE tools can help with both of these

Page 15: The University of Anytown School of Business Computing.

Three Very Simple Use Cases

Create New Supplier

Delete Supplier

Update Supplier Details

Let’s consider some coding issues!

Page 16: The University of Anytown School of Business Computing.

One “Entity” Class

clsSupplier

colSuppliedProduct : CollectionlngSupplierID : LongstrCompanyName : StringstrContactName : StringstrContactTitle : StringstrAddress : StringstrCity : StringstrRegion : StringstrPostalCode : StringstrCountry : StringstrPhone : StringstrFax : String

Delete()FindByID()Update()

(from Project1)

<<Class Module>>

Page 17: The University of Anytown School of Business Computing.

Three Control Classes

Create New Supplier

Delete Supplier

Update Supplier Details

Page 18: The University of Anytown School of Business Computing.

One Boundary Class for all Three Use Cases

Page 19: The University of Anytown School of Business Computing.

One Boundary Class

Page 20: The University of Anytown School of Business Computing.

One Class to Talk to the Database

Page 21: The University of Anytown School of Business Computing.

Sequence Diagram for Create New Supplier

Supplier Form

Control Class

“Create Supplier”

Entity Class

“Supplier”

DB Connection

DBSupplier

Page 22: The University of Anytown School of Business Computing.

Overview of the System Architecture

Page 23: The University of Anytown School of Business Computing.

Project Window for the entire application

Page 24: The University of Anytown School of Business Computing.

More Sophisticated Use Cases

Perhaps we could ask the Customer object to:

– Project future sales to this customer. This would involve analysing past sales to identify trends. Implies the need for a “Customer Sales History” class not currently included in the model.

– Collect overdue payments. This would involve generating standard letters to be sent to the customer. Implies collaboration with a “Payment” class (associated with Order or Invoice?) not currently included in the model.

Page 25: The University of Anytown School of Business Computing.

Select Add Class

Module from the

Project menu

Building the Module Maintenance Application in VB

Page 26: The University of Anytown School of Business Computing.

Use the Class Builder

Page 27: The University of Anytown School of Business Computing.

Click the Button to add a new class

Page 28: The University of Anytown School of Business Computing.

Give the Class a Decent Name

Page 29: The University of Anytown School of Business Computing.

Click the Button to Add an Attribute

Page 30: The University of Anytown School of Business Computing.

Give the Attribute a Name and Data Type

Page 31: The University of Anytown School of Business Computing.

Select this Button to Add an Operation

Page 32: The University of Anytown School of Business Computing.

Name the Operation

Page 33: The University of Anytown School of Business Computing.

When we Update the Project the necessary code is generated to implement

the class

Page 34: The University of Anytown School of Business Computing.

Using a collection to implement a 1:M relationship

• We might want to implement a Module class that knows the many pathways on which the module is taught

• One of the attributes of this module class will be a collection of pathways!

Page 35: The University of Anytown School of Business Computing.

Back to the Class Builder

• Assume we’ve created the classes clsModule and clsPathway

• We now need to create a class that can manage a collection of pathway objects

• Create this collection by clicking this button

Page 36: The University of Anytown School of Business Computing.

Use the Collection Builder

• To name the collection• And indicate what it is a collection of..

Page 37: The University of Anytown School of Business Computing.

Sequence Diagram• A VB form allows us to select a Module

(from a drop down list) and then see a list of the pathways the module is taught on

• This involves asking a Module object to ask each of the pathways in its MyPathways collection to display their title.

• In UML we document this type of collaboration in a sequence diagram

Page 38: The University of Anytown School of Business Computing.

We’ll see how Rational Rose can help

• Generate a VB class module from a class diagram

• Generate an entity model from the class diagram

• Generate a database from the entity model

Page 39: The University of Anytown School of Business Computing.

Create a VB6 Model

Page 40: The University of Anytown School of Business Computing.

Add a Class

Page 41: The University of Anytown School of Business Computing.

Associate the Model with a VB project

Page 42: The University of Anytown School of Business Computing.

Generated Program

Link to the Rose model

Page 43: The University of Anytown School of Business Computing.

Once this connection has been made…

• We can..– Update the VB project from our model– Update our model from the VB project

• Round-trip engineering

Page 44: The University of Anytown School of Business Computing.

Now for the database..

Page 45: The University of Anytown School of Business Computing.

First tell Rose about the target database

Page 46: The University of Anytown School of Business Computing.

Set up a schema for the target database

Page 47: The University of Anytown School of Business Computing.

Now generate the entity model

Page 48: The University of Anytown School of Business Computing.

Generate the Database from the Schema

Page 49: The University of Anytown School of Business Computing.

Example of Generated SQL