source: trunk/doc/historical/specifications/webclient/srs.xml

Last change on this file was 4889, checked in by Nicklas Nordborg, 14 years ago

References #1290: Change source files to UTF-8

Changed 'Hakkinen' to 'Häkkinen'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 11.6 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1"?>
2<!DOCTYPE srs SYSTEM "srs.dtd">
3
4<!--
5  $Id: srs.xml 4889 2009-04-06 12:52:39Z nicklas $
6
7  Copyright (C) 2005 Gregory Vincic
8  Copyright (C) 2006 Jari Häkkinen, Gregory Vincic
9
10  This file is part of BASE - BioArray Software Environment.
11  Available at http://base.thep.lu.se/
12
13  BASE is free software; you can redistribute it and/or
14  modify it under the terms of the GNU General Public License
15  as published by the Free Software Foundation; either version 3
16  of the License, or (at your option) any later version.
17
18  BASE is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
20  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  GNU General Public License for more details.
22
23  You should have received a copy of the GNU General Public License
24  along with BASE. If not, see <http://www.gnu.org/licenses/>.
25
26        This specification can be generated by the tools from
27        xmlbasedsrs.tigris.org
28  Checkout the latest source and follow the INSTALL instructions.
29-->
30
31<srs>
32  <title>Web Client</title>
33  <mission>
34    <background>
35     <p>BASE 2 needs an interface. A webclient will be part of the distribution
36      giving most people easy access to BASE 2.</p>
37    </background>
38    <goals>
39      <p>        <ol>
40          <li>Deliver a working webclient for the BASE 2 project no later than
41    12:th of December.</li>
42        </ol>
43      </p>
44    </goals>
45    <scope>
46      <p>This client aims at revealing functionality currently available in the
47  BASE 2 core API and if possible a general GUI for plugins.</p>
48    </scope>
49  </mission>
50
51  <nfrs>
52    <dl>
53      <dt>Design</dt>
54      <dd></dd>
55    </dl>
56  </nfrs>
57
58  <useCaseTree>
59    <dl>
60    </dl>
61    <actor id="A1">
62      <name>User</name>
63    </actor>
64
65 
66
67    <useCase id="U1" actors="A1">
68      <title>Typical work session</title>
69      <action>
70  <description>Logs in</description>
71  <reaction>
72    <description>Lates news are shown.
73    </description>
74    <action>
75      <description>My BASE</description>
76      <action>
77        <description>Home</description>
78      </action>
79      <action>
80        <description>Messages</description>
81      </action>
82      <action>
83        <description>Files</description>
84      </action>
85      <action>
86        <description>Projects</description>
87        <action>
88    <description>Manage</description>
89        </action>
90        <action>
91    <description>List of projects</description>
92        </action>
93      </action>
94      <action>
95        <description>Contact information</description>
96      </action>
97      <action>
98        <description>Change password</description>
99      </action>
100      <action>
101        <description>Other information</description>
102      </action>
103      <action>
104        <description>Preferences</description>
105      </action>
106      <action>
107        <description>Reload permissions</description>
108      </action>
109      <action>
110        <description>Logout</description>
111      </action>
112    </action>
113    <action>
114      <description>Biomaterials</description>
115      <action>
116        <description>Biosources</description>
117      </action>
118      <action>
119        <description>Samples</description>
120      </action>
121      <action>
122        <description>Extracts</description>
123      </action>
124      <action>
125        <description>Labeled extracts</description>
126      </action>
127      <action>
128        <description>Labels</description>
129      </action>
130    </action>
131    <action>
132      <description>Array LIMS</description>
133      <action>
134        <description>Plate geometries</description>
135      </action>
136      <action>
137        <description>Plate types</description>
138      </action>
139      <action>
140        <description>Plate mappings</description>
141      </action>
142      <action>
143        <description>Plates</description>       
144      </action>
145    </action>
146    <action>
147      <description>Administrate</description>
148      <action>
149        <description>Users</description>
150      </action>
151      <action>
152        <description>Groups</description>
153      </action>
154      <action>
155        <description>Roles</description>
156      </action>
157      <action>
158        <description>Plugins</description>
159        <action>
160    <description>Definitions</description>
161        </action>
162        <action>
163    <description>Configurations</description>
164        </action>
165      </action>
166      <action>
167        <description>Quota</description>
168      </action>
169      <action>
170        <description>Software</description>
171      </action>
172      <action>
173        <description>Hardware</description>
174      </action>
175      <action>
176        <description>Protocols</description>
177      </action>
178      <action>
179        <description>Clients</description>
180      </action>
181      <action>
182        <description>News</description>
183      </action>
184      <action>
185        <description>Types</description>
186        <action>
187    <description>Quota</description>
188        </action>
189        <action>
190    <description>Protocol</description>
191        </action>
192        <action>
193    <description>File</description>
194        </action>
195        <action>
196    <description>MIME</description>
197        </action>
198        <action>
199    <description>Software</description>
200        </action>
201        <action>
202    <description>Hardware</description>
203        </action>
204        <action>
205    <description>Annotation</description>
206        </action>
207      </action>
208      <action>
209        <description>Server settings</description>
210      </action>
211    </action>
212    <action>
213      <description>Help</description>
214    </action>
215  </reaction>
216      </action>
217    </useCase>
218
219    <useCase id="U2" actors="A1">
220      <title>Working with Plates</title>
221      <requirement id="R1" status="Val">
222  <description>User has to be logged in.</description>
223      </requirement>
224      <action>
225  <description>Click on Array LIMS&#187;Plates in the menu</description>
226  <reaction>
227    <description>A list of existing plates is shown.</description>
228    <requirement id="R2" status="Rev">
229      <description>Common action buttons shall be visible whenever a list
230        of common items is displayed.<br/>
231        <img src="../img/screenshots/common_item_toolbar.jpg"></img>
232      </description>
233    </requirement>
234    <requirement id="R3" status="Rev">
235      <description>Standard filter fields shall be visible whenever a
236        list of items is shown to the user. <br/>
237        <img src="../img/screenshots/find_and_filter_toolbar.jpg"/>
238      </description>
239      <requirement id="R4" status="Rev">
240        <description>Find options shall reflect any visible columns in
241    the items list.</description>
242      </requirement>
243    </requirement>
244    <requirement id="R5" status="Rev">
245      <description>In addition to the common item find options
246        <ul>
247    <li>Barcode</li>
248    <li>Destroyed</li>
249    <li>Plate Type</li>
250        </ul>
251        shall be available.
252      </description>
253    </requirement>
254    <action>
255      <description>Create new plate</description>
256      <reaction>
257        <description>A popup shows the entry form</description>
258        <useCaseRef useCaseId="U4"/>
259      </reaction>
260    </action>
261    <action>
262      <description>Delete one or more plates</description>
263      <requirement id="R7" status="Rev">
264        <description>At least one item has to be selected in the list
265    before one can execute this action.
266    </description>
267      </requirement>
268      <reaction>
269        <description>A popup window is shown, asking the user to confirm the
270    removal.</description>
271        <action>
272    <description>Click the Ok button</description>
273        </action>
274        <action>
275    <description>Click the Cancel button</description>
276        </action>
277      </reaction>
278    </action>
279    <action>
280      <description>Restore one or more deleted plates</description>
281      <reqRef ids="R7" />
282      <reaction>
283        <description>The selected plates are restored and the list view updated</description>
284      </reaction>
285      <reaction>
286        <description>A popup window is shown telling the user that one or
287        more plates need to be selected first.</description>
288      </reaction>
289    </action>
290    <action>
291      <description>Share one or more plates with other
292        users</description>
293      <reqRef ids="R7" />
294      <useCaseRef useCaseId="U3"/>
295     
296      <reaction>
297        <description>A popup window is shown telling the user that one or
298        more plates need to be selected first.</description>
299      </reaction>
300    </action>
301    <action>
302      <description>Set visible columns</description>
303    </action>
304  </reaction>
305      </action>
306
307    </useCase>
308
309
310    <useCase id="U3" actors="A1">
311      <title>Fill out access permission form
312      </title>
313      <description>
314  <img src="../img/screenshots/popups/access_permissions.jpg"/>
315      </description>
316      <reqRef ids="R1" />
317      <requirement id="R8" status="Rev">
318  <description>The user must have "Set Permission" privileges for an item
319    to be able to change permissions.</description>
320      </requirement>
321     
322      <action>
323  <description>Add users</description>
324  <reaction>
325    <description>A popup is presented to the user with a list of
326      users.<br/>
327    <img src="../img/screenshots/popups/user_search.jpg"/></description>
328    <action>
329      <description>Select one or more users</description>
330      <useCaseRef useCaseId="U5"/>
331    </action>
332  </reaction>
333      </action>
334      <action>
335  <description>Add groups</description>
336  <reaction>
337    <description>A popup is presented to the user with a list of
338      groups. <br/>
339    <img src="../img/screenshots/popups/group_search.jpg"/></description>
340    <action>
341      <description>Select one or more groups.</description>
342      <useCaseRef useCaseId="U5"/>
343    </action>
344  </reaction>
345      </action>
346      <action>
347  <description>Add projects</description>
348  <reaction>
349    <description>A popup is presented to the user with a list of
350      projects. <br/>
351    <img src="../img/screenshots/popups/project_search.jpg"/></description>
352  </reaction>
353      </action>
354    </useCase>
355
356    <useCase id="U4" actors="A1">
357      <title>Fill out plate form</title>
358     
359      <requirement id="R6" status="Rev">
360  <description>The entry form for plates shall contain
361    <ul>
362      <li>Name(String)</li>
363      <li>Description(Text)</li>
364      <li>Barcode(String)</li>
365      <li>Plate Mapping(Optional Selectable)</li>
366      <li>Plate Type(Selectable)</li>
367      <li>Destroyed(Checkbox)</li>
368    </ul>
369  </description>
370      </requirement>
371     
372      <action>
373  <description>Fill out required fields</description>
374  <action>
375    <description>If Plate Mapping is selected a popup window showns
376      a list of plates.</description>
377    <action>
378      <description>Select a number of plates matching the plate
379      mapping.</description>
380      <useCaseRef useCaseId="U5"/>
381    </action>
382  </action>
383      </action>
384    </useCase>
385
386    <useCase id="U5" actors="A1">
387      <title>Confirm popup</title>
388      <description>Many popup windows have an Ok or Save and Cancel button which
389  result in a similar workflow described here.</description>
390      <action>
391  <description>Click the Ok or Save button</description>
392  <reaction>
393    <description>Alert box
394      pops up indicating which field is missing.</description>
395    <requirement id="R10" status="Rev">
396      <description>An alert box is shown when one or more required fields are empty.</description>
397    </requirement>
398    <action>
399      <description>Click the Ok button</description>
400      <action>
401        <description>Fill out missing fields and try again</description>
402      </action>
403    </action>
404  </reaction>
405  <reaction>
406    <description>A success message is shown and the popup window closed after
407      a few seconds.</description>
408    <requirement id="R11" status="Rev">
409      <description>When saving data in an entry form all form fields must
410        pass validation before a success message is shown.</description>
411    </requirement>
412  </reaction>
413      </action>
414      <action>
415  <description>Click the Cancel button</description>
416  <reaction>
417    <description>Popup window is closed without any messages</description>
418  </reaction>
419      </action>
420    </useCase>
421  </useCaseTree>
422</srs>
423
Note: See TracBrowser for help on using the repository browser.