From: <an...@al...> - 2005-06-16 20:08:09
|
Hello everyone, It's been a long time without any activity at all, but hopefully things will start to progress slowly from now on. What I think we should do is to: 1: Write a questionnaire to find out whether the initial concept using two clients talking to each other and providing a backlog of entries is a good idea or not and what we could learn from already existing blogging software. Andrea and I have started a list of questions we want in the questionnaire; Andrea, could you please send them to this list? 2: Use the results from the questionnaire together with persona descriptions (a persona is an imaginary user; Andrea and I have already described four personas -- see attached document) and the diagram to write user stories. A user story is a short story describing how a persona might use the software to perform one or a specific set of tasks. The goal is to find out how the workflow should be, or how it shouldn't be. It will also give us an opportunity to think a bit about the requirements (which data do we need where, which parts of the software have to communicate with each other). 3: Write use cases (that's basically a fancy word for "list of things you can do with the software") and requirement specifications based on the user stories. At the end of this step, we should have a prototype GUI which we can test with users. I will try to describe requirement specifications a bit more later in this email, for those of you who are unfamiliar with requirement specifications. 4: In this step we finalize the GUI, and come up with the architecture of the system (for example, which components does the software have, and how are they connected to each other). We also decide on how to store data, and the communication protocol between the mobile client and the desktop client, and how both of them talk to the blog. 5: Make a class diagram. 6: Implement. This might seem like a lot of paperwork, but it will provide contents for those of us who want to publish papers, while also making sure that everyone involved has a clear view of what is going on. Since we are all spread out a bit, and collaborating over the Internet, it will make cooperation much easier if we all know who's doing what, and how it is being done ;) In our requirement specification the most important things we want to have are prioritizing features and the hardware requirements (do we only supporting blue phones with the latest version of java, or do we try to be a bit more generic, and if so, what does the different platforms have to have?) . However, we also want some more descriptions of the project in order to make the requirement specification easier to read by not referring to emails or other documents. It is also very probable that we will have to update this document a few times until we are actually implementing the software. If you want to know more, look at http://www.techwr-l.com/techwhirl/ magazine/writing/softwarerequirementspecs.html, or this template at http://www2.ics.hawaii.edu/~johnson/413/lectures/5.2.html (ignore section 8, 10, 11). If you have any questions, or if anything feel confusing, please bug me ;) Cheers, Andreas |