讲解:CSCU9P6、Java、Mathematics、JavaWeb|Database

© Computing Science and MathematicsUniversity of Stirling Page 1 of 11University of StirlingComputing Science and MathematicsCSCU9P6 — Software Engineering IIGroup project Spring 2020For the purpose of this project each of you is required to operate as a member of a team. Thetask of the team is to implement a working system in Java satisfying the object oriented designdescribed later in this document on page 7.Lists of team members and monitoring officers, this description and project materials are onCanvas and the Courses file server K:\CSCU9P6The organization of the work is largely up to each team. However, for each team we willappoint a project monitoring officer, and the team must meet with this officer at one projectmeeting each of two separate weeks. The monitoring officer will attend for up to half an hour(the group meeting might well continue for longer), and we appreciate that once theimplementation gets properly under way, shorter meetings may be appropriate with theagreement of the monitoring officer. Attendance at these meetings is compulsory, andnon-attendance may result in No Mark being awarded for the course. You should give yourmonitoring officer a brief, informal, progress report at the start of each meeting. Their normalrole will be to observe silently, in the background — they are not there to solve designproblems for you. If you wish to ask your monitoring officer for clarification of the problem,then they may need to consult “higher authorities” for the expansion of details in therequirements — a response will be provided as soon as possible, and, if appropriate, will bedisseminated publicly for the attention of all teams.Sommerville’s and Pressman’s texts on software engineering provide guidance on organizingteamwork. We recommend that each team appoints one of its members as project manager,but this is up to you, and that you plan your work schedule using a Gantt chart. We alsorecommend that, wherever possible, you think about and define very clearly the interfaces ofeach Java class (the public operations offered) and work as individuals on separate classes (orgroups of classes).Each group has been allocated a communal, shared folder on a Computing Science file server. Ifyour group number is nn ( 01, 02, etc) then your shared folder is in \\wsv\Groups\P6\nn.Each member of the group has full access to all files created there; you might like to create asubfolder per group member as a place to keep work but which is also accessible to othermembers of the group if necessary (e.g. in case of illness).Each group has also been allocated a Subversion repository on our server:svn://svn.cs.stir.ac.uk/p6-nn where we recommend that you manage your centralversions of your project files. Each member of the group can checkout a copy of the project intotheir own file space, or into personal sub-directories of the shared directory, regularlycommitting any changes that they make, and synchronizing to fetch updates committed by othermembers of the group.Note: The best way for Eclipse/Together to access a project in the shared folder, is to Map aNetwork Drive letter to the shared folder .Remember: You should never have the same project folder open with Togetheror Eclipse on more than one computer simultaneously, and there should be noneed for this! [But several copies separately checked out from Subversion by differentprogrammers is fine!]© Computing Science and MathematicsUniversity of Stirling Page 2 of 11I recommend that you use the Together project only for reference to the documentation, andthat for development you use the Java already extracted from the Together project, and work inEclipse (or an equivalent IDE) for the Java development, with the the most up to date projectfiles held in the Subversion repository. Please note that the versions of Together and Eclipse inthe labs are not compatible with each other, and you should not open one’s projects with theother!While you are working, it will be important to synchronize your work with the repository on aregular basis, and in particular at the start and end of each session of work.The Library has a collection of bookable meeting rooms — see http://stir.ac.uk/1wzFurther, you can now book free teaching rooms through the ResourceBooker athttps://resourcebooker.stir.ac.uk/ : log in with your Portal username andpassword, choose Book a Teaching Room, and then look at Cottrell Central. Also, remember theUniversity’s Empty space = study space policy: If you find a teaching room or computing lablying empty, you are welcome to make use of it.Assessment arrangementsEach group will make a joint software development submission, and a single agreedstatement of individual contributions. Each student will submit an individual report.Group software development submissionEach group will produce the following assessable output:1. The final Java files, emailed as one Zip file to sbj@cs.stir.ac.uk namedGroup-nn-Java.zip2. You are not required to make any substantial alterations to the design/architecture ofthe system. However, if you do, then you should submit a brief but clear description ofthe alterations and the rationale for them, with relevant parts of the new class diagram.3. Hard-copy documentation of the JUnit testing that you would carry out to demonstratethe correctness of an implementation of the GateInfoDatabase class — forsimplicity assume that the classes that it depends on are themselves all correct and somay be used in the testing. The documentation must include the full code of the JUnittests, and a description of the rationale for the test cases chosen (well writtencomments in the JUnit test code would be fine). You should also provide print-outs ofthe results of applying the unit testing.Of course, you should not restrict your own testing to just these cases! In thedemonstration later on, all use cases will be exercised.4. A demonstration by the group of the working system.Each group should hand in to the labelled box outside 4B89, or directly to Dr Jones, onehard-copy of items 2 and 3 described above, on or before 17.00 on 27 March 2020. The coverof the document should clearly identify the number of the group, but should not give thenames of the members.The demonstrations will be arranged in due course.Statement of individual contributionsThis section is subject to change, pending the outcome of the Doodle poll.When assessing group projects, care is taken to ensure that the marks awarded fairly reflectindividual contribution and effort. The marks awarded for this assignment will take into account © Computing Science and MathematicsUniversity of Stirling Page 3 of 11the individual reports, the individual contributions and effort as well as the group results. Theindividual contributions will be used to give each student an adjusted mark based on the groupsoftware development submission mark.The group must submit one printed copy of the table provided attached to this document(page 4), completed to show the relative contribution of each team member: Please distribute100 points between the group members according to what the group agrees their contributionto have been. Please double check that the sum of the row is 100.Note that each member of the group must sign the form to indicate that it has beendiscussed and agreed.The group must attach to the form a brief statement listing the contributions of eachmember. For this purpose the group will need to keep a record of who does what.The statement of individual contributions should be posted into the assignment box by thesame deadline as the group submission, 17.00 on 27 March 2020.Individual reportIn addition, each individual group member must submit a short report (maximum two sides ofA4) discussing the management of the project:• Describing how their group organized its collaborative work, with reference to the projectmanagement topics studied in CSCU9P5,• assessing how effectively the group worked towards achieving its goals,• and discussing, with hindsight, whether and how the collaborative work organizationcould have been different to give a better outcome or, if you think that no improvementwas possible, then why the particular organization was so effective.Note: This short reflective report will be assessed on the quality of the analysis, discussion, andwriting, rather than than on whether an “approved” and effective organization was adopted.The individual report must be submitted via Turnitin on Canvas by the same deadline as thegroup submission, 17.00 on 27 March 20209. The report should have a title page giving themodule code, the title of the assignment “Group project individual report, your groupnumber and student number, but not your name. Pay attention to the layout and clarity ofyour work.Independent work as regards the individual reportWork which is submitted for assessment must be your own work. All students should notethat the University has a formal policy on plagiarism which can be found athttp://stir.ac.uk/1x0© Computing Science and MathematicsUniversity of Stirling Page 4 of 11Late submissionThe standard University procedures dealing with non-submission and with late submissionapply. Assessed coursework submitted late will be accepted up to seven days after thesubmission date (or expiry of any agreed extension) but the mark will be lowered by threemarks per day or part thereof. After seven days the piece of work will be deemed anon-submission, and will result in the award of No Mark. This rule may be relaxed for studentswho can show good cause for failure to submit. Good cause may include illness (for which amedical certificate or other evidence will be required).Assignment assessmentAlthough this is a group project, you will be given an individual mark for this assignment basedupon the following 3 factors:1. The Group Submission2. The Individual Contributions Form3. The Individual ReportThis assignment is worth 35% of the overall mark for CSCU9P6.The Group Submission mark adjusted according to the Individual Contributions will account for80% of your mark.The Individual Report provides the remaining 20% of your mark.© Computing Science and MathematicsUniversity of Stirling Page 5 of 11Group number:CSCU9P6 Group project Spring 2020Individual ContributionsPlease quantify the contribution that each member of your team has given to the groupwork. Write the names of the members of the group in the first row below. Then, distribute100 points between them, according to what the group agrees the contribution of eachmember was to the development of the project.For instance, in a four person group, if all the members have contributed equally, then eachmember will receive 25.Ensure that1. the group number is include in the box above,2. the names and contributions of your group members are given in the table below,3. each member signs the form where indicated,4. a brief statement of the contributions of each member is attached.ContributionMember 1 Member 2 Member 3 Member 4 Member 5NameDistribute 100pointsSignatures1.2.3.4.5.© Computing Science and MathematicsUniversity of Stirling Page 6 of 11(This page deliberately left blank)© Computing Science and MathematicsUniversity of Stirling Page 7 of 11SAAMS project specificationIntroductionIn this assignment you will be implementing an information system for the management ofaircraft during their arrival, unloading, loading and departure from Stirling Airport: the StirlingAirport Aircraft Management System, SAAMS. Note that SAAMS is a support system for thepeople associated with the airport and aircraft: it provides information for the staff, passengersand non-travelling public about the status of aircraft, and regulates the progress of the aircraftthrough the various stages of its visit. SAAMS does not directly control the aircraft, nor anyphysical systems — though it does have a minimal interface with each visiting aircraft’son-board computer for the automatic transfer of flight details. SAAMS’ principal interfaces withthe real world are through screens, most of which are touch sensitive or are equipped with amouse and keyboard: airport staff view information, receive instructions, and enter statusupdates and other information via the screens. All “real actions” are carried out by “realpeople”; in particular, all actions “required of an aircraft”, such as taxiing to a certain passengergate to unload passengers, are notified to the aircraft’s crew by airport staff via radio.Fortunately, Stirling Airport has a perfect, but simple existence: there is no freight nor baggageto worry about, aircraft never break down seriously (and never while taxiing/landing/takingoff), there is no in-flight catering, there are no “transit” passengers, passengers “check in” onlyat the departure gate (like a bus), all aircraft arrive with a pre-planned and immutable onwardflight plan, the airport never closes, and SAAMS never crashes and is not started and stopped(and so does not have to preserve its state between runs) — and there are probably all mannerof other gross simplifications, but never mind.The system is to be implemented on a computer system with the various interface devicesdistributed around the airport, and connected via special purpose networking. Of course, this isjust an exercise, so the devices will be “only a simulatioCSCU9P6作业代写、Java程序语言作业调试、代写Mathematics课程作业、代做Java语言作业 代写Web开n” and all the interface devices willappear as separate windows on a single PC screen — but this is actually very close to a realimplementation where the separate windows actually appear on separate PCs (or maybesimpler devices) distributed around the airport.You will be provided with a Together design model at an intermediate/late stage in the designprocess: use cases, a class diagram, a large state diagram encoding the “life line” of eachaircraft as it visits the airport (that is, the states that instances of the ManagementRecordclass held by SAAMS pass through), a small state diagram encoding the lifecycle of eachpassenger gate, and some sequence diagrams.• The Together model can be found in K:\CSCU9P6\GroupProject\SAAMS. You shouldcopy this folder to your group working folder. Remove the Read-only attributes.To make use of this model, you should launch Together, switch to the Modelling perspectiveand use File menu / Import. In the Import dialogue box choose “Existing projects intoworkspace” and then Next. Click Browse to Select root directory, and browse to locate yourcopied SAAMS folder. Then click Finish. This folder also contains the outline Java codegenerated by Together, plus a skeleton Main class in Main.java.It is probably best if individuals take private copies for initial exploration of the projectcontents.• More information/suggestions are given in the SAAMSREADME.txt file — read it.© Computing Science and MathematicsUniversity of Stirling Page 8 of 11• Remember to survey the Descriptions in the Properties Pane when you click on use cases,classes, methods, attributes... A lot of information/design decisions are described there. Agood way to view the Descriptions is to select the Description line in the Properties paneand then click on the ... that appears in the selected line — a separate window with thedescription will pop up.• You need to decide on an architectural framework for the application. MVC was in thedesigner’s mind, so that is recommended — look carefully at the stereotype annotations onthe classes (e.g.> on the class diagram).[Caveat: It is sometimes more trouble than it’s worth splitting boundary classes intoseparate controller and view classes — this is the case when part of the “view” is used forthe input of a “control” action, such as when the user can choose from a list of displayeditems. However, the MVC scheme can still be followed. You will see that the boundaryclasses have the stereotype > to hint at this!]• You will need to check on, and refine, the implementations that Together has implementedfor the associations.• You may need to introduce new classes — but not necessarily. You may decide to splitsome classes up/merge classes. However, probably no significant changes to the classstructure will be required, and none are expected.• Other refinements of the object model will certainly be necessary: in particular newattributes and methods.• Whatever changes you make, make sure that they are rational revisions of the structurethat you have been given, and not arbitrary replacements of large chunks of design.• Various resources are available to help with the low level design and implementation:o On-line documentation of the Java class libraries, eg at URLhttps://docs.oracle.com/javase/8/docs/api/o The MVC example (from practicals) in K:\CSCU9P6\Practicalso A demonstration of how a Java Swing JList of selectable items could be used toimplement an interactive graphical user interface inK:\CSCU9P6\Using-JList-example (“select an item from a displayed list,then click a button to take an action”)• The actual user interfaces do not need to be beautiful, nor too clever — just lists, buttonsand text fields/areas, will be fine.• You should not use threads or concurrency.The “life line” of visiting aircraftThe key to understanding what SAAMS is all about is an understanding of how an individualaircraft’s visit to Stirling Airport is managed. Of course, SAAMS must be able to handle anumber of aircraft at once, and not just one! Here is the story of an aircraft A’s visit, to be readin conjunction with the ManagementRecord (abbrev. MR) state diagram and Gate statediagram: © Computing Science and MathematicsUniversity of Stirling Page 9 of 111. A enters Stirling Airport’s local airspace, is noticed by the radar/transceiver system, hasits flight descriptor downloaded from the on-board computer into SAAMS automatically(a free MR is configured), and is assigned either the state “in transit” (if it doesn’t wantto land at Stirling), or “wanting to land”. A then appears on the Local Air TrafficController’s (LATC’s) screen, with its status shown, and also on the Ground OperationsController’s (GOC’s) screen if it wants to land. [Note: In this exercise the radar and flightdescriptor download (and, later on, upload) will have to be a screen interface throughwhich we can enter events and data, although in the real system they would beautomatic devices, albeit with equivalent interfaces to SAAMS.]2. If A is simply in transit, then at some later point the radar notifies that it has lost contactwith A, and A’s MR is cleared, that is becomes free again (in a future extension perhapsit could be archived, but that is not required here).3. The GOC starts the permission to land sequence by verifying the availability of space onthe ground (from other information displayed on the GOC screen, a glance out thewindow, etc). Once this is done A’s status is changed to “ground clearance granted”.This is seen by the LATC on the LATC screen, and when the LATC decides that theair-space is clear and that A is clear to approach and land, the LATC radios this to thepilot and changes A’s status to “landing”, and later to “landed” when A is safely on theground (a binocular check out of the window?). A may disappear from the LATC screenat this point (because it is no longer in or needing airspace), but remains on the GOCscreen until it has finally departed again.4. A must wait on the tarmac for notification by the GOC (by radio) of which gate to taxito. The gate must have been “free”, and becomes “reserved” for A by the GOC. A enters“taxiing” status, and should appear on a console display at the gate. [Note: NONE ofthese decisions is taken by SAAMS — it simply provides information to the humanoperators, who make decisions and enter changes.]5. When A arrives at the gate, the gate staff press a button to indicate that it has“docked”, and A’s status changes to “unloading” (and the gate becomes “occupied”).When all the passengers have disembarked, gate staff press a button to indicate thatunloading is complete, and A’s status changes to “clean and maintain” (for cleaning anda routine maintenance check — no bird damage to the engines, tyres OK, etc).6. At this point, A will appear on the Cleaning Supervisor’s screen, and the MaintenanceInspector’s screen, requesting them to send teams. When the cleaning andmaintenance checks are finished, the Cleaning Supervisor and the MaintenanceInspector update A’s status via their screens. Cleaning is always successful, but themaintenance check may reveal faults. If so, the aircraft must await repairs and is thenre-cleaned (in case the repairs made a mess) and re-checked (just to be sure). A varietyof states capture this process, the principal ones being “awaiting repair” (whosesuccessor is “clean and maintain” again) and “ready for refuelling” (which is onlysensible once A has a clean bill of health). While A is “awaiting repair”, its MR willcontain a (short) text description of the problem — this is entered by the MaintenanceSupervisor when indicating that the maintenance check failed.7. When A enters enters the “ready for refuelling” state it appears on the RefuellingSupervisor’s screen requesting a fuel tanker to be sent to the gate. The fuel tankeroperator informs the Refuelling Supervisor when refuelling is complete and theRefuelling Supervisor updates A’s status. A enters the state “ready for passengerboarding”, which is displayed on the gate console.© Computing Science and MathematicsUniversity of Stirling Page 10 of 118. A then accepts passengers on board while it is not full: each passenger enters details (atleast name), which are recorded in A’s MR. When boarding is complete, or the gate staffdecide that no more passengers are presenting themselves, the gate staff “close theflight” by pressing a button on the gate console. The passenger list is uploaded from A’sMR to A’s on-board computer by the radar/transceiver system, and A becomes “readyto depart”.9. Since A is now “ready to depart” it now appears once again on the LATC screenrequesting a departure air slot. When the LATC is able to allocate a slot (determinedfrom national air traffic control information, not dealt with by SAAMS), the LATCupdates A’s status to “waiting to taxi”, and A’s presence on the GOC screen indicatesthat it is requesting permission to taxi across the tarmac.10. When there is space on the tarmac for taxiing, the GOC grants taxiing permission, A’sstatus is updated to “waiting for permission to take off” (during which it taxis to therunway). Take-off permission is granted by the LATC once the local airspace is clear, andA’s status changes to “departing through local airspace”. The radar eventually detectsthat A has left the local airspace and A’s MR is cleared, that is becomes free again (in afuture extension perhaps it could be archived, but that is not required here).About the interfacesThe “life line” description above gives a lot of information about the information displayed on,and about the interactions via, each interface screen.SAAMS has the following seven “real” interfaces:• The LATC screen shows all aircraft “in transit” through local airspace, “wanting to land”,“ground clearance granted”, “landing”, “ready to depart”, “waiting to taxi”, “waiting forpermission to take off”, and “departing through local airspace”. The LATC can only alter thestatus of aircraft with “ground clearance granted”, “landing”, “ready to depart” and“waiting for permission to take off” — these aircraft should be selectable on the screen,with the means to action the relevant changes of status. In the other states, the aircraft arevisible on the screen for information and for continuity while the LATC has any concernabout them, and it should not be possible for the LATC to change their status. A suitabledisplay will be one or more textual lists (see the ListInterface demo), with buttonsfor actions. Dynamic switching of views is not necessary — and probably not appropriatefor a high pressure activity like ATC. The LATC screen should also have an area where theflight details (flight code, origin, destination, number of passengers, etc) can be displayedon request (select an aircraft, and click a button). (Again, see the List interface demo.)• The GOC screen is similar in principle to the LATC screen (details can be deduced from the“life line”). In addition the GOC will need to see the status of each passenger gate in theairport.• The Cleaning Supervisor’s, Maintenance Inspector’s, and Refuelling Supervisor’s screens areall rather similar: they show aircraft currently needing the appropriate attention (with gatelocation), and allow indication of completion of the relevant activity. The maintenancescreen is fractionally more complex as aircraft may also be “awaiting repair”, and a textualdescription of the required repair must be entered as an aircraft enters this state.• The gate consoles have a simple display for information about the approaching or dockedaircraft and any relevant flight details (flight code, destination, number of passengers, etc),with control buttons for various status changes (see the “life line”). © Computing Science and MathematicsUniversity of Stirling Page 11 of 11• There may be many information screens in public areas of the airport. They accept no input(although they may be scrollable text), and simply display brief status information about(some of) the aircraft currently managed by SAAMS (e.g. they might not show aircraft whilebeing cleaned or repaired, and they might not distinguish between all states: for example“wanting to land”, “ground clearance granted”, and “landing” could be abstracted into“landing”).In the demonstrated system it will be sufficient to provide one LATC screen, one GOC screen,one Cleaning Supervisor’s screen, one Maintenance Inspector’s screen, one RefuellingSupervisor’s screen, three gate consoles, and two public information screens (although itshould be easy, in principle, to have more of any of these if required).In addition to these “real” interfaces, there is one simulated device required: theradar/transceiver. This can be implemented as a screen with:1. The means to provide flight descriptor information for an arriving aircraft, with a buttonto click for the state transition “enters local airspace and downloads flight descriptor”(step 1. of the lifeline), which causes the data to be sent to the aircraft managementdatabase,2. the means to display an uploaded passenger list, and3. a list of selectable aircraft currently either “in transit” or “departing throughlocalairspace” with another button for the state transition “leaves local airspace” (inpractice the radar would track all relevant aircraft automatically and report theirdeparture via a “virtual click”!).Good luck!Simon Jones 18/02/2020转自:http://www.6daixie.com/contents/9/4972.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • By clicking to agree to this Schedule 2, which is hereby ...
    qaz0622阅读 5,429评论 0 2
  • 感赏儿子开心快乐的又度过了一周的学习生活。 感赏儿子每天能坚持去上学,早上能主动起床,叠好被子。 感赏儿子今天一天...
    携手启航阅读 1,594评论 1 3
  • 天冷了,严寒的冬天,厨房的炊具是冰的,水也是冰的,日常在家里做饭就显得有些碍手碍脚,在外面吃餐馆或是点外卖也总是不...
    付强_阅读 6,711评论 15 85
  • “我家留了个好大的西瓜。”小洁双手在空中围成一个大圆:有这么大。她像是抱着它那样在孩子们面前比划。 “改天去你家玩...
    昆悠阅读 847评论 0 3

友情链接更多精彩内容