You are on page 1of 3

Margaret Lee

3/27/14

Assignment 4

1: How is an ERD different from a class diagram?

The difference between ERDs and Class Diagrams is that class diagrams show the static
structure of object classes, their internal structure, and relationships. It shows the basic structure
and the relationships of one class to another for the system. ERDs represent the data
requirements for a database and show the relationship sets of its entities.

2: If a software design is not a program (and it isn’t), then what is it?

Software design is characterized as the principles/criteria for efficient, high quality system
software. Mitch Kapor states that a good software design should exhibit firmness, commodity,
and delight. Each system is measured by the design guidelines, concepts, and principles that
characterize a high quality design.

3: Why not have a large module that does many things?

Having a large module that does multiple actions would have too much complexity and can
potentially cause a number of errors. A large, single module would become too difficult for a
software engineer to understand because of the number of control paths, variables, and other
factors. Breaking up the design into multiple modules would make things easier to understand as
it would separate concerns.

4: How are the concepts of coupling and software portability related? Provide examples to
support your discussion.

Coupling pertains to the degree to which a module is connected to other modules in a system
while software portability refers to the usability of the same software in different environments.
They are related because a system needs to be independent. Coupling needs to remain low, while
software portability is high because the ability of a system to perform depends on its
sustainability and effectiveness.
An example would be a stud finder. This is a handheld device that has a built in sensory system
that is used to detect studs in different wall surfaces. The stud finder has low coupling because it
is connected to a low number of modules and the same technology can work in multiple
environments.

5: In a paragraph, explain the purpose of software architecture and how it relates to


design.

The purpose of software architecture is to define the structure of a system by providing integrity
to the design. It relates to design because the structural properties define what makes the system
and how the system will perform. Design exhibits architecture because it holds the
guidelines/principles for designing the structure and providing integrity to a system.

6: Operating systems are frequently designed using a layered architecture. Research the
Linux operating system on the Internet, and explain how it utilizes a layered architecture.
What are the benefits of such architecture?

Linux uses a layered architecture for their interface by the following:


-The Kernel is located at the core and is the mediator between the OS and hardware
-The Kernel is then surrounded by the CLI and GUI. These parts run user applications
-And each user has their own specific ID that belong to a certain group

The advantage of using a layered architecture is that it increases flexibility, maintainability, it


enables a team to work on different components and test each on separately, and applications can
reuse the components.
Insulin Pump

Diabetes is a disease where the human body is unable to manufacture insulin to


metabolize sugar. Diabetics have the option to wear insulin pumps to regulate their blood sugar
in order to avoid long term and short term complications. This device measures the users’ current
blood sugar level and injects the required amount of insulin to regulate their blood sugar levels
back to normal. It is programmed to deliver insulin on a 24 hour basis and should be checked at
least four times a day. Most healthcare providers prefer the insulin pump over insulin injections
because it is portable and delivers insulin at a slower constant rate. This pump comprises of a
small device that the user wears on their pants or inside their pockets. A thin tube is then
connected to the small device on one end, and the other end is inserted into the abdomen. This
tube then delivers the insulin injection into the blood stream.

In order for the pump to be successful, a number of steps need to be performed. The first
step involves the user/diabetic pricking their finger and introducing their blood to the blood sugar
senor. Once blood comes in contact with the sensor, the machine reads the blood, using its stored
memory data. The stored memory contains a library of blood parameters, so that the insulin
pump is able to find any blood readings outside of the normal blood ranges. The insulin pump
then analyzes the amount of sugar in the blood stream. With an additional stored memory
database of normal sugar ranges, the insulin pump is able to read any abnormal blood sugar
levels. After the following, the pump calculates the amount of insulin needed in order to fulfill
the insulin requirement. The amount of insulin needed varies among each individual. The data is
then sent to the insulin delivery controller, which prompts the pump control commands. Once the
data is successfully accepted, orders are given to the insulin pump to pump the correct amount of
insulin into the user/diabetic. The user must make sure that the pump is not disconnected at any
time the pump is delivering insulin. If disconnected, the process will not automatically resume
and the user will need to redo the entire process.

The advantages to using insulin pumps is that it increases the user’s lifestyle flexibility.
Users can freely do more of what they want and can consume foods in a more liberal manner.
This is possible due to the automated insulin calculations and injections that insulin pumps are
able to perform. By monitoring the insulin requirements, it simulates the pancreas and is able to
keep blood sugar levels at a normal rate.

You might also like