Exercise 7.0

Answer the following quiz questions.

  1. During what phase of the software development life-cycle do we use UML use-case diagrams and user stories?
  2. Would Brooks categorize the problems caused by an inappropriate programming language as essential or accidental difficulties?
  3. Is a login (screen) an appropriate class to include in a domain model?
  4. What are the elements of Nielsen’s discount usability process?

Exercise 7.1

Compare and contrast the following pairs of terms.

  • Database Management System (DBMS) vs Information System
  • Database vs DBMS
  • Semantic vs Logical data models
  • External, Conceptual/Logical vs Internal schemata
  • Relational key vs traditional pointer

Exercise 7.2

Consider a construction domain in which suppliers supply parts to job sites. Suppliers have a name, address, loginID, and password. Parts have a SKU number, name, price. Jobs have a name, address.

  1. Build a relational model for the suppliers (only). Include the age of the relationship with this supplier.
  2. Add parts. Note that while parts are generic, e.g., a “widget” could be supplied by many suppliers, a business decision has been made to buy each part from exactly one supplier.
  3. Add jobs where a part can be used on many jobs and a job can use many parts. Include the quantity of parts supplied to each job and the date of each transaction.

Exercise 7.3

Create a sample database with records that specify the following.

  • Companies: Acme; Ronco
  • Products: Birdseed; TNT
  • Jobs: Student Union; an unnamed job (both at Calvin)
  • Deliveries (product→job):
    • 10 boxes of birdseed to the Student Union job on Oct 20
    • 2 units of TNT to the unnamed job on Oct 21
    • 3 boxes of birdseed to the unnamed job on Oct 21
        Supplier(ID, name, loginID, password)
            1 acme acme joshua
            2 ronco ronco ronco
        Part(ID, name, price, supplierID)
            1 birdSeed $5 1
            2 TNT $100 1
            3 leadShot $10 1
        Job(ID, name, address)
            1 StudentUnion Calvin
            2 NULL Calvin
        PJ(PID, JID, quantity, date)
            1 1 10 10-20-2018
            2 2 2 10-21-2018
            1 2 3 10-21-2018

Exercise 7.4

Modify the database schema from the previous exercise to do the following.

  1. Allow parts to be made up of other parts. Include the ability to represent the quantity of each sub-part required for a super-part.
  2. Allow each job site to choose the supplier of its parts rather than having the company enforce a standard across all sites.

Give some sample records that demonstrate how the structure works.

Exercise 7.5

Specify a database schema that represents people and their biological and legal relationships. This includes families, parentage, siblings, etc. Each person has a name, gender, age.

For the strong of heart, try to support adoption, divorce, remarriage and group marriage.

Exercise 7.6

What was Postman’s third idea and do you agree with it?