CMIS 3214 - Assignment (2018-2019)
CMIS 3214 - Assignment (2018-2019)
CMIS 3214 - Assignment (2018-2019)
2. (a) A use case is a typical sequence of actions that an actor performs in order to complete
a given task. List a minimal set of use cases for the following actors in a library system:
Borrower, Checkout Clerk, Librarian, and Accounting System.
(b) Brainstorming is an effective way to gather information from a group of people. Briefly
explain the suggested approach on organizing and running effective brainstorming
session.
(c) Identify different types of feasibility studies. Do you think that conducting a feasibility
study is a must for software development? Justify your answer.
Page 1 of 8
(d) “Software requirement specification should specify both what and how the system
should do”. Do you agree with this statement? Justify your answer.
(e) Review the following short statement of functional requirements of a restaurant advisor
system, pointing out any problems you find.
This system will allow people to choose a restaurant in a city. User enters one or more
of the following criteria, and then the system searches its database for suitable
restaurants: food type, price range, neighborhood, size, service type (fast food,
cafeteria, buffet, full service), smoking arrangements (none allowed, separately
ventilated section, nonseparately - ventilated section, allowed on outdoor patio only).
The user can also specify a desired day and time-period, and the number of people in
their party. The system will tap into the reservation database (of participating
restaurants) and only display restaurants that have available space. After entering the
criteria, the user clicks on ‘search’ and the system displays a list of matching
restaurants. For restaurants that participate in the automated reservation system, the
user can click on ‘reserve’ next to a selection in order to make a reservation.
(f) Ethnographic studies have shown that work is usually richer and more complex than
suggested by simple system models. Explain the applicability of the technique in
software development Paradigm?
3. (a) For each of the following associations, indicate whether it should be an aggregation, or
a composition.
(b) Wayamba University has three categories of employee: Academic staff, Administration
staff and Non-academic staff. The University also has departments and divisions. Each
employee belongs to either a department or a division. Assume that people will never
need to change from one category to another.
Page 2 of 8
Person
name
sex
placeOfBirth
dateOfBirth
placeOfDeath
dateOfDeath
placeOfMarriage child
dateOfMarriage
dateOfDivorce
dateOfBirth
*
parent
(c) Identify the problems in the genealogical class diagram given above and give an
appropriate solution for the major problems.
(d) Design patterns are useful to eliminate the problems of class diagrams. Identify an
application that singleton pattern can be used and draw a suitable diagram.
4. (a) Unified Modeling Language (UML) is a standard language for writing software
blueprints. Name five (05) diagrams in UML.
A client wishes to open a new account at a bank branch. To do so, his instance of class
Client must be created. An instance of Bank Account is then created using the Client
object. A deposit must then immediately follow, to complete the account creation
process.
Page 3 of 8
(c) Draw a communication diagram corresponding to the following sequence diagram.
:Bill
loop
:Purchase :Item
getSubtotal
getUnitPrice
total
total
computeTotal
total
(d) Game of tic-tac-toe, also known as noughts and crosses is a game for player X always
goes first, the initial transition from the start state points to the ‘X Turn’ state. From
then on, the game alternates between ‘X Turn’ and ‘O Turn’ states, until the game ends.
Draw the state diagram for this scenario.
(e) IT professionals say that there are difficulties and risks in modeling interactions and
behavior. Do you agree with this statement? Justify your answer?
5. (a) Explain why testing can only detect the presence of errors, not their absence.
(b) Categorize the following according to whether each describes a failure, a defect or an
error:
Page 4 of 8
(c) Propose a testing strategy for the following situation:
The logical conditions that govern looping and if then-else statements are wrongly
formulated.
(d) Following example illustrates the off by one detect. Write a suitable code in java to
remove the effect.
for (i==1;i<arrayname.length;i++)
{/*do something*/}
(e) Describe a good set of equivalence class tests for the following situations: A personal
information form that asks for family name, first name, date of birth, street address,
city, country, postal code and home telephone number.
6. (a) Explain why a software system that is used in a real-world environment must change
or become progressively less useful.
(b) What are the main software maintenance activities? Why is this distinction useful?
How would you expect the proportion of time spend on each activity to change as the
software ages?
(c) Do software engineers have a professional responsibility to produce code that can be
readily evolved even if this is not explicitly requested by their employer? Discuss.
Page 5 of 8
7. Wayamba University wishes to increase security in its car park. It has been decided to issue
identity cards to all employees who record employee names, departments and identity
numbers.
A vehicle barricade, a card reader, a sign board and a sensor are placed at the entrance of the
car park. The driver inserts the data card into the card reader. The card reader reads the
number in it and if it is valid, it sends a signal to raise the barricade so that the vehicle can
enter into the park. The sensor also sends a signal to lower the barricade when the vehicle
has entered. There is also a mechanism at the exit where a barricade is raised when a car
approaches it to leave the car park. When there are no parking slots available in the car park,
the sign board at the entrance displays “Full” and remains switched off otherwise. Special
visitors’ cards, which record a number and the current date, also permit access to the car
park. Visitors’ cards may be issued in advance or collected from the reception. All visitors’
cards must be returned to the reception when a visitor leaves the car park so that they can be
identified from the list of valid cards.
(a) Draw a UML use case diagram for the university car park system.
(b) Write a step by step use case description for one of the use cases drawn for part (a)
above.
(c) Draw a UML class diagram for the university car park system. The class diagram
should represent all of the classes, their attributes and operations, relationships among
the classes, multiplicity and other model elements that are appropriate.
(d) What is the purpose of the object-oriented analysis in addressing the given situation?
What steps does it consist of? Give one-sentence description for each of the steps.
8. (a) Draw an activity diagram that depicts the making of a cup of tea. The initial three
activities namely “Fill kettle with water”, “Find cup” and “Find tea bag” may be
performed in parallel. When the “Find cup” and “Find tea bag” are completed, the
activity “Place tea bag in cup” can start. The water in the kettle must have been boiled
and the tea bag must be placed in the cup before the activity “Add water to cup” can
begin. If milk is required then activity “Add milk” should be performed.
Page 6 of 8
(b) Describe the basic idea behind the architectural principle based Model/View/Controller
components and give a short description of each of the components.
(c) List all behavioral UML diagrams and briefly describe the purpose of each of them.
(d) Explain the concepts Forward Engineering and Reverse Engineering relating them with
UML.
9. (a) “Software development is more difficult than the other product development”.
Comment on this statement.
(b) Non Functional requirements are often more critical than individual Functional
requirements.” Comment on this statement by giving a suitable example.
(c) Software requirement specification should specify both what the system do and how
the system should do”. Do you agree with this statement? Justify your answer.
(d) Identity different types of feasibility studies. Do you think that conducting a feasibility
study is a must for software development?
10. A student in Wayamba University studying Software Engineering has been asked to write a
paper on ‘UML diagrams’. To perform this, she needs to find sources from a number of
libraries. Immediately, she logs on to the university library system and uses the search facility
to find out whether she can access original documents. She discovers sources in various Sri
Lankan University libraries and downloads copies of some of those.
However, for one document, she needs to have confirmation from her university about her
genuinity for not using it for commercial purposes. The student then uses the facility in
library system that can request such permission and registers her request, if the permission
is granted, the document will be downloaded to the registered library’s server and printed for
her. She receives a message from library system telling her that she will receive an e-mail
notification when the printed document is available for collection.
(a) From the above scenario, identify number of tests that can be applied to the proposed
release of library system.
Page 7 of 8
(b) Find out different approaches that you can take to test case design.
(c) Do you suggest white box testing or black box testing for the following code? Justify
your answer.
If(number>40)
{
System.out.println(“Number is greater than 40”);
If(number>60){
System.out.println(“Number is greater than 60”);
}
Else {
System.out.println(“Number is greater than 40 and lesser than 60”);
}
Else
{
System.out.println(“Number is lesser than 40”);
}
(d) Define the test data and test cases for the above java code section.
Page 8 of 8