OU blog

Personal Blogs

Sebastian Tyrrell

Veni vidi wiki

Visible to anyone in the world
Edited by Sebastian Tyrrell, Thursday, 24 Jan 2013, 15:07

 

It is not at all unusual for the wiki deadlines to slip for some people, and as it is often difficult to fit course work in to busy lives I try to make allowances. However, marks are awarded based on contributions towards the overall goal, and clearly late contributions are of lower overall benefit.

If you are achieving your deadlines but others are not we try to make sure that you do not in principle suffer. In the worst case you could even make up your own comments, and then update your requirements appropriately. I say "in principle" because the entire purpose of the exercise is to strengthen the requirements through peer review, with someone else looking at your requirements with a different perspective and so helping you to improve them. Clearly it is not as easy to do this yourself - if you need to, think in terms of a persona: take one of the roles and try to address your requirements from that perspective.

If you are delayed or have been unable to contribute so far, please do your colleagues the courtesy of leaving a note on the wiki to explain your reasons and suggest when you may be able to complete your part

If anyone feels their wiki at this stage has no more than two active members, please contact me

Hope this help and good luck

 

Permalink Add your comment
Share post
Sebastian Tyrrell

A belated welcome to M883 2012k

Visible to anyone in the world

Welcome

Many thanks for your patience and understanding over the last few weeks as well as the many kind emails I received: they are all very much appreciated.

So: welcome to the OU module M883 - Software Requirements for Business Systems.

Your first port of call for materials and general information should always be the module website: if you look at the "Resources" section (right hand sidebar) you will see links to module resources, including electronic versions of the study guides, the TMA scripts and supporting papers and the wikis for the collaborative exercise.

The module is based around the set book, "Mastering the Requirements' Process" (2nd edition) by Suzanne Robertson and James Robertson, with additional information, guidelines and self-assessment materials provided in the associated study guides. You should by now have received all your materials, if there are any problems please contact me.

Assessment is through three Tutor Marked Assignments, or TMAs, and an exam in April. Due dates for the TMAs can be found on the study calendar on the course website – as most of you have realised, the first is only a week away!

I will generally keep in touch with the group by email, though you are welcome to phone me at any time. This blog will be used for course related posts, while my own blog (http://needsmust.wordpress.com) is more generally related to requirements' engineering, often derived from questions I receive by email. I would encourage you to subscribe to both for the duration of the module at least. I will aim for about one a week, though not immediately after the TMA due dates. There are two reasons for this: one I will be busy marking, and two if there are late TMAs still to come I don’t want to give those people an unfair advantage!

If you haven't already, I would encourage you to have a look at the website, which also includes links to a number of additional papers that form an integral part of the course materials as well as background reading, copies of the course software and pdf versions of the study guides and the assessment materials (the TMA questions and guide, specimen exam paper and solutions) There is also a link to the course conference where you can exchange experiences with other students and to the course wiki.

This is a feature that you may not have come across in other courses and which you will be expected to use for collaborative work: please note that this work is an assessed part of your TMAs. You will be assigned to groups of about 6 people for this collaboration: I would suggest you exchange personal emails and maybe telephone numbers with the other members of your group.

Please do your very best to keep to the due dates for your TMAs. If you do have problems, please contact me before the due date and we can discuss a short extension. I have a small amount of discretion for the first two TMAs but none for the final one which must be submitted on time. However, please remember that you are no longer the only person affected by your delay: as in most software projects other people - your collaboration group - are dependent on your input. There are suggested deadlines for the collaborative work about a week before the TMAs are due. So please ensure your collaborative contributions are made in good time otherwise they will not count towards your mark.

However since this email is itself so late I will be extra sympathetic on this occasion - if you need extra time email me, but please do your wiki contribution as soon as possible and in any event before the 29th.

If you do this and fulfil your obligations to your group I will be more likely to look favourably on requests for extensions for the remainder of the work!

In this module the TMAs are submitted electronically, through the eTMA system. If you are not familiar with this I would encourage you to submit the "test" TMA, which appears as "TMA 00", to upload a file and check that there are no problems. You could use this to tell me a little about yourself, and it is also a good idea to include examples from any drawing tools you are planning to use - this will check that we have compatible software.

Just to tell you a little about myself. I am a systems' design consultant with more than 20 years experience working in telecoms, and more recently energy, industries as well as with public administrations and voluntary organisations. I first came to the OU as a student in the early 1990s, so I do understand the difficulties of balancing work, life and study.

If you have any questions or comments about the course, or about the Open University in general, please feel free to contact me. The best way of contacting me is by email, either at s.d.tyrrell@open.ac.uk or sebastian.tyrrell@ieee.org. I would generally check my email at least daily, although sometimes not at weekends. If you prefer to contact me by phone then evenings and weekends are the best times, and my mobile (+353 86 3120 974) will usually reach me. Other numbers you might like to note are:

Hom- +353 76 602 6049

British number - +44 2895 81 0330

One final point to note: if you need to submit an assignment in paper form (for example because of a problem with the eTMA system) then please contact me first to ask where I will be! I travel a good deal, especially between Ireland and Germany, and it would be a real shame if your TMA turned up on the day I left and sat waiting for me for 10 days.

Please do get in touch to confirm that you have received this mail, and to tell me a little about yourself and your reasons for choosing this course.

I am looking forward to working with you over the next few months. Good luck, and feel free to contact me with any questions.

Permalink Add your comment
Share post
Sebastian Tyrrell

m883 exam - reprise 2013

Visible to anyone in the world
Edited by Sebastian Tyrrell, Monday, 22 Apr 2013, 10:38

An exam? Haven't we left them behind at college? In mid-career, with a family, a job and far too many other things in our heads to remember much about the course materials what are we thinking.

An exam is always a daunting prospect, but when you get in there you'll find, magically, that its not as bad as all that.

What tips can I leave you with? Here are few simple points that might still help even with 24 hours to go:

  1. Go after the low-hanging fruit. The analysis question is 30% of the exam and 6 of those marks are awarded for correct references and citations and for general structure and overall quality. A well-structured piece, with appropriate headings, will also help focus your answer and gain more content marks.
  2. Be concise and precise. This applies to the analysis but is also important for the short questions: 600 words for 30 marks is twenty words per mark - enough to make a point and illustrate it with a reference or example, not enough for flowery language! However well the answer reads, the content must be there first.
  3. Look at the details of the question. For example (from the SEP) this question contains seven clear hints about the answer needed: the answer must describe three prototyping techniques, in the context of requirements engineering (i.e. not system design or implementation) and for each of those techniques you should describe three aspects: prerequisites, process and outcome. From this you can immediately create a structure, each subheading only needing 20-30 words.

    Write a short description of what is meant by prototyping in the context of requirements engineering and why it is useful. Give brief descriptions of three different prototyping techniques. What information is required before prototyping can begin? What is the process? What is the outcome of the prototyping process?

  4. Relate the answer directly to course concepts and materials: vague generalisations (the sort of thing you could write knowing none of the concepts) are unlikely to get any marks.

  5. Don't waffle. As I mentioned in my notes for the last TMA I think so-and-so is right won't gain marks: so-and-so supports their argument with data from a survey of six projects in the aerospace industry is much better and if you add to that however it is not clear that they are justified in extrapolating this to all software projects and they present no evidence related to domains other than aerospace then you are looking past what the material says and bringing additional insights to bear (assuming of course you are correct) - this is where the additional marks for a distinction can be earned.

  6. Finally, don't panic. Even if you draw a complete blank, do what you can. 40% is a pass, and even with 15% you earn the right to a resit. You may be cross with yourself, you may feel that you haven't perfomed to your ability, but in the end it is more important to understand and be able to apply - or modify or even deliberately ignore - the concepts in real projects than to be perfect in a three hour exam. Experience of marking exams and of seeing the results of my own groups tells me most people do better than they'd expected before the exam (and much better than they had feared in its immediate aftermath.

So, good luck and all the best for your future plans, whether these involve more studying or not. Feel free to keep in touch (and to subscribe to my blog http://needsmust.wordpress.com which has been sadly neglected for the last few months, but will be reactivated

NB Ian Newman put up a useful post on the forum

https://learn2.open.ac.uk/mod/forumng/discuss.php?d=520647#p3938549 on word limits. Some of this is also applicable to you if you are worried about all that handwriting: use bullet points. You may sacrifice a mark or two for style, but there are far more marks available for content.

 

now I have a little more time).

Permalink Add your comment
Share post
Sebastian Tyrrell

I think I believe you are talking through your hat.

Visible to anyone in the world
Edited by Sebastian Tyrrell, Tuesday, 20 Mar 2012, 13:48

I think I believe you are talking through your hat.

As we approach the final TMA it is worth reinforcing some important points about the critical analyses (and the various variants of a critical analysis such as critical summaries, compare and contrast, etc) and how to approach them. It is quite likely that you have found these difficult in the previous TMAs, especially if you have not studied much at post-graduate level, but they represent a key skill for studying and analysing information in an critical, objective light and they are well worth persevering with.

I am not going to rehash the information on the course website, but would once again encourage you to read it. My focus will be a little different, and give you some clear don'ts.

Firstly, any sentence that starts with the words "I believe" or "I think" (or indeed any equivalent formulation) and then proceeds to make an assertion without offering any supporting evidence is unlikely to gain any credit. Unsupported opinion is not critical analysis.

You may, conceivably, think that the paper doesn't provide sufficient evidence for a conclusion that it draws. You should state that, say what if any evidence it does provide for or against, what it may have missed and why you consider the evidence insufficient - I may agree, I may disagree (in which I will tell you why) - but putting the words "I think" in there won't add value and detracts from a limited word count.

Secondly, and closely related, be careful with the use of personal experience. Personal experience, for example on a project you have worked on, can be very valuable and indeed we would encourage you to think about the topics in the light of your own experience but you must show that you are aware of the difficulty in drawing firm conclusions from such limited data: a particular technique may not have been successful for you but it is difficult to separate the evaluation of the technique from the project and organisational culture you were working in at the time. In engineering we don't in general have randomised controlled trials of course, so observational evidence is often the best evidence we have, but you need to be aware of the limitations.

Thirdly, and coming on to some more practical points, don't bite off too much. You may have found two or more papers rather than just the one - that is fine but you will need to be very concise and focus on clear points you want to make. You have 500 words: it is better to use a single additional paper, or stick to a clear theme that cuts across two or three, than to pick a mishmash of points that don't fit well into a narrative.

Fourthly be aware of those word limits and stick to them. Don't worry too much about writing style - if it reads well that is great (and I may be less likely to count the words) but content is more important.

Fifthly, and finally (for now),a particular point for those for whom English is not their first language. Machine translation tools such as Google Translate should be used with the utmost care: they are powerful and valuable tools but they can very easily lead you astray.

You should never, ever, submit an analysis where you do not understand fully the text you are submitting: a really good piece written in German, submitted to MT (Machine Translation) for translation into English and the result cut and pasted into your TMA will get very poor marks. Not because the use of MT is frowned upon but because the output will almost certainly be gibberish - unreadable and incomprehensible - even if many of the right words are there.

If you use MT you should try to use it in the other direction: write the point you are trying to make in English and then translate to your native language to see if you are saying what you want to say.

It is far better in any case to produce short, precise sentences - bullet points if necessary - rather than complex prose in which the point you want to make can too easily get lost. Yes, you might not gain full style marks but you will get better marks for content.

Hope this helps you all a little, good luck and contact me if you need anything.

Permalink Add your comment
Share post
Sebastian Tyrrell

Link to post on fit criteria

Visible to anyone in the world
Edited by Sebastian Tyrrell, Wednesday, 4 May 2011, 17:28
I have just posted some musings on the subject of fit criteria at my own blog, http://needsmust.wordpress.com/2011/05/04/fit-for-purpose/. Hope you find them useful.
Permalink
Share post
Sebastian Tyrrell

Coming up to TMA 02.

Visible to anyone in the world

Happy New Year all!

This blog is aimed at students on the current (2010K) presentation of M883 but comments and questions are welcome from anyone.

TMA02 is approaching fast, and I am happy to see there is a good deal of activity in the wiki groups. It is only natural that you are thinking of the collaboration first, but I would urge you to think a little about Question 2 before you rush off to think about your functional requirements in Q3: Q2 gives you valuable context, it is where you develop the mental maps that will lead you to the functional requirements.

In all the TMAs, but maybe most importantly in this one because we are now at the very core of the course, questions 2 and 3 lead you through a part of the requirements' analysis process: here setting the context, finding the business events, developing the business use cases into product use cases and on to functional requirements and then refining that list within the collaborative groups.

If you follow the process you will find that functional requirements flow quite naturally from the business events in which your particular actor is involved. Trying to do it backwards is much more difficult!

Of course, there is an important caveat: this is not a reason for failing to meet the deadlines you have all agreed for yourselves.

It does however provide a natural path for your learning in this area, and will make the TMA seem a little easier!

 

 

Permalink Add your comment
Share post
Sebastian Tyrrell

A little more for M883 students on DFDs.

Visible to anyone in the world

It appears that the Q1(b) does not, in fact, include labels on its data flows.

It is probably not how I would have done it but here is the rationale as I would see it:

Flows to and from well-named data stores could be regarded as implicit (the flow from a "flight details" can only be flight details). Similarly the author seems to have assumed that it is obvious what data the customer is providing though this is arguably a dangerous assumption! They may have decided that labelling made the diagram less readable.

Obviously you won't lose marks for a diagram that is consistent with the one provided though clearly the flows must be clear - a store labelled "Database" with an anonymous flow for example would be marked down both on poor naming of stores and lack of detail on the flow.

Apologies for the confusion.

Permalink
Share post
Sebastian Tyrrell

Some notes on DFDs

Visible to anyone in the world

I've had a couple of questions about DFDs, and this part of Q1 is often a stumbling block so I thought I'd just give you a few pointers.

The key point with DFDs is they are formal documents, and as such they have a formal structure and need to be complete and consistent. I don't have the case study or TMA script available at the moment, so I can only comment in a very general way.

  1. make sure you include all appropriate data flows, both into and out of the processes. You will also need to think about what other data you need to be able to select an appropriate itinerary. All data flows should be specific, labelled and consistent with the data store they go to or come from.
  2. You could start with what is called a "level 0" dfd for your own benefit: a single process and think about what information the customer must provide and what result they should get back. Then develop it to think about what data the system needs to store and add those flows to and from data stores. Then you go to the next level (level 1 dfd, which is effectively what you are looking for here) and break the process down to its next level constituent parts.
  3. The general problems I see on this question are:
    • incomplete and poorly labelled data flows and inappropriately (usually vaguely) named data stores inconsistent with the data flows.
    • Not answering the question, which is usually on a very specific change to the existing diagram: concentrate exclusively on that change and answer that part completely. If in doubt about the scope then state your assumptions (that is actually general advice for all questions!).
    • Poor naming of processes, not clear what is intended (your processes have good names - clear, concise and precise - though without better data flows it is difficult to gauge how appropriate they are).

Hope this helps: you can find some more general information at the links below. .

http://openlearn.open.ac.uk/mod/oucontent/view.php?id=397581&section=4.1

http://learn.open.ac.uk/file.php/6968/%21via/resourcepage/63775995/6968/moddata/resourcepage/Some_important_course_concepts_2.pdf

 

Permalink Add your comment
Share post
Sebastian Tyrrell

Welcome to M883 2010e

Visible to anyone in the world
The welcome note may be found at http://hubpages.com/hub/Welcome-to-M883-Software-Requirements-for-Business-Systems.
Permalink
Share post
Sebastian Tyrrell

Having confidence in fit criteria

Visible to anyone in the world

This is loosely based on the question in TMA02.

This basically works for any quality, so I am using reliability as an example.

Let's suppose that we have a system (not yet a product) in which a customer submits a "form" and this must be checked by the work (for completeness and correctness) before being acted on. It is not important in this analysis whether the form is a handwritten form interpreted by a human or an html form interpreted by a computer system: the principles are the same.

Our client has told us that it is essential that the failure rate be low. Naturally we ask what she means by "low" and are told that no more than 1 faulty form in 10 000 should get through.

We still have to ask for further clarification: what is an acceptable false positive failure rate: i.e. the number of correct forms that are rejected. However for simplicity I am going to leave this out.

So we in fact have two requirements: one functional specifying that the form must be complete and correct and one non-functional specifying the reliability quality associated with the test.

For the functional requirement we need to specify exactly what constitutes a failure, so that this is clear and unambiguous.

Once we've done that we can move on to the reliability requirement, and how to specify a fit criterion for this. On the face of it we might say:

The system shall reject at least 9999 out of every 10000 forms that are faulty according to [associated functional requirement].

The first point to note is that we have not yet got enough information to test this and this means the above is not a clear fit criterion. Yes, the required maximum failure rate has been specified but not the tolerance.

If we state that product be tested on 10000 incorrect forms and not accept any there is still a substantial chance of the failure rate being higher than 1:10000, in the same way that you can roll a die 6 times without getting a 6.

Sticking with the die in order to keep the numbers small, the chances of 10 random throws not including a 6 are:

P(0 sixes) = (5/6)10 = 16%.

Now we can introduce the concept of a "confidence level" or tolerance. If the die were loaded we might theorise that this particular die had a higher than usual chance of throwing a 6: if we have 10 throws and no sixes we can be 84% confident that the probability of a six is  1/6 or less.

Similarly the chances of 0 failures in 10000 attempts when the actual failure rate is1:10000 is given by:

P (0 failures) = (9999/10000)10000 = 37%

So we can only state with 63% confidence that the failure rate is 1:10000 or less: it could well be a little higher (for example, for a failure rate of 11:100000:

P (0 failures) = (99989/100000)10000 =  33%

we have almost the same chance of seeing no failures, so you can see why we need to think carefully about our fit criterion and the associated tests.

Fortunately we don't need to become expert statisticians for this as there are two factors that simplify our calculations. Firstly we are dealing with a maximum acceptable failure rate and we are anticipating in fact that we will see no failures at all, and secondly we are dealing with sufficiently small probabilities that the chances of two or more failures should be negligible (I will demonstrate this in a subsequent post).

Our fit criterion for a statistical test should include not only the maximum acceptable failure rate but also the confidence level. So we might have:

The system shall reject at least 9999 out of every 10000 forms that are faulty according to [associated functional requirement] and this figure shall be demonstrated to a 99% confidence level.

There are mathematical ways of defining the number of tests required (I will deal with them in a subsequent post) but initially and in most cases a heuristic approach will be acceptable. Let's look for example at a test with 50000 runs and no failures:

P (0 failures) = (9999/10000)50000 = 0.7%

Meaning that if 50000 tests produce 0 failures the chances of the failure rate being 1:10000 or greater are only 0.7%, or put another way:

we can be 99% confident that the failure rate is 1:10000 or less.

We are nearly there now, but there is still one important point to be taken into account: what is the source of the faulty forms we are using? Ideally these will be a random sample of actual invalid customer forms, and they should not be test forms produced by the development team (use the comments to explain why!)

The system shall reject at least 9999 out of every 10000 forms that are faulty according to [associated functional requirement] and this figure shall be demonstrated to a 99% confidence level using a random selection of faulty forms from actual customer records.

It is not necessarily easy and customers may demur at the perceived costs (for example in this case of collecting and transcribing old faulty forms that they might simply have thrown away). This makes it doubly important that you as the requirements' engineer can explain the theoretical background in simple and straightforward terms: they can cut corners (it's their money) but this will reduce the confidence in the reliability figures.

Permalink
Share post
Sebastian Tyrrell

Function points

Visible to anyone in the world
Edited by Sebastian Tyrrell, Saturday, 6 Mar 2010, 15:01

I received a question relating to the calculation and use of function points the other day.

The first point to make is that these are in no way central to this course but for those that are interested there is a quick primer in Appendix C. Function point analysis (see http://www.ifpug.org) is one way of measuring the size and complexity of a software based product before it is built, and can also be useful in tracking changes and maintenance costs.

The analysis is based on the complexity of the inputs, outputs and data storage requirements - all things that will be familiar to you from your data flow analyses. It is a formal technique and appears to get good results when used properly - it can be used not only for system development but also for maintenance (an organisation might monitor the maintenance cost per function point and replace their systems if it goes above a critical level, for example).

The fp's are measured on the basis of the system as seen from the user perspective, which ties in well with our course.

Some common problems:

  • fp analysis not planned and too hurried → guesstimates being made that are really not much better than guessing the numbers of lines of code.
  • unqualified analysts do the job → non-repeatable and non-verifiable result.
  • different perspectives in different organisations → difficult or impossible to compare between companies and often projects

See http://www.softwaremetrics.com/fpafund.htm for an overview, there is also an online tutorial at http://devdaily.com/FunctionPoints/.

p. 279 of MRP discusses the the delivery rate (suppose we start with an average delivery rate of 16 function points per person month). Although MRP describes this as an "average" they don't source it and they don't state which "average" they mean.

The appendix does introduce a sourced "rule of thumb" from Capers Jones (see MRP p. 508)

  • effort (person-months) = (function points / 150) x function points0.4.

There is more detail on this derivation at Software Sizing during Requirements' Analysis, with some discussion of  differences between domains and languages. Although these might provide first-cut rules of thumb it is fair to say that most organisations starting to use fp's would need to derive them over time and the first couple of projects: development methodology, process and implementation language as well as the application domain will all affect the efforts needed. Another factor is the inevitable (though hopefully small) difference in the fp counts coming from different organisations.

Generally though the figures I have seen over the years tend to be in the range 10 - 100 function points per person month, and more clustered around the lower end of that range and, as the Capers Jones equation neatly demonstrates, the effort is in any case not a linear function of the fp count.

I have come across a variant called "use case points", somewhat more related to the concepts of the course but clearly less well-known. See http://www.ibm.com/developerworks/rational/library/2870.html

 

Permalink
Share post
Sebastian Tyrrell

Welcome to my blog ..

Visible to anyone in the world

Hi to all my students and anyone else who uses this blog: I am going to start using it to pass on information on requirements' management in general and course M883 in particular that I think will interest many of you.

Various events might inspire to put up a post. Firstly, I receive many queries on matters relating to the course or to study in general, and where I feel this may be of interest to others I will post it.

Secondly I will try to take a couple of important teaching points from each TMA and post something relevant on the blog. How many points and in how much detail may depend on the amount of time I have available for it.

Thirdly I will post stuff I come across myself in my work, reading or study that could be of interest.

Feedback is, as always, appreciated. If it was useful, let me know, and if not tell me why not!

Enjoy your studies ...

 

Permalink
Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 75024