讲解COMP3297、辅导Java/python设计、讲解Software Engineering、辅导CS/c++编程
- 首页 >> Python编程COMP3297 Introduction to Software Engineering
Department of Computer Science
The University of Hong Kong
The AS-P Project: Construction 1 Task Sheet
Construction Overview
In Elaboration you dealt with risks associated with uncertainties concerning your use of Django and
your understanding of requirements and scope. You achieved this by implementing thin vertical
prototypes using the Django framework. You now have an executable in place that provides part of the
functionality required in AS-P.
The Construction Phase of the Unified Process takes a project through to its Initial Operational
Capability (IOC) milestone and beta release. IOC represents the point at which developers consider the
product to be operational and ready for deployment and real-world testing in the client’s environment.
Since the major risks have been mitigated in Elaboration, the remaining work for Construction is
straightforward. For a typical project, however, there is a lot of low-risk work here and Construction is
usually the longest of the UP phases.
A full Construction Phase for a project adds all remaining functionality and exception handling, fully
implementing all use-case extensions. This is fairly routine work and, for the purposes of COMP3297,
handling, say, every possible exception won’t offer much new experience. We’ll focus, therefore, on
adding the major remaining features of AS-P and introduce some new development tools and
techniques.
We’ll take the opportunity to change process frameworks to expose you to another popular approach to
development. The UP we’ve used so far is use-case driven and that approach served us well in
Elaboration – writing use cases helped clear up many groups’ misunderstandings and provided a good
basis for design and implementation. Now we will switch to a more agile style of development based on
the Scrum framework. Please note that switching process framework in the middle of a project is not
something we do in real-world development; we are doing it in COMP3297 just to give you experience
of agile techniques. Since we’ll still retain the basic UP concept of Construction, we’ll actually be
using a Scrum/UP hybrid framework similar to that shown in Lecture 3.
For Construction, we also require you to use a version-control system (VCS) with a remote repository
to coordinate work on your implementation. If you aren’t using a system such as git yet, then you must
begin using one in this phase. The role of VCS systems will be covered in class during Construction 1.
Use a free hosting service such as Github (free for students) or Bitbucket (free for teams of 5) to host
your remote repo.
You will complete Construction in two iterations (known as Sprints in Scrum).
Description: Construction 1
In the first Sprint of Construction you will implement any remaining success scenarios for the two use
cases you worked on in Elaboration.
You will also add features to support all or part of:
registration and authentication
warehouse order processing
delivery notification
With reference to stakeholder needs, your Construction 1 executable will add:
Registration and Authentication
You will likely find Django’s authentication framework useful here. This is not a constraint,
however, and you are free to use or develop alternative solutions if you wish.
(for Users) Receive a token (or similar) by email to their HA account (but see related note in
Section f of the Description) enabling them to register as a user of AS-P, but only in a
particular role (for example, as a Clinic Manager).
(for Users) Use the token to register, specifying:
o a username and password for subsequent authentication;
o first name and last name.
(for Users) Have their HA email address (the address to which the token was sent) added to
their registration by default.
(for Users) After registration, be able to log in and access AS-P features available for their
role.
(for Clinic Managers) On registration, specify the clinic they manage.
Warehouse Order Processing:
(for Warehouse Personnel) View the priority queue of orders that have been placed by Clinic
Managers but for which processing (that is, pick and pack) has not yet begun.
(for Warehouse Personnel) Remove the order from the top of the queue to pick and pack its
items. Order status to be updated to Processing by Warehouse and the queue updated;
(for Warehouse Personnel) View details of the order removed for picking and packing;
(for Warehouse Personnel) Obtain a shipping label for the order in the form of a PDF file for
printing;
(for Warehouse Personnel) Notify the system when processing of an order is complete. The
order to be added to the dispatch queue. Order status to be updated to Queued for Dispatch .
Delivery Notification:
(for Clinic Managers) After receiving delivery of an order, notify the system. Order status to
be updated to Delivered.
(for Health Authority) ...[retain] date/time at which the order was delivered.
Construction 1 Deliverables [As previously, do not list your names or student IDs anywhere in your
documents apart from the summary of individual contributions. Use your
group name throughout]:
1) Sprint Backlog
List the user stories and description of any other work items for Construction 1. Outline their
decomposition into tasks. There is no need to track burndown in Construction 1.
2) Analysis models
Refine and extend your Domain Model if necessary.
3) Design models
Refine and extend the Design Class Diagram that documents your Django model classes.
4) Implementation
Extend the previous increment (that is, your Elaboration executable) by implementing the new
parts of your design for this iteration. Your executable should provide the functionality in the
Description above.
5) Updated Artefacts
If you need to update or extend earlier documents, make your revisions and submit new
versions of them.
6) Individual Contribution
Again summarize teamwork and responsibilities for Construction 1, indicating the relative
contribution of each team member to the work performed in this iteration. Use a five-point
integer scale of 0 (no contribution at all) to 4 (excellent contribution) to indicate the
contribution made by each member.
Handin Method: Please upload to Moodle a zipped file containing new and modified documents and
diagrams as described above, with two sets of hard copies delivered manually to
Assignment Box 12. Each individual document in the zipped file should be in the
form of a separate PDF file.
Deadline: Softcopy and Hardcopy: November 17 (Saturday), 23:55. (One day added to original
schedule to allow for Info Day)