Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 1
Methods of MIS Modeling – OM Faculty Laboratory IEZ001210L - 2020/21
Grażyna Hołodnik-Janczura, Ph. D.
https://www.ii.pwr.edu.pl/~ghj/ [email protected]
Schedule and course score
#Lab Topic # Task Max score
Wednesday/ even week
Task deadlines
1 Introduction. A case study “ ” (business story). Data dictionary – a system repository.
1.FHD 5 02.03.21 Part A
FHD & FDD
20.04.21
2 The subject (functional) areas extraction. The Affinity Diagram process – function decomposition and grouping rules. Min 9 elementary functions.
FHD cont.
16.03.21
3 Analysis of the interdependencies between functions and the events – process model building.
2.FDD
5 13.04.21
4,5 Analysis of information needs: an entity type identification. Analysis of the business relationship – definition and representation. Min 7 entity types.
3. ERD
27.04.21 11.05.21
Part B
ERD & RDB
15.06.21 6 ERD - quality and completeness checks. ERD cont. 10 25.05.21
7 RDBD - using the basic technique of logical relational database design.
4. RDBD 5 08.06.21
8 Final assessment. 25 22.06
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 2
Description of lab work
1. Students can perform tasks in 3-persons teams, but each student receives individual mark, depending on his involvement in this work.
2. Students in teams, as part of the preparation for classes, pre-prepare given tasks according to the schedule, on the base given lecture and lab materials (www.ii.pwr.edu.pl/~ghj).
3. During the remote classes, they present their works and report problems. After consulting the lecturer, they finalize their task.
4. Students may receive additional points for presentation and correct answers to the questions asked during the classes - activity (CAM): 2.0 – 5.0. The individual assessment (CAM) represents 0.4 of the final evaluation (BMC).
5. Team project consists of two parts A and B. Teamwork assessment (TTM) is 0.6 final evaluations (BMC).
6. Team project - all models should be developed in an electronic version using the software tools: Ms Word, Ms Visio.
7. Save all parts of a task to a file with the specified structure name given in the description of each task.
8. Each student team will receive its own number – team nr, e.g. 92a_01, 92b_01. 9. The structure of the file name with tasks is: OM_team nr_task name, e. g.
“OM_92a_01_story&repository”. 10. The files with the final version of the task should be sent to the mailbox of the lecturer
in the specified deadlines of the parts A and B. 11. A student may leave the classes at most 1 lab.
Assesment criteria
Basic mark calculated: BMC = 0.4*CAM+0.6*TTM
BMC Final Mark
< 3,00 ndst (2.0)
3,00 – 3,40 dst (3.0)
3,41 – 3,85 dst+ (3,5)
3,86 – 4,25 db (4.0)
4,26 – 4,65 db+ (4,5)
4,66 – 5,0 bdb (5.0)
Task Score Min – Max
Team Task Mark (TTM)
<12 ndst (2.0)
12,0 – 14,9 dst (3.0)
15,0 – 17,4 dst+ (3,5)
17,5 – 19,9 db (4.0)
20,0 – 22,4 db+ (4,5)
22,5 – 25,0 bdb (5.0)
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 3
PART A
#1: FHD
1. Prepare one case study (business story) about the business needs and software requirements from an organization perspective - a user story (an epic) in Ms Word - see “Hydraulics story”. File name e. g.: “OM_92a_01_story&repository”.
This case study should be business task and activities descriptions at the level of the selected domain. Find a hint of
the topic selection to develop such a business story in the below annex. You should start by choosing a business and
asking about the scope of its business, in which needs to implement a computer system to improve its functioning,
for example, to reduce the time of its operations, or to acquire more clients. In this work you primarily focus on
describing the user tasks. You also collect information on the data to be stored in the computer. Before, you also
conduct interviews and brainstorming session to identify business goals to describe high – level tasks. They specify
what the user and the computer must do together to achieve the business goals without specifying how.
Use the examples, shown in the annex below the task description, to develop all models.
2. Divide the story into named themes, so that each of them corresponds to a separate set of computer system functionalities. For example, in developing the Championship-Stats website, we would have themes such as these:
a. Keep track of all personal records and let participants view them.
b. Assign players to sport events optimally.
c. Allow coaches to enter practice activities and track practice results.
d. Allow officials to track sport event results.
3. Construct FHD (Ms Visio/organization chart) – arrange business functions in a hierarchy
by using top-down plus bottom-up modeling approach. “OM_92a_01_FHD”.
a. Start at the top hierarchy with a single business function name describing the entire business or the scope under study: top – level (0 level).
b. Produce a few functions - themes (<9 on one level) which can be child functions of the parent top – level function.
c. Decompose the hierarchy further, until the required level of detail is achieved – elementary function level.
d. Check a quality of the hierarchy model: - test a hierarchy with a few alternative viewpoints e.g.: manager, salesperson,
accountant, customer, player; - Is it possible that a level ended function can be done by more than one person
at a time? - Is every function accurate and self-contained at each level, complete, briefly and
clearly named?
4. Create a repository with important terms, used in the chosen business domain: name,
abbreviation (optional), description of its meaning in this business using the terminology of the organization and avoiding jargon to ensuring, that you will achieve this same understanding by all participants of the project (Ms Word). File name: “OM_92a_01_story&repository”.
Fill the repository in important object names used in the function names shown on FHD.
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 4
# 2: FDD
1.Create FDD (Ms Visio/Flow Chart: Basic Flowchart Shapes, Arrow Shapes, Miscellaneous Flowchart Shapes): considering the functions sequence in which elementary functions (from created FHD) need to be done for one chosen process, e.g.
1. Monitor sport event 2. Sell tickets for sport event.
2.To produce FDD, file name: “ OM_92a_01_FDD”:
a) Describe one or more initial events (triggers) for a process and one or more key results ending this process. b) Construct the sequence of functions that occur when a business responds to an event (trigger) and the outcome that is a result of this sequence. c) Apply adequate operator: AND, OR, XOR in case two or more dependencies. d) Check the quality of the dependency model: hidden dependencies, missing dependencies, is it really a dependency?
3.Before drawing the FDD to start with elaborating a dependency table of elementary functions according to the pattern of the lecture no 2/29 (Ms Word). - file name: “ OM_92a_01_FDD_table”
PART A – files:
1. “OM_92a_01_story&repository” 2. “OM_92a_01_FHD” 3. “OM_92a_01_FDD” 4. “OM_92a_01_FDD_table”
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 5
PART B
# 3: ERD
1. Elaborate entity types and relationships definitions (Ms Word). File name: “OM_92a_01_ER_def”. a. For all entity types - detailed definitions of entity and attributes, abbreviations of the
entity types are optional (tab. 1). b. Only for two of the entity types - detailed definitions of their relationships (tab. 2).
2. Develop Entity Relationship Diagram ERD (Ms Visio/software and data base/cross foot notation), remembering about eliminate unnecessary (redundant) relationship. File name: “OM_92a_01_ERD”.
3. Check a quality of ERD: for entity – at least two attributes, a unique identifier, at least one relationship, at least one business function in CRUDA method, is it conform to the principles of data normalization? for attribute – name should not include the entity name, only one value per attribute, is it conform to the principles of data normalization? Are there derived attributes? for relationship – each end named, each end has a degree and participation, is a relationship only in one arc, are resolved all structures M:N?
Tab. 1
Entity name:
# Attribute
name Abbr*
Optional (Y/N)
Data type Max
length UID (Y/N)
*Abbreviation - optional Y/N – Yes/No
Tab. 2
Entity name:
# Participation (mandatory/
optional) Link phrase Cardinality
Entity name
Arc (no)
UID (Y/N)
Additional task comment #3 – ERD
Each term in the repository, verify that is it an example of an instance of a set of objects, or whether is it a feature that
characterizes an object, or can also be the name of an event in which some other objects are involved that need to be
added?
Verify that the information that the term represents in the repository should be collected and saved for ensuring that this
process is implemented and the organization works properly?
For terms that correspond to the information to record in the database, for each of them, determine which corresponds to
the name of the entity type, the attribute type name, or the name of the compound type.
Note that each entity type, attribute type, and relationship type means a different entities set, different attributes set, and
different set of relationships, respectively, so they must have a unique name.
You can use the list of useful pairs of relationship names, listed in the annex.
Based on the user story described above, perform the task #3, starting at point 1, then 2, and finally point 3.
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 6
Attributes - Common data types
Integer
Floating-point number
Character
String
Boolean
Numeric types
Such as:
The integer data types, or "non-fractional numbers".
Floating point data types, usually represent values as high-precision fractional values (rational numbers,
mathematically), but are sometimes misleadingly called reals (evocative of mathematical real numbers). Typically
stored internally in the form a × 2b (where a and b are integers), but displayed in familiar decimal form.
Fixed point data types are convenient for representing monetary values. They are often implemented internally as
integers, leading to predefined limits.
String and text types
Such as:
A character, which may be a letter of some alphabet, a digit, a blank space, a punctuation mark, etc.
A string, which is a sequence of characters. Strings are typically used to represent words and text.
Boolean type
The Boolean type represents the values true and false. Although only two values are possible, they are rarely
implemented as a single binary digit for efficiency reasons.
Picture
Type: BLOB (Binary Large Object),
Lenght: MEDIUM, TINY, LONG
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 7
# 4: RDBD
Transform Your Entity Relationship Diagram (#3) to a logical relational database design (RDBD) using rules of the basic technique (CASE*Method) – Ms Word (tab. 3). File name: “ OM_92a_01_RDBD”.
Tab. 3
Table name/Entity name:
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
PART B – files: 1. “OM_92a_01_ER_def” 2. “OM_92a_01_ERD” 3. “OM_92a_01_RDBD”
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 8
Annex
The topics - generic functions that recur across different businesses
Administration
Audits
Building acquisition/relocation/disposal
Catering
Communications
Community relations
Computer services/internal systems
Controls
Credit
Development
Disabled visitors
Disaster recovery
Ecology/conservation
Energy use
Entertainment/rewards
Finance
Forecasting
Good practice
Heath
Insurance
Integrity
Legal/legislative needs
Maintenance
Management
Manufacturing
Marketing
Personnel
Physical resource
Policy on …
Printing
Projects
Publications
Public relations
Quality management
Recreation
Recycling
Refurbishment
Repairs
Research
Resilience
Safety
Sales
Security
Social activities
Special projects
Sponsorship of charities
Standards
Stores
Supplier policy
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 9
Support/maintenance
Third – party alliances
Training
Transportation
Visitors/reception
Waste management Commonly occurring functions (FHD)
1.Classic Business Cycle
Plan the nature of the business, define objectives
Acquire funding, physical, human and other resources
Market and sell goods, services and products
Develop and produce products and deliver to concumer
Support and maintain products
Monitor and control business operations 2.Government (central and local government organizations)
Derive and agree budgets for operating period
Define levels of service provision within budget
Staff department to level adequate for provision of planned services
Allocate budget by service for operating period
Carry out service and log operating costs
Monitor spend against budget 3.Generic Human Resource Functions
Define corporate culture and employment policies, particularly for:
o Heath, safety, hiring and retention, dismissal, benefits, training, career progression, expenses, relocation, employment conditions, disabled staff and visitors, unions and other employee groups, …
Define job, role, position or other vacancy
Market the corporation or business
Advertise job or position
Liaise with third-party sources of applicants
Interview and test applicant
Hire employee
Take on contractor
Train and educate
Pay employee
Review employee or contractor
Promote employee
Warn, reprimand, downgrade and/or fire employee or contractor
Conduct redundancy procedure
Reorganize the business and redeploy people
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 10
Useful pairs of relationship names (ERD)
about – subject of applicable to – context for at – location of based on – basis for based on – under bought in from – supplier of bound by – for change authority for – on classification for – of covered by – for defined by – part definition of description of – for for – shown on for work under – authority for initiated by – initiator of nominee for – subject of notified on – notification point for operated by – operator for owned by – owner of part of – composed of part of – detailed by party to – for party to – holder of placed on – responsible for precluded by – preclude for represented by – representation of responsible for – responsibility of responsible for 0 of run by – carrier for source of – based on trigger for – triggered by under – context for used as – for use of verified by – verifier of within – responsible for within – made up of
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 11
0 Run and monitor a championship events
3 Allow coaches to enter practice activities and track practice results
4 Allow officials to track sport event results
2 Assign competitor to sport events optimally and keep track of all personal records
22 Edit details of the competitor
23 Delete the competitor who is no longer on any event
21 Add new competitor to sport event that best meet player skills
24 Receive an application for a sport event
13 Delete an event which is not going
12 Edit description of the event
14 Determine preferences for competitor assigning on the basis of regulations
11 Add new event
33 Delete an activity which is no longer practiced
34 Reserve training room as necessary for a coach
32 Edit details of the practice activity
35 Assemble details of individual practice
31 Add new practice activity
42 .Able to view of the last event result
43 Show the list of the best competitors
41 Give event data access rights to an official
44 Show the list of all current participants of the choosen event
45 Register all details of event results
25 Check the fulfillment of conditions for participation by the applicant
26 Notify the applicant of acceptance / rejection of its application
1.Organize sport events
36 Enroll a competitor for an activity
#1. Function Hierarchy Diagram (FHD)
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 12
Time to open of the particiaptions list
Receive an application for a
sport event
Add new competitor to sport event that best meet his/her
skills
Determine preferences for competitor assigning
on the basis of the regulations
Application is received
Check the fulfillment of conditions for
participation by the applicant
Notify the applicant of acceptance / rejection
of its application
Application is rejected
Application is accepted
Process name: „Consideration of applications for participation in the championship”
Initial event: „time to open of the participations list”Result: „application is accepted” or „application is rejected”
#2. Function Dependency Diagram (FDD)
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 13
COMPETITOR/APPLICANT
PARTICIPATION EVENT
RESULT
ACTIVITYCOACH
ROOM
DISCIPLINE
ENROLMENT
OLYMPIC CATEGORY
ABILITY
ssnoPK
last name
first name
numberPK
from date
to date
namePK
location
from date
value
comment
codePK
from date&time
to date&time
ssnoPK
last name
first name
numberPK
size
codePK
name
category (winter or summer)
object of / attached fornominee for / subject of
responsible for / responsibility of
at / location of
duration
part of / detailed by
involved in/for
made by/for
to date
codePK
name
kind (I or T)
classification for/of
phone
phone
operated by / operator for
name
birthdate
round
from date
to / for
belongs to / has
remark
#3. Entity Relationship Diagram (ERD)
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 14
#4. Relational Database Design (RDB) - Microsoft Access Data Types
Table name/Entity name: COMPETITORS/COMPETITOR
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 ssno Not null text PK
2 last name Not null text
3 first name Not null text
4 birthdate Not null date
5 phone Not null integer
Table name/Entity name: EVENTS/EVENT
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 name Not null text PK
2 round Not null integer PK
3 from date Not null date
4 to date Not null date
5 location Not null text
Table name/Entity name: COACHES/COACH
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 ssno Not null text PK
2 code Not null text FK DISCIPLINES
3 last name Not null text
4 first name Not null text
5 phone Not null integer
Table name/Entity name: ROOMS/ROOM
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 number Not null integer PK
2 size Not null integer
Table name/Entity name: DISCIPLINES/DISCIPLINE
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 code Not null text PK
2 name Not null text
3 category Not null text
4 code_ol_category Null text FK OL_CATEGORIES
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 15
Table name/Entity name: OL_CATEGORIES/OLYMPIC CATEGORY
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 code Not null text PK
2 name Not null text
3 kind Not null text
Table name/Entity name: ACTIVITIES/ACTIVITY
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 code Not null text PK
2 number Not null integer FK ROOMS
3 name Not null text
4 from date&time Not null date/time
5 to date&time Not null date/time
Table name/Entity name: PARTICIPATIONS/PARTICIPATION
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 number Not null integer PK
2 ssno Not null text PK, FK
COMPETITORS
3 name Not null text PK, FK
EVENTS
4 round Not null integer PK, FK
EVENTS
5 from date Not null date
6 to date null date
Table name/Entity name: ENROLMENTS/ENROLMENT
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 ssno Not null text PK, FK
COMPETITORS
2 code Not null text PK, FK
ACTIVITIES
3 duration Not null single
4 remark Null text
MMISMo – laboratory
dr inż. Grażyna Hołodnik-Janczura 21-02-27 16
Table name/Entity name:RESULTS/RESULT
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 number Not null integer PK, FK
PARTICIPATIONS
2 name Not null text PK, FK
EVENTS
3 round Not null integer PK, FK
EVENTS
4 value Not null integer
5 comment null text
Table name/Entity name: ABILITIES/ABILITY
# Column name Not null
/Null Data type
Key (P/F)
Reference (source table name of
FK)
1 ssno Not null text PK, FK
COMPETITORS
2 code Not null text PK, FK
DISCIPLINES
3 from date Not null date