You are on page 1of 8

EUROPEAN UNIVERSITY OF

LEFKE
FACULTY OF ENGINEERING
Computer Engineering Department

COMP368 Software Engineering


Final

Asst.Prof.Dr.Vesile Evrim

2019/2020 Spring Semester

Due (13/6/2020 13:00)


The exam/project has been submitted by myself is solely my own work and
I did not get any aid from other people.

Name: ZOHAIB HASSAN-174423

Name: ZOHAIB HASSAN


Student ID:174423

Maximum Received
Problem 1 22
Problem 2 15
Problem 3 43
Problem 4 20
Total 100
Problem 1: You are requested to design a helicopter for children at age 6-8 years old
which can be controlled by remote controller. The helicopter should be able to turn left,
right and should go straight. The helicopter can also go up and down and can go as far
as 100 meters and as high as 10 meters.

a) Which architectural style best suits to this project? (Choose from the ones we
explained in the class). Explain the reason of your choice ( 8 points)

Event-based architecture is the best architecture which can suit to design this project.
Actually this architecture works according to the events which can be defined in such
a way that “a remarkable or notable change in the state”. In this particular project we
can easily think that if we are making a helicopter which is controlled by a remote
control then there are many events that can happen which are mentioned as helicopter
can go up ,down ,far and high according to the conditions under which it is designed
using remote controller. We can think of an example, let’s say helicopter is turned on
and sent ten meters high and suddenly the child turns is left and then use the remote to
take the helicopter down, so it is easily understandable that change of state is
happening in the helicopter. The process is being done according to the events
happening.

b) Assume that you are adding a new requirement to the system which will notify
the user by a red flashing light on the remote control when the helicopter gets 30
cm close to the other objects. Does this new feature have an effect on your
architectural style decision? Justify your answer with explanation. (6 points)

No, by adding this new requirements of adding red flashlight on remote to the system
will not affect our architectural style. Because at the time of designing this system it
will programmed in such a way that if it detects an object it will notify. For me, i can
think it as an event that is happening when helicopter is in a particular state and an
object comes near to it. As we know that for driving the helicopter child uses remote
control by which events are produced and then they are sent to the helicopter for the
processing, in the same way event happens in the helicopter when object comes near it
sends it back to remote and flashlight is shown to the child.

c) Assume that you are designing the system with the requirement included in
section b, specify one risk specific to this project and apply risk management on
the risk. (note that generic risks such as employee can get sick, time won’t be
enough…. Which can be applied on any project won’t get any points) ( 8 points)

There could be many risks that can occur while designing this project but the risk that
I think could be dangerous for this project is technology risk which can lead to defame
of the organization. It can happen may be due to inexperienced staff or due to
hardware company products which you are going to use build this project .This is a
high risk .We need to monitor all the things while designing the project like testing
hardware in different bad circumstances and also we need to keep an eye on
programing part of it. We need to monitor and check if the code fails if multiple
operations are done simultaneously and if the code and the hardware support each
other in such circumstances. May it could happen that helicopter stop responding to
the remote due to bad hardware or may be as mentioned in the section b of this
question, helicopter cannot detect the object near it and directly goes toward it and
may be it could go and crash with the object, which can cause damage to it. So to
avoid the risk we need to make plans and then monitor every single thing while
designing the project and should test it every possible way before release.
Problem 2: Your client is requested from you to build a remote control for a child with
learning disabilities. The remote control should be simple and should have only few
buttons. Your client could not give you much more information since she is not very sure
how the child will respond to a remote control.

Figure 1 Figure 2

a) Therefore from your design of two remote controls above, which one would you
give to the client? Please elaborate your answer?
Keeping the disabilities of the child in the mind I will prefer the second design of
the remote for the child. Because it is easily visible that the second remote has
symbols on the button which we can easily teach the child to use. For the channel
buttons there are arrows ,volume button has plus and minus signs by which it will be
easily understandable for the child to use the remote for his entertainment purpose.
The other thing that distinguishes between the buttons is the color so it is also quite
easy for the child to use in and off button. For the first button problems can appear
in using because it has same colors and also short forms of the volume and channel
and is written with symbols so it will be difficult for the disable child to understand
and distinguish between them.

b) Which process model do you think the best fits to this project? Explain your
answer briefly with a reason.

The spiral model of development will best for this designing this project. Because in the
spiral model first the objectives are determined same like our project in which we need to
determine these things by ourselves and also risks can be reduced using this model .Then
these go in a way like spiral like objectives are determined , risks reduced, product is
developed then we think of next step. At the end of the day we can finish with best
possible design of remote for the use of child using this model . As we can understand that
requirements are not understood because costumer herself is not really sure about the
requirements so waterfall model can be used it is difficult to make changes later. Same
goes for the evolutionary model because we need to start with understood requirements
and also the design and other things are not proper in that model. Reuse-oriented method
can also not be used because we can use COTS components. In the incremental
development in the early increments the requirements are prioritized.
Problem 3: A Lefke Cooper Mining (LCM) cooperation in Lefke is interested to mine
copper and gold available in the post-volcanic Trodos mountain in the area. The company
will export the part of a mine to other countries for production of weapons and jewelry. In
addition of mining, the company will also clean the artifacts produced by the former mining
company in the Gemikonagi area. On returning of rehabilitation of the artifacts, the company
will be able to use 100 hectare land at the sea side to encourage tourism in Cyprus. As a
software company you are requested to build the software system for LCM Company to
control their processes within the company. The software should keep track of the materials
and their amounts extracted from soil in addition of calculating and deciding on the mining
direction on the site. Again all the data about the mining process such as amounts of copper ,
gold and other minerals, area of mining (location, depth, etc,), the amount of mine sold, etc.,
will be stored in the system and can be used for later statistical analysis. The information to
the system will be provided through several sources. On the mining site the data will be
provided through the sensors which will provide information about the humidity, pressure,
gas amounts, depth, etc. to the system (you can assume that there is a system collecting this
information already). Again the workers on the mining site will enter the mine related
information such as soil amount, amount of copper, gold, and other metals obtained from the
soil, e.t.c. but they won’t be able to see the other information in the system. The manager will
also be able to use the system to do analysis of data. Only manager will able to access all the
data in the system. He will be able to choose different Machine Learning Methods provided
by the system to generate reports and decide on the future plans on the project. To enable
communication, you will need to provide a computer or a screen to the workers so that they
can add data to the system on the site. The data in the system will be shared through the
intranet that will be provided specific to the company. (Note that for the below answers you
are requested to use formal, full sentences for goals and requirements)

a) State 3 organizational goals of this project? (Any answer related to money will not get
any points)(9 points)
Goal identifier: Goal_1
Organization goal: Mining and extracting metals.
Description: The organization wants to mine in the area of post-volcanic Trodos
mountain area and extract gold and copper from it.

Goal identifier: Goal_2


Organization goal: Exporting metals and keep record.
Description: The organization wants to export metals in a professional and organized
way to assure the satisfaction of the client(person/company) and all the
data related to the process should be recorded and saved for later
purposes to avoid any kind of problem that can occur in future.

Goal identifier: Goal_3


Organization goal: Cleaning artifacts and encouraging tourism.
Description: The organization will clear all the artifacts of the company that was
worked before and then use that 100 hectre of land for tourism purpose
on seaside.

b) State 3 project goals of this project? (Any answer related to money will not get any
points) (9 points)
Goal identifier: Pro-goal-1
Project goal: Decide mining direction and collecting data sent by sensors.
Description: This goal of the project is to develop a software that can determine the
direction of the mining on the site and collect and save all the data sent
by sensors related pressure, humidity etc.

Goal identifier: Pro-goal-2


Project goal: Recording info about extracted materials.
Description: This goal of the project is about that the software can be used to store
the amounts of extracted gold, copper and other materials from soil.

Goal identifier: Pro-goal-3


Project goal: Providing interface for staff.
Description: This goal is about providing manger an easy to use interface by which
he can see all the information related amount of extraction, amount of
export, workers and everything happening on the site and he can use that
information for future purposes. This can only be accessible by the
manager .Workers can only see the information related with pressure
,humidity amount of gas in the mining area and can send the extracted
amounts of materials to main system]

c) What are the 4 functional requirements of this project (12 points)

1.The software designed by the company should be able to store all data about the amount of
export of gold and copper so that data can easily be used for later purposes.

2.The software can easily be able to store all the data about the process of cleaning of artifacts
of last company. For example land area, all the data about workers working at the site, amount
of any material used on the process.

3.Software should be able to determine the mining direction as well as data about extraction
of materials and their amounts as well as software should keep track of data sent by other
system about humidity, pressure etc.

4.The software can easily be used by the workers, so they can easily see or send data about
metals and also it should keep record of workers. The software should have another interface
only manager can access by which he can see all the data coming from every source and will
be able to do his work related with running project. For that there should be machine learning
methods for manager.
d) Draw a context diagram for the above project? (8 points)
e) Excluding hardware, from the software point of view, what would be the most
costly requirement parameter in this project? Discuss the reasons of your choice
briefly (5 points)

From the software point of view the most costly parameter is about security and the
developing of machine learning methods that will be used by the manager. As we know
that this system will be developed for the particular company, no one from outside can
access the system. The intranet developed for the company should be kept secure. The
interface developed for the manager should only be accessible by the manager and may be
higher authorities if needed. So it will cost much to higher developers to deal with this
problem that none other than the manager can access to the system because if any other
person like workers ,if they have a access to system they may cause trouble due to lack of
knowledge. The system is going to have information about amount of extraction
,exportation ,money and dealings with clients so any intruder may be try to access the
system by illegal methods that can cause much trouble for the company. So the security
system is important. The machine learning methods development is also costly because
there are multiple things to deal with for which they are developed and the developers will
have to work more on it.

Problem 4 : Assume that you are to design an oven which can heat up to 350 C and can
function in that temperature for 5 hrs. The oven should also have 3 programs (grill, fan
and steady heating) (20pts)

a) Please explain how to apply stress testing for all the necessary cases on the given
system? (6 pts)
Stress testing is a technique in the software testing by which we can check its stability and
capabilities of handling error when it goes under the condition of extreme load. In this
particular system we can apply stress testing by applying heat of 350C and also as we
know it can work for five hours on that temperature so we will run it more than five hours
and will see the stress level and check the for how long it is going to work till failure. We
can also check the recoverability factor as we can see after making the conditions to
normal it is recovering or not or the data related programs are lost are not because
sometimes it happens that data is lost. So we need to be careful about that thing also. We
need to see if after the test all the functions(programs) like steady heating ,grilling ,fan of
the oven are working.
b) Please apply white-box testing on the given system?(5 pts)
White box testing is a technique in the software testing by which we can test the internal
coding ,designing and structure. In this particular system ,one can keep the code in the
front and can test all the coding. It will be done by finding all the paths by making flow-
graphs of every function related with the system. The functionality includes grill, fan,
steady heat and the limitation of working of oven which is 350C for five hours is working
under that condition properly or not. Then their code will be tested separately by checking
the flows and determine that their code and design is working properly. So it will be easy
to understand that which part of code is executed for a particular thing and if there is any
problem then in which part of code there is problem in the logic. This test can only be done
by the developers and designers. This is done much time before when a project is ready.

c) Please apply black-box testing on the given system? (5pts)


Black box testing is the technique in the software testing in which one do not know
about the internal structure or coding of the software. It is called black box because
for the tester it is like a black box in which he cannot see. This is applied before
release of the product by giving inputs and checking the outputs. For this particular
system we can test it by cooking different things at different temperatures. This is
done for every particular functionality of the system like grilling, steady heat and
testing of fan for different temperatures. We have to check that every functionality is
on point by preparing and testing wide range of inputs.

d) What do you think about applying design pattern to this problem and which pattern
would best fit to it?( no more than 2 sentences answer please) ( 4 pts)
I will apply behavioral design patterns system for this particular problem in which i will
prefer to use observer pattern and it will best fit for this project.

You might also like