rewrite
Problems and Exercises
Chapter 7
5. Consider the E-R diagram in Figure 7-20. Based on this E-R diagram, answer the following questions:
a. How many EMPLOYEES can work on a project?
One-to-many employees
b. What is the degree of the Used_on relationship?
2, since there are two entity types participate in this relationship
c. Do any associative entities appear in this diagram? If so, name them.
No
d. How else could the attribute Skill be modeled?
The attribute Skill is a multivalued one.
e. What attributes might be attached to the Works_on relationship?
We could attach the following attributes:
1. FROM: From which date employee works on the project
2. PCT: How much of his time does he use in working on this project
f. Could TOOL be modeled as an associative entity? Why or why not?
No, because Used_on relationship shows that each task has one and only one tool. No additional data is required.
16. The owner of two pizza parlors located in adjacent towns wants to computerize and integrate sales transactions and inventory management within and between both stores. The point-of-sale component must be easy to use and flexible enough to accommodate a variety of pricing strategies and coupons. The inventory management, which will be linked to the point-of-sale component, must also be easy to use and fast. The systems at each store need to be linked so that sales and inventory levels can be determined instantly for each store and for both stores combined. The owner can allocate $40,000 for hardware and $20,000 for software and must have the new system operational in three months. Training must be short and easy. Briefly describe three alternative systems for this situation and explain how each would meet the requirements and constraints. Are the requirements and constraints realistic? Why or why not?
a. Alternative A: ABC company is a well-known IT services firm with an over a decade history. ABC offers to utilize the project using an already used successfully package of software that will be installed on new hardware ordered by an outsourcing associate hardware vendor. Four months and $250,000 ($200,000 for software and $50,000 for hardware) will be needed.
b. Alternative B: XYZ company is a local company that offers open-source solutions with a non-significant contribution for training users in their products. XYZ has utilized a similar project, that can be modified by experienced programmer if needed.
c. Alternative C: 123 company offers cloud computing services for low cost and high performance. All software is on vendor’s side, running on his computer systems. The system will be running on 24/7 and users will be able to access it even from home. $150,000 and 6 months will be required for an all-in-one solution.
In my opinion, thiw project is underestimated. I believe that $60,000 for this project is too little. Moreover, three months is a short period time if we think of all the software development phases and the training sessions that will take place at the end. Alternative C seems to be the most appropriate for the case, since it has a lower budget than XYZ, even it will need 2 extra months. Moreover, being on cloud, will be more flexible for our company to migrate to something else in the future.
17. Compare the alternative systems from Problem and Exercise 16 using the weighted approach demonstrated in Figure 7-19. Which system would you recommend? Why? Was the approach taken in this and Problem and Exercise 16 useful even for this relatively small system? Why or why not?
Judging by the weighted approach, I would prefer Alternative C (123 company), which has the best score (424). It seems that even for small projects, it is useful to approach the project assignment in many different ways. For example we see in the diagram that Alternative A’s score (408) isn’t much less than Alternative C’s and maybe a second thought over ABC’s proposal shall be made.
EMPLOYEEPROJECTProject IDPKEmployee IDPKPCTFROMWorks_on
EMPLOYEE PROJECT Project ID int FK PK Employee ID int FK PK M1 M2 M3 M4 PCT int FK PK FROM int FK PK M1 M2 M3 M4 M1 M2 M3 M4 Works_on int FK PK
TASKSKILLTask IDPKTimeSkillPK
TASK SKILL Task ID int FK PK Time int FK PK Skill int FK PK M1 M2 M3 M4