Assignment 1 Software Engineering 3
ASSIGNMENT COVER SHEET
Course: BSc Computing Year: 3 Software Engineering 3
Assignment No: 1 Title: The Design and Development of Client-Driven
Software Solution Using a Rapid Application
Development/Agile Hybrid Development Methodology
Date due: 28th January 2024 (23:59:59 pm)
Student Name: Tutor: Ramesh Parajuli
(
[email protected])
Student ID:
Student comments, specific request for feedback etc. Marker’s General View of the work
ASSESSMENT FEEDBACK:
RATING SCALE Excellent Good Satisfactory Needs some Needs much
(A- - A+) (B- - B+) (C- - C+) more work more work
(D- - D+) (F+ - G)
Problem Domain
Elicitation
(15%)
(Including Problem Domain
Workshop Plans, Findings and
Facilitation)
Requirement
Specification Formulation
(15%)
(Including Requirements
Elicitation Workshop Plans
Findings, Facilitation and Final
Specification Documentation)
Facilitation Observation
and Critical Review
(10%)
Prototype System Design
(Including Design
Documentation)
(10%)
Prototype
(30%)
(Including Prototype
Functionality, Quality of
Application Code and
Implementation Development
Plan)
Testing/Evaluation
Strategy
(10%)
Client Presentation
(10%)
Specific aspects of your assignment that the Specific aspects of your assignment that need more
marker likes: work:
Tutor’s Signature: Date: Grade:
Page 1 Ramesh Parajuli
Assignment 1 Software Engineering 3
The Design and Development of Client Driven Software Solution Using a Rapid Application
Development/Agile Methodology
Background
Fotheby’s is an international auction house specialising in the sale of fine art. In the
current buoyant art market Fotheby’s wishes to computerise its inventory to provide a
fast and effective search mechanism for its many clients.
Fotheby’s currently employ a clerical inventory system for all auction-related records.
They also produce a printed catalogue of items for sale at each auction, which is
distributed to its clients in advance of the sale or on the day of the auction. This catalogue
is the company’s primary method for advertising what items will be presented at each
auction, but many clients have complained that as the distribution is limited
(approximately 5000 copies of the catalogue are produced for each auction) moving to a
web-based auction catalogue would significantly increase interest in the items being sold
and implicitly allow for the achievement of higher final sale prices.
In the current system, all auction items are currently classified into five categories; these
are paintings, drawings, photographic images, sculptures and carvings. These are the only
categories of art that the auction house currently sells on behalf of its customer base.
Again, this is seen as a significant limitation by some of the current and potential
company clients.
All items, irrespective of category, have the following essential details recorded: -
An item lot number (A unique 8 digit number, allocated serially to all items)
The name of the artist.
The year the work was produced.
A general subject classification for the piece. (Typical subject classifications include:-
landscape, seascape, portrait, figure, still life, nude, animal, abstract, or other)
A detailed textual description of the piece.
The auction date (when known)
An estimated price
Additional information is then included, specific to each item category: -
a) Drawings
The drawing medium. (Typically, pencil, ink, charcoal or other)
Whether the item is framed or not.
The dimensions of the piece in cm. (Height and Length)
Page 2 Ramesh Parajuli
Assignment 1 Software Engineering 3
b) Paintings
The medium used. (Typically, oil, acrylic, watercolour or other)
Whether the item is framed or not.
The dimensions of the piece in cm. (Height and Length)
c) Photographic Images
The type of image (Black and White or Colour)
The dimensions of the piece in cm. (Height and Length)
d) Sculptures
The material used (Typically, Bronze, Marble, Pewter or other)
The dimensions of the piece in cm. (Height, Length, Width)
The approximate weight of the piece in Kg.
e) Carvings
The material used: (Typically, Oak, Beach, Pine, Willow or other)
The dimensions of the piece in cm. (Height, Length, Width)
The approximate weight of the piece in Kg.
As a key member of a software engineering design team, you have been asked to design
and implement a prototype auction and catalogue system for Fotheby’s to demonstrate
the potential of any such computerised system.
It has been decided that the prototype catalogue will be implemented using an
Agile/Rapid Application Development (RAD) hybrid approach using client workshops
and suitable short software development blocks (contemporarily known as "sprints").
This implementation strategy will facilitate high levels of client input into the project and
allow for working components of the software to be developed rapidly.
The system requirements for the prototype system are listed in the following section.
System Requirement
The prototype auction catalogue system must include the following minimum
functionality.
Adding auction and auction lot details to the database.
Modifying existing auctions and lot details present in the database.
Deleting/archiving auctions and auction lot details in the database.
Displaying auctions and individual lot details for items within the database.
Allowing simple search criteria to be used to interrogate the database to yield
appropriately matching results.
Page 3 Ramesh Parajuli
Assignment 1 Software Engineering 3
The system will require a suitable graphical user interface and should conform to
established ‘good’ design principles.
Time permitting, the manager of Fotheby’s has indicated that he would like to see one or
more additional features included in the prototype system. He has provided a table listing
some of the more complex functionality required:-
Table 1 - Additional Complex System Features/Functionality
Additional Features/Complex Functionality
Allowing complex search criteria to be used to interrogate the database including;
finding items by, Artist, Category, Price, Auction Date, Subject Classification or any
combination of these, to find appropriate pieces for specific clients.
Expanding the system to include client record details.
(Details of both buyers and sellers)
Expanding the prototype to include a client commission bidding facility.
(Allowing clients to place advance bids before the day of the auction.)
Include a graphical representation of lot items within the database.
Incorporate appropriate financial elements into the system to allow Fotheby’s to record
the sale price of each item and calculate commission.
Extend the client records system to show all sales and pending sales (as a buyer or
seller) for a given customer.
Incorporate suitable security/access control features into the prototype software
solution.
Generate automated and ad-hoc reports of critical business events.
Potentially having online client areas to display essential information for existing
clients (both buyers and sellers).
The background information and system specifications provided in the assignment
brief have purposely been left quite vague; as such, you will be required to conduct
several client workshops with key stakeholders in order to ascertain a full
understanding of the problem domain and the required system functionality.
Three key stakeholders will be available for you to work with: -
Page 4 Ramesh Parajuli
Assignment 1 Software Engineering 3
a) Mr. Max Fotheby: Owner of the company and writer of the basic client
specification. Mr Fotheby is also an expert on existing company procedures,
practice and administration documentation.
b) Mr. Mark Jones: A existing, well-established buyer/seller client of Fotheby’s
c) Mr. Paul Smith: A existing customer who has slowly been moving his business
to Fotheby’s competitors in an attempt to maximise the sale price achieved at
auction.
These three clients will be available at all workshops.
Your tutor will supply you with the times and location of the user group elicitation
workshops. See Appendix 2 for an approximate student implementation timeline.
Student Activities - Phase 1 - Workshops
(Ensure you refer to the previous notes on RAD, workshops, facilitation and understand
the principles of Agile approaches to software development).
Individually read through the system specification and background information and
identify any proposed system problem domain and specification ambiguities that must
be clarified with the system clients.
Individually investigate any other problem domain relevant areas (e.g. comparable
systems, legal requirements, etc.) before the proposed workshops.
Individually prepare a plan for the first problem domain investigation workshop
(Workshop 1). Your plan should include: -
a) An overall rationale for the workshop, outlining what the aim(s) and objectives are
for the event.
b) An agenda for the workshop (including timings and techniques (e.g. tools you plan
to use during the workshop.))
c) A participant engagement rules statement (e.g. what rules all participants must
comply with during the workshop).
NOTE: Your tutor will mark off/check your individual plans before you start
any group work. This will ensure that you have actually done the work
individually before combining your ideas as a group.
As a Group (in your tutor allocated groups), pool your individually prepared problem
domain plans and develop a single plan that will be utilised for the actual
investigatory workshop (Workshop 1). Again your final plan should include:-
a) An overall rationale for the workshop, outlining what the aim(s) and objectives are
for the event.
Page 5 Ramesh Parajuli
Assignment 1 Software Engineering 3
b) An agenda for the workshop (including timings and techniques (e.g. tools you plan
to use during the workshop.)
c) A participant engagement rules statement (e.g. what rules all participants must
comply with during the workshop).
Both versions of the plans produced should be included in the documentation
submitted.
As a Group, conduct the workshop in conjunction with your group plan. Record all
the workshop findings/comes for use within your project. Ensure all findings are
recorded in your report documentation.
Individually prepare a plan for the second problem resolution and requirements
specification workshop (Workshop 2). Your plan should include:-
a) An overall rationale for the workshop, outlining what the aim(s) and objectives are
for the event.
b) An agenda for the workshop (including timings and techniques (e.g. tools you plan
to use during the workshop.)
c) A participant engagement rules statement (e.g. what rules all participants must
comply with during the workshop - this may or not be identical to the first participant
workshop rules set).
As a Group (in your tutor allocated groups), pool your individually prepared problem
resolution and requirements specification plans and develop a single plan that will be
utilised for the actual investigatory workshop (Workshop 2). Again your final plan
should include:-
a) An overall rationale for the workshop outlining what the aim(s) and objectives are
for the event.
b) An agenda for the workshop (including timings and techniques (e.g. tools you plan
to use during the workshop.)
c) A participant engagement rules statement (e.g. what rules all participants must
comply with during the workshop).
Both versions of the plans produced should be included in the documentation
submitted.
As a Group, conduct the workshop in conjunction with your group plan. Record all
the workshop findings/comes for use within your project. Ensure all findings are
recorded in your report documentation.
Individually, you will be asked to observe another group’s workshops and general
facilitation practice. As part of this process, you will need to record your
observations on the overall quality of the workshop interaction, which will include:-
Page 6 Ramesh Parajuli
Assignment 1 Software Engineering 3
a) The suitability/appropriate nature of the agenda and processes (tools) used during
the workshop.
b) The strengths and weaknesses of the facilitators during the workshops.
c) The strengths and weaknesses of the workshop processes utilised.
d) A record of specific examples of good and bad practice during the workshop.
e) Suggested improvements that could be used to enhance the workshop and/or
facilitation approaches used.
NOTE: You should record your reflection/critique on the workshops you
observed in your submitted report
Ensure that you obtain all the relevant information required to enable you to provide a
full description of the problem domain and produce a comprehensive requirements
specification for the proposed system. Ensure you record any client disagreements
you resolved within your report.
Student Activities - Phase 2 - Prototype Development
ALL activities post the workshops should be carried out individually.
Based on your understanding of the problem domain and the formulated system
specifications, create a suitable plan for the development of the prototype software in
suitable increments:-
Software increments for proposed development block. (Typically as a % of the total system)
Listed features/functions, development periods (blocks) and priority order.
Using a combination of any suitable analysis and design techniques you have learned
during your course, design the software for the first block of your proposed prototype
system (as outlined in your plan above)
Using a combination of any appropriate programming language, database technology
or relevant case-tool, build the software for the first block of your proposed prototype
system (as outlined in your plan above)
NOTE: Unlike previous assignments, the reuse or deployment of software
components you have built during your time at the University of Northampton in
other modules or components available via the internet is encouraged. You must
simply reference the sources of code that you have used within your references. In an
Agile industry development, you would NOT code everything from scratch, rather,
you modify existing resources to enable an expedited solution.
Propose a suitable testing and evaluation strategy for your section of prototype build.
Page 7 Ramesh Parajuli
Assignment 1 Software Engineering 3
Once complete, demonstrate your prototype system to the client and show how the
prototype meets their originally identified needs.
Documentation Required.
The following documentation should be submitted, as a suitably formatted report:-
1. Introduction
1.1 Project Background
1.2 Project Aims and Objectives
2 Requirements Engineering
2.1 Elicitation Activities
2.1.1 Individual Workshop 1 Plan (Problem Domain Understanding)
2.1.1.1 Rationale
2.1.1.2 Agenda/Tool Selection
2.1.1.3 Participant Engagement Commitment
2.1.2 Group Workshop 1 Plan (Problem Domain Understanding)
2.1.2.1 Rationale
2.1.2.2 Agenda/Tool Selection
2.1.2.3 Participant Engagement Commitment
2.1.3 Workshop 1 Findings (Problem Domain Understanding)
2.1.4 Individual Workshop 2 Plan (Problem Resolution and Specification Formulation)
2.1.4.1 Rationale
2.1.4.2 Agenda/Tool Selection
2.1.4.3 Participant Engagement Commitment
2.1.5 Group Workshop 2 Plan (Problem Resolution and Specification Formulation)
2.1.5.1 Rationale
2.1.5.2 Agenda/Tool Selection
2.1.5.3 Participant Engagement Commitment
2.1.6 Workshop 2 Findings (Problem Resolution and Specification Formulation)
2.1.7 Workshop Observation Critical Review
2.1.8 Other Problem Domain research
2.1.8.1 Comparable Software System Review
2.1.8.2 Development Relevant Legislation
2.2 Requirements Specification
2.2.1 Problem Domain Description
2.2.1.1 Existing Business Operation
2.2.1.2 Summary of Existing Business Limitations
2.2.2 Functional Requirements
2.2.3 Proposed Prototype Development Blocks/Priority of Development
3 System Analysis & Design (Software Development Block/Sprint 1)
-- subsections as required.
4 System Build and Technical Notes (Software Development Block/Sprint 1)
-- subsections as required.
5 System Testing & Evaluation Strategy (Software Development Block/Sprint 1)
-- subsections as required.
6 Conclusion
Page 8 Ramesh Parajuli
Assignment 1 Software Engineering 3
Page 9 Ramesh Parajuli