Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

G6046

2019

SOFTWARE ENGINEERING

1.  TravelTech Corp has provided you with a text statement of their user requirements for a project. The text statement reads as follows:

“TravelTech Corp are a major supplier of hotel and accommodation booking  services. We wish to develop a replacement for our existing bookings            management system, to enhance the range of search and booking options to support a wide range of desktop and mobile platforms.

Customers can browse the booking system on-line to find hotel and                      accommodation bookings that meets their needs based on location, arrival date,  duration of stay and number of guests. Location can be defined either by broad   geographical area (e.g. Tuscany) or by specific city (e.g. Pisa). It would be useful if customer could select areas by recent popularity. Customers can set upper and lower bound costs on a per night basis expressed in either pounds or euros. A     customer can create an account on the site and save their provisional bookings   for a minimum of 1 month and ideally a maximum of 3 months. If any underlying  prices change prior to confirming the booking, it would be helpful if the system     could notify the customer by email. The account can also then be used to confirm any provisional bookings, when payment is made via a secure payment system.

The system interface must offer all functionality across Mac/PC and Linux          platforms and must work on Explorer, Chrome and Safari browsers. Ideally the  interface would conform to ISO-IEC 40500 for accessibility.  The interface must work on both desktop and mobile devices (phone and tablet). Ideally there could be an Appstore version for both Apple iOS and Android.

The software will be built using Java within a Jakarta EE framework. As this is      business critical software, it must offer a mean time between failure of no less      than one in 10,000 hours, but closer to the one in 20,000 hours would be              preferred. Ideally the system should be 100% reliable as we have an excellent     industry reputation to maintain. The software should ideally incorporate analytics  so that senior management can remotely view how customers are interacting with system. The software should be easy to use, and a strategy needs to be               produced to enable the migration of existing booking data from the existing old     back end system to the new system on an agreed changeover date. The back      end data storage is currently provided by a SQL database system and we have    decided to move to a cloud based storage solution. ”

Working from this statement of user requirements:

a)  State two mandatory functional requirements and two desirable functional requirements.

[8 marks]

b)  State clearly two mandatory non-functional requirements and two desirable non-functional requirements.

[8 marks]

c)  Give an example of a domain requirement and explain what needs to be done with the domain requirement so that it can be acted upon.

[8 marks]

d)  Do you consider it reasonable for TravelTech to specify a 100% reliability      metric for their booking system? You must provide reason(s) and justification for your answer.

[8 marks]

e)  TravelTech have expressed a desire to move to a cloud based storage        solution for their back end data. This desire carries comes with risk. With     reference to this specific example, explain how a risk may be characterised, and suggest appropriate measures that the TravelTech team can adopt to   minimise this risk

[12 marks]

f)   Give an example what is meant by an organisational/people” risk and suggest what steps may be adopted to mitigate against it.

[6 marks]

  

2.

a)  In the context of the Agile development process, explain what is meant by the following terms:

•   Agile manifesto.

•    User stories.

•    Sprint.

•    Pair wise programming.

[10 marks]

b)  A project is to be executed using a planned Waterfall development process. Using the information in the table below, assuming that the project team will work a standard working week (5 working days in 1 week) and that all tasks will start as soon as possible:

Task

Description

Duration

(Working days)

Predecessor(s)

A

Requirements analysis

10

None

B

Initial design

10

A

C

Hire developers

15

A

D

Procure hardware

20

B

E

Coding

40

B, C

F

Code reviews

10

E

G

Hardware testing

5

D

H

Software testing

15

F

I

Hardware and software integration

15

G, H

J

Hire audit Team

10

A

K

Review

10

I, J

i.     Produce a PERT analysis of this project (showing the earliest and latest start and finish times) and determine the critical path of the project.

[10 marks]

ii.      Calculate the planned duration of the project in weeks.

[5 marks] iii.     Identify any non-critical tasks and the float (free slack) on each.

[5 marks]

c)  Explain what is meant by a design pattern”, and how this idea helps us to       produce better software engineering solutions. You should include an example of one design or architectural design pattern in your answer, including an         explanation of where it might be used.

[10 marks]

d)  A key feature of Enterprise scale framework based solutions is the concept of container managed services. The Java Jakarta EE framework provides the    Java Persistence API (JPA) to support Object-Relational Mapping (ORM)       between Java objects and a relational database. Explain what is meant by     “container managed services” in the context of ORM as a means of providing persistent data storage, and explain clearly the advantages of such an           approach over a 3-tier architecture implemented using PHP and SQL.

 

[10 marks]

 

3.  Consider the following informal requirements specification for a computerised ticket sales system:

“LastMinuteTickets is a company that sells last minute ticket bargains for popular arts events. They sell theatre tickets, concert tickets and VIP tickets for museum  viewing events. They want to build a new computer system to manage their ticket sales.

Customers must register to use the new system. To register, customers need to        provide their name, age, telephone number and email address. The company then   needs to verify these details before a customer can make any purchases, to prevent their system from abuse from ticket touts. Once the customer has been verified, they are free to make as many purchases as they like.

Theatre tickets are for a specific show, theatre location (e.g. “London Apollo”), time   and seat number (one letter and two integers). Concert tickets are for a specific        show, and can be allocated seating (also one letter and two integers) or standing.     Some concerts are for over 18s only. Some concert tickets have restricted views due to old venues. VIP tickets for museum viewings have a name of the event, the name of the museum where the event is taking place and a starting time. Some museum    events also have sandwiches and/or drinks available.

Customers can browse LastMinuteTickets range of bargains (you do not need to       know how this is achieved), and then make purchases. Once the purchases are        made, LastMinuteTickets needs to keep a record in case the customer loses any of  the information about the bookings they have made. To help customers in that event, LastMinuteTickets need to be able to recover information about customer purchases using the customer name on their system.”

a)  Draw a use case diagram for this system.

[5 marks]

b)  Identify the main object classes involved in the system, and for each class briefly describe the primary attributes and operations (methods)                 associated with it

[20 marks]

c)  Draw a class diagram showing the relationships between the classes you identified.

[ 10 marks]

d)  Using one of the classes you identified in your previous answers, explain how unit testing can be utilised in Java as the basis of automated testing.

Your answer should include outline Java code to support your explanation. [ 15 marks]