(This is the old data prior to the compilation of the Detailed Project Requirements into one document)
|
Project Requirements - Revision Control
|
|
|
| Section |
Currently being Edited by
|
Link to plain text
|
| INTRODUCTION |
| 1.1 Purpose / Objectives / Goals / Aim (Software to operate Robot) |
Complete
|
|
| 1.2 Scope (System Boundary) |
Complete
|
|
| 1.3 Glossary |
Complete
|
|
| 1.4 Overview (Document Overview) |
Complete
|
|
| REQUIREMENTS DEFINITION |
| 2.1 Product Perspective (What the user expects/is getting) |
Complete
|
|
| 2.2.1 Scenario, Actors, Objects ("Abott's" Techniques?) |
Complete
|
|
| 2.2.2 & 2.2.3 Use case models & use cases |
Complete
|
|
| 2.2.4 Comprehensive list of system abilities |
Complete
|
|
| 2.3 Product Environment (Operating System, Bluetooth , GUI) |
Complete
|
|
| 2.4 Product Assumptions (Requirements that can be put off) |
Complete
|
|
| REQUIREMENTS SPECIFICATION |
| 3.1.1System Functionality - Technical Overview |
Complete
|
|
| 3.1.2System Functionality - Sequence Chart |
Complete
|
|
| 3.2 Source of Inputs |
Complete
|
|
| 3.3 Destination of Outputs |
Complete
|
|
| 3.4 Value Ranges |
Complete
|
|
| 3.5 Communication Protocol (3.5.1 Data Protocol & 3.5.2 Data Format) |
Complete
|
|
| 3.6 Timing Constraints |
Complete
|
|
| 3.7 Technical Assumptions |
Complete
|
|
Note: "WIP" = Work in Progress
Updates:
Good, good... I'll bring the binder. For the activity log, we had two meetings: the January 31st meeting (1.5 hours), and the February 1st meeting (3.5 hours). See you in class.
bpeake
Hi all. That just happened. Yup it's compiled :) feel free to check it out and edit it directly (just post an updated link.)
I will be printing it off hopefully around 1 o'clock tomorrow. Black and white this time I think, since we don't have a gannt chart schedule that is unreadable without color. Tomorrow I will be updating the table of contents/activity chart and hopefully I little bit of the project plan (so we can say we are listening to his advise.)
Just finished reading all the documents you guys written, very impressive. Specially thx BP & DS for made my part more smooth and fluent. You guys rocks.
~ Yuan Huang ( Vincent )
DSharpe
Yeah, I'm worried about the functionality section too. It still says WIP (work in progress), so maybe Kwabena's still up and working on it, but there's some stuff there that just has to go. We don't have a camera or light sensors.
bpeake
I can put the document together. I am finished with the system abilities section so I should be putting it together in a little bit. I am changing the product environment around just a little... I added a "Design constrain" bullet and I'm writing a small section on process constraints.
Do you think I should post plain text versions of the section I have completed as well? Perhaps because it makes it easier for other to edit if they want anything updated... Although lots of my stuff is in tables that won't copy and paste too easy. Let me know what you think.
I am still a little worried about the functionality section, but with your (DSharpe) sequence chart I should be able to remove text that is "irrelavant". The chart looks sexy! :)
I hope everyone's doing well and almost done. Brett, are you putting the document together, or would you like me to do it this time?
Either way, everyone, please be sure to mark your sections "Complete" as you complete them, and don't forget to include a link to the plaintext!
p.s. Give me a call if you need anything: 380-4348. Call whenever (but maybe not after 1AM).
bpeake
- Dave. I think the range looks good. I wasn't too sure what else we could put in there, so I like what you came up with. One small thing, I think we will only cue up 30 commands as that limit was given to us in the requirements he specified. As for the other sections I think we could include some of the response time issues in the timing constraint section. I'm assuming they might be redundent if we add them there, because I think they are non-functional requirements... but it couldn't hurt to have stuff like:
o a connection will be established within 10s of the robot being turned on
o feed back from the robot will be visible within 1s
o although I don't think we should include "robot will respond to station within 0.5s because that is a robot requirement
- For product assumptions I have mostly been thinking of functional assumptions, or in other words, ways our station software will behave that aren't stipulated in the requirements document he gave us. So far this includes:
o While a motion plan is being executed by the robot, no other motion plan can be viewed or edited.
o The station software will be responsible for ensuring that motion plans have unique ID. <-- kind of a silly one, perhaps it could be put in the technical assumptions instead...
o Operator will not be able to update a movement command if it will start executing in the next 1.0s <-- this could go in technical as well...
o A trigger motion plan will use up one of the 5 motion plan slots available
o If a command is made to change the real-time execution of a motion plan, the RCR system will no longer gaurentee it's results with to be within the 5% error allowance.
o The station software will automatically connect to a turned on robot only if: it is not already connected to another robot and the mac address on that robot has been set to the station software's or the station software previous connection was to that robot.
o The robot's 5% error allowance will only hard on hard surfaces (not carpet)
o A motion plan is required to have atleast one movement command.
Those are what I am currently thinking for assumptions. I love the VB one for a technical assumption. Feel free to critique or claim some of them for the technical section, or if there is any more you can think of let me know.
- Also after giving the system functionality a closer look, it may neen to be edited a little. There is some talk about using a mounted camera with image processing, which I think is out of the scope for this project... Also there might be more techinical details we can add. I will keep working away on the comprehensive list of system abilities so I can get them posted and checked over by anyone interested.
David S
Vincent asked me for some help with section 3.7, as in what to include.
Our section 2.4 covers "Product Assumptions." I haven't seen what Brett has put in there yet, but according to page 195 of the text, "Requirements Definition 6," we list environment assumptions there: i.e. what environment conditions would cause our system to fail, and what environment conditions would cause us to change our requirements. Like I said though, I don't know what Brett is writing, I just got that from the text.
So what should be in section 3.7 then? Maybe what in our system itself might cause the system to fail, or what in our approach might cause us to change our requirements, from a technical point of view? We are, after all, assuming that Visual Basic is going to allow us to quickly and easily build a GUI for our system. That's a technical assumption, right? And of Visual Basic turned out to not be useful in developing a GUI quickly and easily, we might change our requirements, right?
My reasoning behind this for putting this in "Technical Assumptions" is that in "Product Assumptions" we might talk about environment assumptions, so it would make sense that "Technical Assumptions" would talk about internal (system) assumptions. Even if that's not the case, and Brett is writing something completely different for "Product Assumptions," the Visual Basic idea might be a good idea for a "Technical Assumption."
Thoughts?
Dave F
- Wrote up Value Ranges, not too sure if there is any more details to throw in there.. In the slides he says value ranges apply only to inputs/outputs so I assume that means the range of values we may be working with. I laid out the ranges for user input (aka max size of movement plans for movement plan array, max number of movement plans) and also for bluetooth output (aka max message length, byte command options etc). Also put a little section at the top for the actual range of bluetooth, since that in a way does determine the ACTUAL range of inputs/outputs haha
- Also wrote up Glossary, put in stuff from my docs and am starting to look over others for particular terms I think can be clarified. If you see any you could add just edit the page.
- I also set my other areas to 'Open', I just edit the page I created in the wiki so if you guys can think of anything to add to them just edit the page. If you wanna let me know your thoughts I can run with that too just post here.
bpeake
- Just updated the table so we can see what everyone is working on. Once you are finished a section change it to complete. If you finish working on a section but would like someone else to update it further, just change it back to open again (and make sure there is a link to the plain text).
- In the near future I will start moving area's designated as "completed" into the final formatted document. When I do so I will put an asterisk beside the plain text link so everyone can see that the text has been moved. If you realise further updates should be made just remove the asterisk from beside the link and I will copy the section over again.
- Dave: For the "Value of Ranges" section, like everything else, what is expected is pretty vague. Any ranges you can think of for the input and outputs might be a good start. This section could include the range we allow the robot to move from the station (probably a couple feet shy of the blue tooth range)... I'll post more if I think of any
Dave F
I am working on Timing Constraints, Source of wants, Destination of outputs
I also need some more clarification on the value of ranges, can't really remember what that was all about
- I changed a few things with the document layout (added an assumptions to the requirements definition part, removed the system architecture bullet, Moved use cases up into the requirements definition) feel free to start attacking this thing (bpeake)
- Add text to the “Actors and Scenario” and "Product Perspective" section and inserted a few terms into the glossary (bpeake)
- Added David's introduction sections to the formated version of the paper (I added one additional line to the end of the scope). I also added an early draft of a Use Case Model and defined 2 of the 5 use cases. It is an early attempt so it is still up in the air. Edits and suggestions are welcome. Your parts looks good David, let me know when you have completed the environment section and I will add it to the document (bpeake)
Nice work Brett, as usual.
Here's the document we were working on: feb-01-meeting.doc
~David Sharpe
Don't worry, nothing's happening on this yet. Just thought I would post a link to a "cleaned up" version of the project requirements. I only changed the formatting so there is no new information, but feel free to grab a copy if you find it easier to read.
- Requirements (Formatted)
-- Brett
I'm typing up my notes, real quick, just for some more documentation.
Models:
- structural (ER diagrams, class diagrams)
- dynamic (shows behavior and interactions between entities)
We identify classes and cases through "use case" diagrams. We develop "use case" diagrams after scenarios, and we develop scenarios after finding actors.
Actors are external entities acting upon the system. They are abstractions of roles.
Some questions to think about when developing scenarios:
- what are the primary system tasks?
- what data will the actor interact with?
- what external changes does the system need to know about?
- what events does the actor need to know about?
To develop "use case" diagrams:
- Name the use case
- Find the actors
- Concentrate on the event flow
From "use case" diagrams you can develop class diagrams. To do this, you can use both the "use case diagrams" and the original scenarios. From the scenarios, nouns can be good candidates for classes, and verbs for operations.
Summary:
- Formulate scenarios
- Extract use cases
- Analyze flow of events
- Generate class diagrams
Robert suggests we identify different types of objects in our meetings: entities, control objects, and interface/boundary objects.
Dynamic Modeling involves sequence charts and state charts. Sequence charts model interactions between objects. State charts model the dynamic behavior of a single object. Both types of charts are typically developed from "use cases" and scenarios.
Relevant resources:
- Relevant parts of Chapter 4: Capturing the Requirements.
- Robert's slides that talk about requirements (lots of good ideas).
- The project requirements (Brett's formatting).
~David Sharpe
Comments (1)
David Sharpe said
at 12:18 am on Feb 10, 2008
I went through and deleted the pages that were created for "Link to plain text." It seems we don't need them anymore, now that they're in the final document. Memory recovery? Garbage clean-up? Well, they're gone.
You don't have permission to comment on this page.