Home
        User`s Manual as a Requirements Specification
         Contents
1.        testing        __7 3     Ou was more surprised than Berry that she    finished on time     Berry had a lot of faith in the power of good  RE to reduce implementation effort     Adding to Ou   s surprise was that the  requirements phase took nearly 5 months  instead of 2 months  the schedule had slipped  3 months out of 10  way beyond recovery     Then and       Ou   s long projected implementation and  testing times and the 1 month buffer indicate  that she expected implementation to be  slowed by discovery of new requirements that  necessitate major rewriting and restructuring     Why     By spending 3 additional months writing a   specification that satisfied a particularly hard   nosed customer who insisted that the manual  convince him that the product already existed     Ou produced a specification that    e had very few errors and  e that was very straightforwardly  implemented     Then and Now    This time  only minor rewriting and no  restructuring     Thus instead of 2 months specifying and 7  months implementing and testing     she spent 5 months specifying and only 4  months implementing and testing     The Errors    Almost all errors found by testing were  relatively minor  easy to fix implementation  errors     The two requirement errors were relatively low  level and detailed     They involved subfeatures in a way that  required only very local changes to both the  manual and the code     What Helped     All exceptional and variant cases had been  worked 
2.   1   I  Y    WHILE  I gt 0   DO  BEGIN  IF  Odd I    THEN  Z  Z W     I  I Div 2 W  Sqr W    END   Power   Z     FE    we get following default flowchart     Goals  6    From the fancier input     FL  defshape ends shape is oval     ellipse ht  1 wid  2  shapew is 0 6   stmtshapeh is 0 25    queryshapeh is 0 3    spaceh is 0 25   spacew is 0 2    START  with ends       17  27Y37Y4     X 1   2 1 0     shapew is 2 0    WHILE  y1 gt y2     DO   y2   3  lt     2y2 2yY3   Shapew is 1 5     LOOP    IF  yi2y2     THEN     17   4  lt       1 Y2  yaty3    shapew is 1 8   EXITIF  y3 1  config is RIGHT       y2   3 lt  div y2 2   div y3 2     shapew is 2 4    up    END    21722  lt     yY1  y4   Shapew is 1 5    HALT  with ends   FE     For clarity  EQN input is shown already  processed     You can get an even fancier flowchart     Concept  1  An includable flowchart is constrained to print  on one page     Its nodes are  therefore  a certain minimum  readable size     Therefore  the number of nodes in an  includable flowchart is limited     Thus  the complexity of an includable  flowchart is limited      START           Y12134    J  1782 10                  Y21Y3     2y2  2y3              YES NO  Yi gt V2       YES  V12Y2        Yiya   Y       1 Y2ryatys                        Lrs     Y  2   3 lt   div  y2 2   div y3 2                21722      Y1rY4              Concept  2    Our algorithms do not have to handle all    flowcharts    Exponential algorithms do not scare us        Conce
3.   Simon  amp   Garfunkel   again       Present Tense  Important rule for any specification of a CBS     Use present tense to talk about what the CBS  does     Consistent with faking it  that the CBS is  already implemented     Why Ruleis Needed  2    After the CBS is implemented in the future  the  user will enter some input  and the CBS will do  something in response     The specifier loses ability to distinguish  between the user   s present and the user   s  future     Everything happens in the specifier   s future     Why Rule is Needed  1    Rule is needed so that     When it is necessary to talk about something  that happens in the user   s future  after the  user   s present in which he or she says  something to the CBS  future tense can be  used to distinguish the future event from the  user   s input     A typical specifier writes a specification for a    not yet implemented product in the future  tense  talking about what the CBS will do        Shall    vs     Will       There is a convention that is observed in  many design and engineering disciplines for  writing specifications     When describing a requirement for the system  to be built  say    The system shall               and leave    will    to describe future events        Shall    vs     Will     Cont   d    In the vernacular     shall    is often used as a  future indicator with an additional compulsion  component     In specifications     shall    is reserved for  indicating requirements     So be carefu
4.   domain     There was no user experience   To get experience  the company decided to    deploy its developing product experimentally  on its own phone system     Project Needed RS  5    Partly due to pressure to get the application  out early and        partly due to the normal use of tacit  assumptions         the company was following its traditional  requirements process  producing use cases  as its RS     Project Needed RS  7    These use cases were accepted without  reconsidering tacit assumptions and without  consulting any category of users except  developers  who were users of the in house  experimental deployment     Project Needed RS  6    Each use case was again a tree of menus and  choices with    e voice prompting by the application and  e voice input by the user     In other words  they were basically the same  IVR application use cases with a change of  input medium from DTMF to voice     Project Needed RS  8    Occasionally these user developers  prototyped troublesome scenarios  but again  without consulting any category of users but  themselves     However  the VUI was entirely new  technology  less familiar to anyone     Project Needed RS  9    Therefore  it was necessary to change the  requirements process to one    1  involving all categories of the users  and  much more often    2  rethinking the application from the ground   up    questioning tacit assumptions    exploring entirely different alternatives   amp    producing a RS that described the   app
5.   the program     WD       WD    stands for    WYSIWYG  Direct  manipulation          WYSIWYG    stands for    What You See Is  What You Get       They are independent in principle  but usually  come together in WIMP  Windows  Icons   Menus  Pointers  interfaces     WD PIC  a WYSIWYG  Direct M anipulation  PIC    Faina Shpilberg  Daniel M  Berry  1998    Batch vs WD Drawing Programs   Batch  e g   PIC    A can edit PIC specification with batch editor   insertion  global changes  working with  groups  more convenient than with most    WD drawing programs    D cannot see what you are doing    WD  e g   xfig  PIC    A can see what you are doing The input   D painful to make insertions and global box  input   changes and work with groups arrow    ellipse  output     yields       input owa   u             Goals of WD PIC Batch PIC    BOBW  Best of Both Worlds   picture  1 1   H poe TROFF on  e editable internal representation  IR   in the P paper                            PIC language   e can see the picture being drawn on the  canvas   e at any time the IR is a PIC specification of iterace  what is on the canvas   e palette of PIC elements and menues for  their attributes  and keyboard  e pull down menues for files  editing  views   and others  WD PIC Flow       same          PIC picture  interp  on  reter screen                      mouse                                                 r  k       Requirements  1    At any time  picture on canvas is same as  printed on paper whe
6.   to mean  operating system   an open source program  i e   an artifact     open source software as a kind of  software     open source development  i e   a process   and    the open source phenomenon  i e   a  metaprocess     Confusing Polysemy  Cont   d    It never talked about an open source operating  system  which would be    OS OS     but even  so  it was a very confusing document     Note that the authors knew which meaning of     OS    they meant each time they used it  but  the readers had to guess     Plural of Acronyms  Cont   d    The pluralizing    s    comes at the end of the  acronym even when it comes in the middle or  not at all in the expansion of the acronym     Never let an acronym be its own plural  even if  its pronunciation is word that is its own plural   e g         FISH    and    FISHs       Plural of Acronyms    Be careful of acronyms in which an interior  noun or an irregular noun gets pluralized        Request for proposals         RFP          Requests for proposals         RFPs          Brother in law         BIL          Brethren in law         BILs          Shall    vs     Will       There is a convention that is observed in  many design and engineering disciplines for  writing specifications     When describing a requirement for the system  to be built  say    The system shall               and leave    will    to describe future events        Shall    vs     Will     Cont   d    In the vernacular     shall    is often used as a  future indic
7.  UMs holds even for  these platforms     POSIX Example  2    The man pages    e describe what an implementation of a  POSIX must make available  they give for  each kernel routine the interface it must  support    e describe what an application running ona  POSIX may assume  they give for each  kernel routine the interface that can be  assumed by invokers     UM for Platform Why UMs work as RSs    Even for an operating system  a well written  UM can serve as a RS     Of course  this UM  aimed at the programmer  of applications  may not appear well written to  the user of an application     UMs at Same Level as RS abstraction for a RS     The manual is an ideal requirements  document in many cases because  if it is well   written     e itis written at the level of what the user  sees    e it describes the basic concepts  and   e it does not describe implementation  details     That is  it is written at the right level of    Why UMs Validate Well    UMs seem easier to validate than traditional  SRSs     Why     One group in the Technion SE studio insisted  on writing a traditional SRS rather than the  suggested UM     They did a good job of it  following a standard  template to the letter     SRS vs  UM  1    With SRS  Berry could not see that what was  specified was not quite what he wanted     With UM  Berry had no such problems  He was  able to instantly spot specifications that did  not capture his desires and to describe what  was wrong and how to fix it or at least what  
8.  anyway and the RS will probably never be  read  even by the implementers     Problems Writing a Good RS  2    Participants in most projects these days  believe that they do not have the time to do  so  that it is necessary to proceed  immediately  if not before  to coding  in  order to meet the code   s delivery deadline  or to be the first in the market with the  code   s functionality  Never mind how they  know what to implement anyway if there is  no RS      Writing UM May Be Solution    This talk offers writing a UM for a CBS before  implementing it as a way achieving the writing  of a RS of the CBS before implementing it     The method both    produces a document that delivers the five  benefits of writing a RS before  implementation and   helps ameliorate or mitigate the three  problems that discourage the production of  a RS before implementation     Information ina UM  1  An RS for a CBS should    e describe the CBS   s function and not the  CBS   s implementation    e describe the CBS from the user   s point of  view and not the implementer   s     Fred Brooks   s Observation    In 1975  in MM M  Fred Brooks equated the UM  with the written RS     The manual must not only describe everything  the user does see  including all interfaces  it  must also refrain from describing what the  user does not see  That is the implementer   s  business  and there his design freedom must  be unconstrained  The architect must always  be prepared to show an implementation for  any 
9.  by the  customer     before she began any design or  implementation        Project Plan  Duration  in months   Step          1    Preparation       Requirements specification       Implementation          N  AN    Testing       Buffer  probably more implementation  and testing              10       Total planned          Ou   s Assignment  2    Once implementation started  when new  requirements are discovered  the manual  should be modified to capture new    requirements     In the end  the manual describes the program    as delivered     40 1 01       preparation       41 1          requirement       4 1 02             2 1             implementation    5 1          testing       6 31       Actual Schedule                                     Duration   in months   Step   1 Preparation   4 9 Writing of user   s manual   reqs spec   11 versions    7 Design including planning for maximum  reuse of PIC code and JAVA library   1 7 Implementation including module testing  and 3 manual revisions   1 7 Integration testing including 1 manual  revision and implementation changes   10 Total actual          What Happened     While detailed plan was not followed  total  project time was as planned     Also  Ou produced two implementations for  the price of one  for     e  planned  Sun with UNIX and  e  unplanned  PC with Windows 2000    10 2 01       preparation    41 1       requirement          3 28 02       design          4 20              implementation       6 11          Surprise
10.  computer based system  CBS  before  implementing it is a good idea     e The process of writing the RS of the CBS is  a good way to learn the CBS   s  requirements    e The process of writing the RS of the CBS  helps to reconcile differences among the  CBS   s stakeholders     Introduction  4    However    have found the production of the  UM a good focal point in the requirements  engineering process and a good way to get on  to paper at least the kernel of all the  information that goes in the other documents     Role of Writing a RS  2    e The RS allows the customer of the CBS to  validate that the projected CBS will be what  he or she wants before resources are spent  implementing a possibly incorrect CBS    e The RS makes it clear what must be  implemented to obtain the required CBS    e The RS allows deriving both covering test  cases and expected results that allow  verification that the implementation of the  CBS does what it is supposed to do     Problems Writing a Good RS  1    Despite clear benefits of writing a RS for a  CBS before implementing it  many projects are  unable to produce the RS  for a variety of  reasons  some technical and some social     It is difficult to write a good RS  one that  specifies exactly what the CBS is supposed  to do without limiting unnecessarily how to  implement it     Problems Writing a Good RS  3    Participants in most projects these days  perceive that time spent on writing a RS is  wasted since the requirements will change 
11.  easy to work with  as a RS     The UM form of RS has made it easier new  developers to get up to speed     Team s Testimonial  2    Normally  a HCI problem would not even be  detected until after the system were  implemented     Detecting HCI problems early is critical for any  application with a new user interface  paradigm     Developer   s Testimonial  2    Having both the UM and the prototype has  reduced the learning curve by at least 50   over having only a traditional SRS     The developers have gotten into the habit of  calling the UM    the specification        Lessons Learned Advice on writing UMs    Six Groups of Lessons Learned    advice on writing UMs in general and as  RSs    special kinds of UMs    why UMs work as RSs    RE processes aided by writing a UM   other SE processes aided by writing a UM   and   general lessons     You vs  User You vs  User  But Only One  There are two ways to describe the user ina In the last analysis  it does not matter which  UM  one you choose    e    You     second person  and imperative However  use only one  do not mix the two     sentences with implied subject of    you     If you use both  the reader wonders if there     the user     third person  are two kinds of users     You vs  User Tradeoff    Second person is textually shorter than third  person        You enter    exit        is shorter than     The user enters    exit            and imperative        Enter    exit        is even shorter     Glossary of Terms    From 
12.  no  traditional UMs    e Embedded  e g  device controller or aircraft  e Platform  e g  POSIX  X    So it looks like advice fails    No  Just have to be creative at identifying  users    Platform P  1    User of Pis an application A running on top of  P     Consider the programmer of A that runs on  top of P     He or she needs to know what services P  offers     The manual for these services of P is  equivalent to a requirements specification for  P     Platform P  2    Manual should be written as a system  programmer   s manual for P  e g   a collection  of UNIX manual pages for Sections 3 and 4   programs and data     Guess what  That   s exactly the format of the  POSIX and X standards   specification  It is a  specification in that anyone can implement  these in whatever way he or she wants  so  long as the specified external interface is met   These standards are written as the manual for  any implementation     POSIX Example  1    E g   the POSIX system is a standard  generalization of the various UNIX platforms     POSIX is specified by collection of UNIx style  man pages describing the kernel routines and  data that are available to use to write  applications running on any POSIX system     Requirements for Platforms    A computing platform  e g  operating system   has users that differ from the users of a single  application     A platform user is a sophisticated user who  programs applications that run on the  platform  for use by others     Equivalence of RSs and
13.  of the writing of a  UM  you should build and maintain a glossary   dictionary  lexicon  of technical terms for the  manual     This glossary is not only for the benefit of the  reader  but also for your benefit as the author  to avoid two terrible scourges of writing that  tries to be interesting     e US   unnecessary synonymy and  e CP   confusing polysemy    A Definite NO NO    If you use    the user     remember that it is  singular     Therefore  the correct pronouns for it are      he        she     and    he or she      and NOT      they        Grrrrrrrr       U nnecessary Synonymy    US is using more than one word for the same  concept  e g             the program        the software        the system         X     where Xis the name of the program       the X software     etc     The reader is left wondering if there are even  subtle differences between these different  terms     Necessary NonSynonymy    Occasionally you may need to distinguish  between the software as an artifact supplied  on a medium and an invocation of the  software     Confusing Polysemy    CP is using one word for more than one  concept  e g          Necessary NonSynonymy  Cont   d    In that case  you make two entries into the  Glossary        the X program  a copy of the X program ona  CD    and      X   an invocation of the X program running  on your computer        and you carefully maintain the distinction in  the writing     Confusing Polysemy  Cont   d    One document that used    OS  
14.  systems programmers  as the RS of the user interfaces  Uls  and of  the underlying systems     UMs and 5 Roles of aRS  2    e AUM makes it clear what must be  implemented to obtain the required CBS    e A UM allows deriving both covering test  cases and expected results that allow  verification that the implementation of the  CBS does what it is supposed to do     Motivating Writing of aRS  Difficult to Write a Good RS  1    Writing a good RS for a CBS is difficult  because the advice to describe only what the  CBS does  without constraining how the CBS  does it  is easier said than done     Clients and users tend to describe solutions to  possibly non existent problems rather than  just problems that need to be solved     Not Enough Time to Write a RS  Writing a RS is a Waste of Time    If a project produces a UM or help system or it  produces test cases  it writes a RS     Any project for commercial or contracted  software does so     Thus there is time to write a RS  it   s already  being done     Difficult to Write a Good RS  1    Writing a good UM for a CBS forces focusing  on user   s view of the CBS     With typical user in mind as the future  audience of the UM  it   s easier to focus on the  user   s view  the what of the CBS  and to avoid  mentioning implementation details     Not Enough Time Time Waster    Ah  but the UM  help system  or test cases are  written later     Ah  but writing them earlier saves time and  money for each requirement error found  earlier w
15.  that used    OS    to mean  operating system   an open source program  i e   an artifact     open source software as a kind of  software     open source development  i e   a process   and    the open source phenomenon  i e   a  metaprocess     Confusing Polysemy  Cont   d    It never talked about an open source operating  system  which would be    OS OS     but even  so  it was a very confusing document     Note that the authors knew which meaning of     OS    they meant each time they used it  but  the readers had to guess     Plural of Acronyms  Cont   d    The pluralizing    s    comes at the end of the  acronym even when it comes in the middle or  not at all in the expansion of the acronym     Never let an acronym be its own plural  even if  its pronunciation is word that is its own plural   e g         FISH    and    FISHs       Plural of Acronyms    Be careful of acronyms in which an interior  noun or an irregular noun gets pluralized      Request for proposals         RFP          Requests for proposals         RFPs          Brother in law         BIL          Brethren in law         BILs       UMs Should Lie    The manual should be written well enough that  it deceives the reader into believing that the  software really exists     In fact  it   s getting the picky details worked out  well enough to write the deceptive UM that  forces ironing out those synergistic problems  that plague many requirements  and even  design  documents     Faking it  Parnas  amp  Clements
16. Prototypes    Berry decided to have each team of a full year  SE studio at the Technion specify  design and  implement its own enhancement of the legacy  WD PIC     The first semester is devoted to requirements  engineering to produce a requirements  specification     The second semester is devoted to designing   implementing  testing  and deploying the  specified products     Prototyping  4    It is still much much faster than inputting  completely as text  which in turn is much  much faster than specifying the entire picture  in WD PIC  especially if mistakes are made in  entry     Team s J ob  Each team is    e to program the new user interface in Java    e to make use of knowledge of grammar to  avoid use of dialogue windows and to  allow in line editing  and   e to re use legacy PIC interpreter     Process    First  Berry    e described and demonstrated the old  software   e showed what he did not like  and   e gave them a long wish list     Then  they asked Berry questions in a two   hour long interview     They continued to question Berry throughout  term     Less than Total Satisfaction    However  these were not exactly right for  Berry as a customer  even though they were    good student term projects that deserved A s     The reason was simply that an academic term  project did not permit exploring requirements  with the customer as thoroughly as does an  open ended project that continues until it is  really done     Results    Berry got at the end of the term 3 di
17. Thus  it is an issue of finding a right medium  for expressing detailed requirements that is  both cheap to change  but hard to hand wave  one   s way to a false impression of  completeness     All the Gory Details  4    The advantage of the software itself or a  complete formal specification is that it is hard  to handwave over the details  to cheat to leave  the impression of completeness when details  are missing     If details have been left out  the software will    not work or the formal specification cannot be  verified to satisfy requirements     Writinga UM Helps RE    UMs Help Validation    Thus  giving a draft UM to the client and to the  client   s users is a good way to elicit the       But    wanted x instead   s  and the     But    wanted x also   s    before the software is implemented     i e   to validate the requirements     UMs and Prototyping    Sometimes in order to write a UM  you have  got to prototype or at least mock up the   screens so that you can get the nice screen  pictures that you want to put in the manual     This prototype also helps in getting the client  to validate the requirements     UMs Help Elicitation    The UM actually serves a dual purpose     e aiding the elicitation of correct and  complete requirements    e being the requirements document    Scenario Capture    In the SE studio for WD PIC  the first  structured exercise was to develop a full set of  scenarios to capture everything they thought  Berry would want to do     Berry n
18. User   s Manual as   a Requirements  Specification   Daniel M  Berry  1991  1998  2002  and 2003  with help from K  Daudjee  J  Dong     l  Fainchtein  M A  Nelson  T  Nelson   amp   L  Ou       2003 Daniel M  Berry Requirements Engineering Manuals as Requirements Pg  1    Introduction  1      have been asked what I believe a good  requirements specification  RS  is     Here is my opinion     For pedagogic purposes  it is intended to be  slightly controversial     The    you    in these slides is the requirement  engineer     A Note About This Talk    This talk was first written in 1991  prior to the  community   s identification of the concepts of  scenarios and use cases  as being helpful in  requirements engineering  RE      It is interesting to see a lot of examples of  these concepts in these slides  but not so   named       have added text in this font in 1998  to  rephrase in the new vocabulary     Introduction  2      believe that the most useful document to  write during requirements engineering is the  user   s manual  UM      When done right and at the right time  it can  serve as a useful elicitation  analysis  and  validation tool  and can even serve as a RS     Introduction  3    Please note that   am not discounting the other  requirements documents  including the SRS     They may be required by the customer     They may give useful information that is not  contained in the UM     Role of Writing a RS  1    There are a number of reasons that writing a  RS for a
19. ach production     X    AxBy  is converted to  X  gt   A x B y    The shell interpreter considers         matched  either by itself or by the empty string     Integral Help  4    The system designer could also provide for  any particular         a more detailed response   written by a human being to deal with the  probable rea  question at that point     From Help to Scenarios  1   We can go further    Before each terminal and nonterminal in the  grammar  we can have invocations of all  possible subscenarios    Each subscenario describes a different way to    get the next input token  e g   by typing  by  clicking a button     General Lessons    From Help to Scenarios  2    Each subscenario describes a different way to  adjust the background and state of the object  being worked on  e g   place or remove grid  and turning gravity on or off  etc     This gives a systematic way to discover  scenarios for an interactive system building  objects defined by a predefined  representation  e g   PIC  RTF  etc     Requirements Notations  1    As you are writing a RS  you may use  whatever organization and notation that helps  you achieve these objectives     Requirements Notations  2    When picking the organization and notation   remember the intended audience     This means not using a notation that will turn  your audience off     On the other hand  this does not mean to shy  away from a notation from fear that the  audience will not understand it     Requirements Notations  4    A
20. ained a solution     Team members other than Fainchtein found it  easier than normal to elicit customer feedback  using the UM     Customer F eedback  3    Customer   s validation was faster because he  was able to see how certain functions were  being used by a user     The customer even said that having a manual  instead of a traditional SRS contributed to a  reduction in overall time spent to validate the  requirements and allowed him to involve more  domain experts and those who had never dealt  with a traditional heavy SRS     M anager   s Testimonial  2    e These problems were fixed immediately  and the fixes were reflected in the next  versions of the prototype and the UM     e The UM was a source of test cases for the  quality assurance personnel     M anager   s Testimonial  1    The skeptical project manager observed and  confirmed that     e Prototyping and the UM allowed detecting  in the first iteration more than 75  of all  problems that they have found in the  implementation     Customer   s Testimonial    The customer was happy that the  requirements process allowed the customer  and developers to detect and readily address  any human computer interaction problem that  arose during requirements specification     Team s Testimonial  1    Analysis team found that having a RS in the  form of a UM made it easier than normal to  work with the customer to address  human computer interface  HCI  problems     Developer   s Testimonial  1    The developers find the UM
21. ator with an additional compulsion  component     In specifications     shall    is reserved for  indicating requirements     So be careful of how you use it           This comes right after the second last page in the older document        Foxtrot       How s YOUR I m STUCK ON A    TD OFFER TO HELP  MATH  THIS OH  THAT  HOMEWORK WORD PROBLEM  BUT IT   S BEEN A IS FOR SORT OF WOULD IT KILL  COMING      WHILE SINCE HISTORY WORD PROBLEM  MICROSOFT To  I Took MATH  CLASS  1          UMs Should Lie f      The manual should be written well enough that  it deceives the reader into believing that the  software really exists     In fact  it   s getting the picky details worked out  well enough to write the deceptive UM that  forces ironing out those synergistic problems  that plague many requirements  and even  design  documents     Faking it  Parnas  amp  Clements  Simon  amp   Garfunkel   again       
22. ce a prototype had introduced users to a  particular paradigm  variations described by  scenarios in the manual were clear and  concrete enough to allow selection of the best  without having to actually implement them in a  prototype for user trials     Existence of prototype made it easy to get  screen snapshots for manual scenarios     Time Required    Production of UM   RS took Fainchtein 5 5  months of part time work  with full time  background thinking     The company   s experience with similar sized  projects suggests that 5 months is needed for  each of a SRS and a manual     Thus  Fainchtein got one document serving as  two documents for the price of one     Customer F eedback  1    During writing of manual  Fainchtein got the  usual number of complaints about specified  requirements     Each complaint resulted in a new iteration of  the manual and resolution of the problem     However  this resolution took place during  requirements analysis time rather than during  testing or after delivery     Time Savings    He saved time by writing only one document  instead of two    It is clear in implementation so far         that having clarified and documented  requirements in advance of the  implementation  the implementation is going  more rapidly and error free than normally     Customer F eedback  2    The customer found the UM easier to read  than the traditional SRS     Consequently  the customer   s complaints  were more specific and more constructive and  often cont
23. cial     It showed up one day when we were using  FLO for a production job  Isn   t that how all  bugs show up        Test Case Generation  1    While the manual of a WD program cannot be  a test case itself  the scenarios provide scripts  for test cases     These can be run by humans following the  scripts     Conclusion     Completeness of scenarios and completeness  of test cases are tough to achieve  very tough     By the way  FLO was fixed in a second  release  Sigh     Test Case Generation  2  OR    each can be translated into a process that  generates the sequence of events that would  be generated by a human following the  scripts     the latter providing automatic re run of test  cases whenever it is necessary     Integral Help  1    An old idea  revisited       Self Describing Systems Using Integral Help     by Bob Fenchel and Jerry Estrin  IEEE Trans   Systs  Man   amp  Cybernetics  March April  1982     Integral help  IH  for interactive  textual input    textual and pictorial output system design  shell    Integral Help  3    If the user inputs a          then at the very least  the interpreter responds with the portion of    the original grammar that follows the matched  ab  des    E g   if in the production above  the input          matched the first          the shell would respond  with at least    expecting Ax By    Integral Help  2    Fenchel took the context free grammar for the  shell language and put a         before each non   terminal and terminal in e
24. d the following manuals  good     e the PARADOX UM from Borland  e the TEXbook by Knuth    e the C Programming Language by  Kernighan and Ritchie   e the PIC UM by Kernighan   e the EQN UM by Kernighan and Cherry    Good UMs  3    So what does a good UM look like     Well  it should be clear  not longer than  necessary  and fun to read     Actually  almost everyone knows a bad user  manual when he or she tries to read one and  cannot     There is something of an art to writing a good  UM     Bad UMs  5      personally have found the following manuals  bad    e the C   Programming Language by  Stroustrup   e the NROFF TROFF UM by Ossana   e the SCRIBE UM by Unilogic   e the TBL UM by Lesk    Good UMs  6    A good UM seems to have the following  elements     1  descriptions of underlying and  fundamental concepts of the software     i e   a Lexicon     Good UMs  8    Having only the third loses many readers who  do not understand the concepts and turns off  many readers who just plain get bored reading  page after page after page of boring command  syntax and semantics     Leaving out the first makes it very hard for the  author to assume and use a consistent  vocabulary in writing the rest of the manual     Good UMs  7    2  a graduated set of examples each showing  e a problem situation the user faces  e some possible user responses to the  problem in the form of commands to the  software  e the software   s response to these  commands    i e   Use cases     3  asystematic su
25. e WD   PIC   s paradigm      Thus  a major part of the RE effort is the  design and structure of the user interface     No body of experience  guidelines  or  standards upon which to draw     F ainchtein   s Role    Fainchtein was a member of the team  developing ExpressPath while studying for a  master   s degree and searching for an advisor  and topic for his master   s thesis     After taking Berry   s course  he approach Berry  with an offer to apply the writing of a UM as  the RS for ExpressPath     Berry pounced on the offer as a way to get an  industrial case study of his idea     Project Needed RS  1    The project was in the early stages     All of the company   s previous projects in the  domain of IVR had used RSs in the form of use  cases agreed to by the customers and the  developers     Each use case was described in words and  flowcharts  showing the use case   s main   alternative  and exceptional scenarios     Project Needed RS  3    Over the years  they had developed and  refined principles about IVR Uls     For any new application  the customer  understood any proposed solution without the  need to consult each category of users  directly     Project Needed RS  2    Each scenario is a tree of menus and choices  with    e voice prompting by the application and  e DTMF input by the user     These use cases sufficed as RSs because the    applications were in the well understood IVR  domain     Project Needed RS  4    ExpressPath with a VUI was in a totally new
26. een by a user    e Each of the CBS   s NFRs must be well  understood and easily described in prose     CBSs Not Admitting UM RSs  1    e Autonomous systems with no real human  users  However  a description of the real  world   s or other CBS   s behavior might  suffice    e ACBS for which one or more algorithms it  computes is the major issue of a RS  and  the Ul is not an issue   e g   a weather  predictor    CBSs Not Admitting UM RSs  2    e A CBS with nontrivial NFRs that are not  specifically visible to the user  e g    security  reliability  and robustness   SR amp R   for which the user does nothing to  cause the NFR to kick in  The way SR amp R is  achieved is a major issue for the RS     For none of these CBSs would a UMs manual  serve as a good RS     FLO Experience    Let me describe an experience assisting in the  writing of a UM as a primary requirements  document     This experience had an interesting twist to it  that cannot happen for all software  and  probably will not happen for yours  however it  is interesting from the total software  engineering perspective     Validating Case Studies    1  Development of FLO  Berry  Academic  Product    2  Development of WD pic  Berry  Berry   Daudjee  Dong   amp  NelsonS  Ou  Academic  Product    3  Development of ExpressPath  Fainchtein   Industrial Product    FLO   A Language  For Typesetting  Flowcharts    Tony Wolfman  Daniel M  Berry  1989    Outline Problem  1    e problem It is desired to be able to include flowc
27. ement features as desired  and as described in the manual     Design Approach  7    The steps were repeated until we arrived at a  manual and an implementation such that     all implemented features were described in  the manual    all features described in the manual were  implemented  and   all users are happy with the features and  their output     Design Approach  8  As a bonus     There was available at all times during the  implementation a nice built in test with full  feature coverage     The manual itself     Design Approach  10    The roles in the development of FLO were     Il  the advisor  was the client  an occasional  writer of computer science theory papers   representing all people who use flowcharts in  formal papers       even occasionally asked a theoretician at the  Technion  Nissim Francez  for his opinion on  features     Tony  the student  was the software engineer     Design Approach  9    From the similarity in the structures of the  papers and manuals about EQN  PIC  GRAP   DAG  and FLO  it appears that    the same approach was used by Kernighan   Bently  Cherry  and Trickey to design and  implement EQN  PIC  GRAP  and DAG      When asked in a presentation of these slides   Kernighan said     No        Design Approach  11    The initial manual underwent many  many  iterations     e Any time I did not understand what it was  saying    complained    e Any time I could not see the purpose of  something    complained    e Many times  something it said su
28. emented     A Good UM    However  a good UM has also a feature   centered part listing all the individual features  and describing all of the options of each     This part is organized much as is a traditional  SRS     The designer and implementer can find the  functions already identified     All the Gory Details  1    No requirements specification method that  does not force working out the details is going  to work     It is only in working out the details that all the  show stopping exceptions and interactions  are going to be discovered     UMs  amp  RSs are Difficult    Writing the UM is hard  but so is writing a RS     So you are no worse off     All the Gory Details  2    These details can be worked out in any of  several media     the software itself    a complete formal specification   a complete  traditional SRS  or  a complete  scenario based UM     The advantage of UM is that changing the  manual consistently is much cheaper than  changing either the software itself or a  complete formal specification     All the Gory Details  3    Also  unlike a complete  traditional SRS  a UM  is both needed and perceived as needed after  the software is delivered     Thus  the motivation to keep it up to date is  higher than that to keep a traditional SRS up  to date     All the Gory Details  5    While it is fairly easy to leave details out of a  UM  since the UM is intended to be delivered  with the software to help naive users  the  incentive is to get those details in     
29. feature he describes  but he must not  attempt to dictate the implementation     Information in a UM  2   A good UM for a CBS should   e describe the CBS   s function and not the  CBS   s implementation    e describe the CBS from the user   s point of  view and not the implementer   s     Hmmmm        Tom DeMarco    Also  Tom DeMarco suggests in several  places using UMs as RSs  most notably in The  Deadline     Steve McConnell    In Software Project Survival Guide  Steve  McConnell says  metime prior to placing the  prototype under change control  work can  begin on a detailed user documentation   called the User Manual Requirements  Specification   This is the documentation that  will eventually be delivered to the software   s  end users  Typically  this documentation is  developed at the end of the project  but in this  book   s approach  it is developed near the  beginning        UMs and 5 Roles of a RS  1      claim that    e The process of writing a UM for a CBS is a  good way to learn the CBS   s requirements    e The process of writing a UM for a CBS  helps to reconcile differences among the  CBS   s stakeholders    e A UM allows the customer of the CBS to  validate that the projected CBS will be what  he or she wants before resources are spent  implementing a possibly incorrect CBS     Lisa  amp  Macintosh    It is said that the UMs for the Lisa and  Macintosh computers were written completely  before implementation of their software  began     The UMs were given to
30. fferent  WD PICs and their UMs as specifications     More WD PIC UMs  1    In two consecutive iterations of a graduate  seminar on requirements engineering at the  University of Waterloo  Berry assigned as the  term project writing a UM as a specification for  WD PIC     Each team was given the source and object   code and the UM for    e Shpilberg   s WD PIC   e the best of the 3 prototypes produced in  the Technion SE studio    More WD PIC UMs  2    These projects yielded fine manuals and many  interesting new ideas     But  no one WD PIC was completely  satisfactory to Berry as a customer     Ou   s Professional Background    Prior to coming to graduate school  Ou had  built other systems in industrial jobs  mainly  in commerce     She had followed the traditional waterfall  model  with its traditional heavy weight SRS     She had made effective use of libraries to  simplify development of applications     First Production Version    Lihua Ou took the assignment to produce a  first production quality version of WD PIC as  her master   s thesis project     Ou   s Input    Ou was to look at all previous prototypes and  UMs as specifications     She was to filter these and scope them to first  release of a production quality first version of  WD PIC running on Sun UNIX systems     Ou   s Assignment  1    Ou was to write a specification of WD PIC in  the form of a UM     This UM was    1  to describe all features as desired by the  customer  and   2  to be accepted as complete
31. fter all  the software is being developed for  the client   s application domain  and he or she  clearly knows the vocabulary of that  application     the professional jargon     Requirements Notations  3    It is my experience that any notation    e that suits the situation in which it is used  e thatis consistently applied    can be learned by anyone of reasonable  intelligence that is in a position to understand  what is being conveyed  e g   a client     Requirements Notations  5    For example  a state machine is a very natural  way to describe reactive systems  but is nota  good way to describe calculation of the  standard error of the difference between two  vectors  and is not a good way to describe the  formatting of a paragraph     For the client of a reactive system  a state  transition diagram would make perfect sense   while for the statistician or the word  processing specialist  a state transition  diagram would appear as mumbo jumbo     Requirements Notations  6    A control and data flow diagram is a very  natural way to describe an industrial process  in which there may be several activities  happening concurrently     For the client of a process control system  a  control and data flow diagram would make  perfect sense  while for the statistician or the  word processing specialist  a control and data  flow diagram would appear as gobbledegook     Requirements Notations  8    When it is introduced in this way  the notation  is understood instantly or with mi
32. ggested to  me another option    e Many times  something it said led to my  asking how to do something related     Design Approach  12    Tony had to fix each of these problems   sometimes by changing or extending the  language  almost never reducing the  language  but        In one case  he threw out a whole collection of  attributes     short        tall     etc  in favor of  setting size of bubbles around nodes  bubbles  turned out to be a simple way to specify  completely the compactness of the layout     Design Approach  14    FLO   s development followed the waterfall  lifecycle                      J DESIGN  7 manual  J N CODE      a  aoe manual  SS TEST                Note the feedback into the requirements box   labeled    specify     and note that the manual  gets worked on in all steps     Design Approach  13    The iteration continued until   could think of  nothing wrong and nothing more     Wrap Up   Remember what this lecture is about    It is my opinion that the UM serves as a useful  elicitation  analysis  and validation tool  and it    can even serve as a RS     It was certainly the case for the design and  implementation of FLO    WD Pic Experiences    Let me describe 2 other experiences of using  the UM for a program as its RS     In each of these cases  the program has a  graphical user interface  GUI  or a voice user  interfact  VUI   Thus  the manual cannot be  input directly to the program  and thus  the  manual itself cannot be used as a test case for
33. harts as  e previous solutions figures inside typeset documents   e goals  e concept e g   aS for publishable papers in computer  includable flowchart science or in software descriptions   e design approach  design implementation testing Input  algorithm  of  languagel program  manual Program draws flowchart  Problem  2 Previous Solutions  1  We assume the following basic typesetting 1  Computer produced flowcharts  1960s    software     e Aim   provide better maintainer   s  documentation and debugging facilities   e Input   a source program in some  programming language   e Output   large  very complicated flowchart  encompassing many pages  usually  produced on line printer    e device independent TROFF  DITROFF     e but if we do it right  it will be usable  elsewhere  e g  in TEX    Note  these programs had to be general  enough to handle any program     Previous Solutions  2    2  Programs for typesetting graphs     e Aim   include general graphs into  documents   e Input   connectivity of the graph   e Output   some picture description  language for typesetting  e g    POSTSCRIPT or PIC    Previous Solutions  4    The problems with these previous solutions  are     1  The output is not satisfactory for inclusion    in typeset documents  boxes built with    I     and    _    and using numbered nodes instead  of some nicely drawn arrows  especially  when the arrows would cross page  boundaries      Previous Solutions  3    Interactive WYSIWYG drawing programs     Aim   d
34. hen it costs an order of magnitude  less to fix it     Writing UM Preferable  to Writing RS    UM or help system needs to be written  eventually for user   s benefit  but RS is not  likely to be looked at beyond beginning of  coding     Good UM exposes full set of use cases  from  which test cases can be written  but most  SRSs tend to focus on functional and  nonfunctional requirements  NFRs  and skip  use cases     Requirements for RS  2  It must be readable because if not     e no one will be able to judge whether the  document meets the second document  requirement     e noonewill be able to write the software to  meet the system requirements     e no one will be able to judge whether the  software meets the system requirements     Requirements for RS  1    It is most important that a requirements  document    e be readable  and  e accurately and completely describe the    software system to be built  a system that  meets the client   s desires and needs     All else is frosting on the cake     Good UMs  1    My favorite way to write a RS for a system that  will have users is to write a UM or a collection  of UMs  one for each kind of user     Good UMs  2    Writing UM requires a clear conception of  what the system is supposed to do  clear  enough that the manual author can visualize  user scenarios and describe both    e what the user should say to the system and    e what the system will respond to the user     Note  Scenarios     Good U Ms  4      personally have foun
35. ic strip that  has Peter  who is trying to do a History  homework  screaming    Would it kill Microsoft  to include a manual        True  But       It   s true  many companies do not produce UMs  any more     However  they do make help systems  and  these provide a good covering set of  scenarios     The help system can be used  as we suggest   as the RS     Help Systems vs  UMs    In a sense  the scenarios of a good help  system are better than most UMs for our  purposes because each scenario focuses on  one way that users use the software described  by the help system to do their work       Advice on writing UMs  User   s Manual as    a Requirements Sore  Specification                Daniel M  Berry  1991  1998  2002  and 2003  with help from K  Daudjee  J  Dong   l  Fainchtein  M A  Nelson  T  Nelson   amp     L  Ou  You vs  User You vs  User  But Only One  There are two ways to describe the user ina In the last analysis  it does not matter which  UM  one you choose   e    You     second person  and imperative However  use only one  do not mix the two     sentences with implied subject of    you     If you use both  the reader wonders if there    e    the user     third person  are two kinds of users     You vs  User Tradeoff    Second person is textually shorter than third  person        You enter    exit        is shorter than     The user enters    exit            and imperative        Enter    exit        is even shorter     Glossary of Terms    From the very beginning
36. ing on yet  another methodological bandwagon  YAMBW    it does adopt techniques that are repeated  demonstrated in practice to be effective  such  as inspection     Perhaps with enough studies like these  showing clear success stories  the UM as RS  approach will be adopted     Successful Case Studies  2    e the UM provides a covering set of test  cases    e in each case in which the product has been  delivered  the UM describes the product  completely    e in each case in which the product has been  delivered  the customer is satisfied with the  end product and the match between the UM  and the product     Successful Case Studies  1    These case studies of writing RSs in the form  of UMs are just case studies     Certainly  each case study was a success in  that    e the writing of the UM helped focus  requirements elicitation and analysis    e the writing of the UM forced consideration  of user needs in the product and in its  requirements     Successful Case Studies  3    e inone case  the UM helped the programmer  meet the overall schedule even though  writing the UM caused a schedule slip in  the RE phase  and   e inthe case in which there was not going to  be a fully documented RS  the developers  have ended up calling the UM    the  requirements        Threats in Academic Cases    However  these successes in the non   industrial cases could have been the result of  other factors including    e the abilities of the programmer and the  client    e the client   s previo
37. is intent clear and  helped to disambiguate the ambiguities     Scenarios as Test Cases    Notice that we used the FLO manual as its  own test case     More generally  scenarios or use cases  can  be used to generate test cases     Equivalence of Ss and TCs    A little thought shows a fundamental  equivalence between scenarios and test cases    Both must cover all possible inputs and uses  of the software under consideration  i e   the  software under design or test     Obtaining this full coverage is hard     The literature on testing abounds with proof of  this difficulty     FL  IF  blah    THEN BEGIN  IF  bluh     THEN  y    ELSE  z    END  ELSE BEGIN  IF  bleah    THEN  b    ELSE  c    END   d     FE    Example of Difficulty    Indeed  after FLO had been used about a year  with no problems  an input was given that FLO  drew incorrectly  collapsing two boxes into  one  with their texts overwriting each other     Overlooking an Obvious TC or S  It turned out that we had never tested that  particular input or any of the infinitely others  that showed the problem    There were no such examples in the manual   In retrospect  it is hard to imagine not having  nested conditionals as a scenario or as a test    case if the goal is complete coverage     However  neither of us ever thought of it     Overlooking  2    Perhaps we did not view this as a special  case  because we had tried other forms of  nesting     Moreover  it   s so common that no one else  thinks of it as very spe
38. ith the text editor  associated with  EDITOR     When save and exit from text editor  the  picture is regenerated in the canvas     These are the basic goals and requirements     First Prototype    The first version was done by Shpilberg using  prototyping method with Berry as the  customer user     1  Shpilberg implemented a version    2  Berry tried it out    3  Berry found something he did not like  and  he complained    4  Shpilberg understood the complaint   planned another change  and looped back  to 1     Prototyping  1    The method used for FLO cannot be used  exactly since a manual cannot drive a WD  program in the same way it can be the input to  a batch formatter     To make it easy to change  Shpilberg used a  standard widget set for interaction objects     Infinite Loop  Notice the infinite loop   Berry never really liked it     More on that below     Prototyping  2    These widgets forced use of dialogue  windows and confirmation or cancellation and  lots of hand movement to bring mouse into  different windows and to click different  buttons        Twas a royal pain  and it precludes the  seamless arbitrary switching between batch  and WD input     Prototyping  3    Berry was never fully happy with the first  version  He ended up using rapid sequences  of button clicks  with no keyboard input or  moving the mouse from the palette to rapidly  build up a skeleton of the picture  Then he  manually edits the saved IR to what he needs  with a text editor     Second 
39. l of how you use it     How Spec Example  1    E g  Knuth exposed the line breaking  algorithm for TEX in The TeXbook  which  serves both as a specification of TEX and as a  UM  for 2 reasons     1  to ensure that all implementations of TEX  produce the same formatted output  even  down to the line breaks and spacing  between words  and    Specifying    How    Information     We are admonished to specify What a CBS  does  and not How the CBS does it     Sticking to What gives the implementers the  greatest freedom     Sometimes it is necessary to give some How  details  usually under the rubric of     Architecture        It is possible to do so in a UM     How Spec Example  2    2  to give the user enough smarts about the  line breaking algorithm that he or she can  exercise the commands to achieve the  desired line breaking and interword  spacing     That the specification of TEX is its UM served  as a filter to make sure that a How detail  showed up in the manual only when the detail  is necessary for the user   s effective use of  TEX     Special kinds of UMs    Embedded System E    User of Eis another system S with which E  interacts     Consider the programmer of S that uses E     He or she needs to know what functions E  offers under what conditions     The manual for these functions of E is  equivalent to a requirements specification for  E     Other Kinds of UMs    The above has talked about UMs as RSs for  Information Systems     There are other kinds of systems with
40. lication thoroughly     oI eo    F ainchtein   s Offer    Fainchtein approached project leader with  idea of producing a RS in the form of a UM     Project Needed RS  10    Describing the application thoroughly would  force consideration of all the details and  questioning of tacit assumptions     Fainchtein believed that writing a UM as a RS  would be a good method to do what was  needed and to get the desired RS     Skeptical Manager    This idea appeared very risky to the skeptical  manager     However  manager understood that    e some RS would be useful even though he  did not perceive that  o he had the resources for it or  o it was valuable enough to commit his  precious resources to it  and    e eventually  a UM would need to be written     The Deal    Fainchtein offered to write the UM on his own  time     Manager agreed that    e Fainchtein would write a UM during time  allotted to Fainchtein   s studies  but   e Fainchtein could interact with project  personnel and other stakeholders freely     UM and Prototype    Because of prototyping  UM was not  functioning as a poor man   s prototype  it was  serving as only the specification     The Payoff    Thus  the manager got a needed document    e ata cost reduced to well below the  document s perceived benefit    e ataconsiderably reduced technical risk   and   e with a very high potential payoff in reduced  costs  errors  etc     Some Prototyping Unnecessary    However  UM did make some prototyping  unnecessary     On
41. maintainers     Another Opinion    According to Richard Fairley in his 1985  Software Engineering Concepts  a preliminary  UM should be produced at requirements  definition time     He proposes the following outline for the   preliminary  manual     Preliminary UM  2    2  Getting started  e Sign on  e Help mode  e Sample run  3  Modes of operation   Commands Dialogues Reports  4  Advanced features  5  Command syntax and system options    Preliminary UM  1    1  Introduction   Product overview and rationale   e Terminology and basic features   e Summary of display and report formats  e Outline of the manual    Where are the Scenarios     Chapter 3  about Modes of Operation  is  precisely a list of scenarios  dressed up as a list  of    e problems the user might be faced with  and  e how to solve them with the software being  described     CBSs Admitting UMs as RSs  1    The approach of offering a UM as the principal  or only RS of a CBS works only for those  CBSs for which a UM describes all but trivially  explained requirements     CBSs Admitting UMs as RSs  3    If a CBS has several kinds of users  one UMs  manual can be written for each kind     However  then achieving and maintaining  consistency of all UMs becomes a problem     CBSs Admitting UMs as RSs  2    Thus     e The CBS must have at least one kind of  user    e The CBS must provide all but trivially  explained functionality through at least one  UI  and all of this functionality must be  clear from the behavior s
42. mmary of all the commands    Good UMs  9    Leaving out the second leaves the reader  without any sense of what is important and  how to use the system to solve his or her  problems     A well written second part makes reading the  manual  even the third part  fun     Good UMs  10    The third part must be consulted in order to  fully explain why the input of an example  solved the problem the example claims it  does     It is in writing the first and second parts that  diagrams are most useful  although I have  seen good third parts that use a collection of  related diagrams  one per command  to  explain the system response to every  command     Good UMs  12    Writing a good UM takes skill  and there is no  substitute for that skill       hope that at least one person in each group  has that skill     In an industrial situation  the client and the  software house must hire good writers to write  skillful conception and requirements  documents     Good UMs  11    A good way to organize the first part is around  the abstractions that you have found in the  problem domain     i e   a Domain Model     Each abstraction that survives the analysis  should be explained in terms of   e what the objects are   e what they do   e what is done to them    English Majors as Documenters    Bob Glass reports how successfully non   software knowledgeable English majors were  able to write high quality descriptions of the  grubby details of programs in documentation  about these programs for 
43. n the accumulated IR is  submitted to PICITROFF     At any time  clicking on X box is the same as  entering    X    on the keyboard  for any PIC  element X     WD PIC vs  other WD Drawers    Because of equivalence of batch and WD  picture for any IR     in WD PIC  rarely have to move mouse to  canvas     can stay in palette  clicking away     In other WD drawers  must move mouse to  canvas to position a clicked palette item     Requirements  2    E g  all of the following are equivalent      stand alone character is typed  labeled box is  clicked     box  input JarrowJ   box     i npu t     arrow     box  input  J  arrow     Requirements  3    Avoid dialogue boxes and confirmation  buttons     Cut  copy  paste  and other direct  manipulation at the graphic level     Requirements  5     Note how these last two can contradict each  other  moving a box to an arbitrary point  requires pairs of 8 digit floating point numbers  as coordinates      Grid of symbolic distances with origins in  symbolically identifiable places  e g   movewid  x moveht grid centered at Box ne     Requirements  4    IR of picture should be what human being  would type  making use of defaults  and not  showing full parameters with 8 digit floating  point numbers as parameter values  e g      box  input   rather than    box wid  75237589 ht  58639282  at 3 8203785  2 9851863  input     Requirements  6    Can point to a grid point in order to  e g   put  things there by DM     Can  at any time  edit the IR w
44. nimum  explanation by all involved in the elicitation  and analysis     The notation writes itself     Requirements Notations  7    My experience has been that a good notation  just happens during the elicitation and  analysis phase     It happens because at the time it was    introduced  it seemed like the logical thing to  use     Quotations Worth Quoting    Never underestimate the lack of sophistication  of the unsophisticated user     Never underestimate the lack of sophistication  of the sophisticated user     The donut from X was so bad that the best  tasting part was the hole     Conclusions  Writing a good RS is hard     It is hard to motivate people to write one     Case Studies Show    Certainly  the case studies have demonstrated  that for appropriate CBS  the production of a  UM and the UM itself can serve the purposes  of and provide the benefits of producing a RS  and the RS itself     However  the issue remains  whether  producing a UM helps mitigate the inhibitions  against producing a RS     UM can beideal RS    A UM is an ideal RS in many cases because  if  it is well written     e itis written at the level of what the user  sees    e it describes the basic concepts  and   e it does not describe implementation  details     That is  it is written at the right level of  abstraction for a RS     Academic Case Studies    In academic case studies  the professor was a  dictator who could force producing a RS even  if the students hated it        Industrial Case St
45. oticed a systematic approach that  discovered about 80  of the scenarios     Scenario Generation by Grammar    Most scenarios consist of a user creating an  individual PIC element adjusted with no or a  variety of attributes     Scenario Generation  3    e to allow a digression  i e   a subscenario   before and after each terminal and  nonterminal   to do some file command    to edit the IR    to change the view    to change session attributes    to specify grid  gravity  or both    to set defaults    etc     O O 000 0 0    Scenario Generation  2    Thus  it seems reasonable to follow the  context free grammar of the intermediate rep   i e   the PIC language itself and    e to regard the sublanguage for each PIC  item as a high level scenario that can call  subscenarios    e to regard each way to input a token  e g  by  mouse click or keyboard entry  as a  subscenario  and    Systematics    The systematics of this approach helps insure  completeness     It does not guarantee completeness   unfortunately     Finding Ambiguities  1    Our experience in the case studies   particularly the WD PIC projects  is that the  process of writing and validating a UM used  as a specification helps expose ambiguities   even the subconscious ones     Writing a UM Helps SE    Finding Ambiguities  2    Student groups clarified a number of  misunderstanding with Berry by showing him  a Ul and a number of use cases     Berry   s reactions to the UI and the use cases    made the ambiguities and h
46. out and described in the manual     Thus  very little of the traditional    e implementation time fleshing out of  exceptional and variant cases and  e implementation time subconscious RE     Satisfied Customer    Berry found Ou   s implementation to be  production quality and is happily using it in  his own work     Test Cases    The manual   s scenarios  including exceptions  and variants turned out to be a complete set of  black box test cases     Tests were so effective that  to our surprise         scenarios not described in the manual  but  which were logical extensions and  combinations of those of the manual worked  the first time     The features composed orthogonally without a  hitch     Industrial Case Study    For his master   s degree research  Igor  Fainchtein wrote a UM as a RS for  ExpressPath     E xpressPath    ExpressPath is a natural language speech  recognition system developed by LGS  an IBM  Company     ExpressPath allows software to answer  telephones and to satisfy user   s requests in a  voice only interface     Voice only interface is more convenient to  user than traditional Interactive Voice  Response  IVR  system that uses the  telephone   s touch tone keyboard for input     ExpressPath is New  2  ExpressPath will set the standards   Thus  difficulty understanding the UM raises    concerns about the described system   s  usability    ExpressP ath is New  1    ExpressPath   s voice user interface  VUI  is not  well known by the user community  lik
47. pt  3  We do not have to worry about interpage arcs     We can focus on doing simple and small  flowcharts well     If user wants a multi page flowchart  he or she  must break it by hand into several one page  flowcharts     Design Approach  2    We iterated on the initial UM until we were  satisfied that the specified FLO could be used  to draw all flowcharts that we had seen in  recent books and papers on theory of  computing and software engineering     That is  the UM became the RS     Design Approach  1    1  We wrote an initial UM to describe all  features that would be implemented     Design Approach  3    2  The first version of the UM used hand coded  PIC descriptions to draw each flowchart in the  manual to look as if FLO had done it     These hand coded PIC descriptions were also  our idea of the kind of output that FLO would  create for the FLO input     Design Approach  4    3  We did the following steps simultaneously  and repeatedly     We implemented features in FLO and  commented out hand coded examples in  the manual source in order to let the FLO   generated PIC code show through     Design Approach  6    We modified the implementation to reflect  changes in the manual that were indicated  by discoveries made during attempted use  of the features described in the manual to  write a changed manual     Design Approach  5    We modified the manual to reflect changes  in FLO   s implementation that were  necessitated by discoveries made during  failures to impl
48. raw picture for inclusion into  typeset documents   Input   interactive  mouse movements  etc   Output   some picture description  language for typesetting  e g    POSTSCRIPT or PIC    Previous Solutions  5    2     The user must input the topology of  flowchart and not the algorithm of  flowchart       Same as 2     Goals  1    1  be able to include flowcharts into  documents typeset with DITROFF via PIC                 FL  PS  FLO description flo PIC description  of algorithm of flowchart   FE  PE                               Goals  2    The one page limit of PIC pictures leads to  concept of includable flowchart  a flowchart  that can be shown entirely on one page     If the user needs a larger flowchart  he or she  must manually break it into page sized  subflowcharts and specify the interpage  connections explicitly     The next slide shows the DITROFF pipe     Goals  3    2  use an input language that describes the  algorithm and not the flowchart    3  need to input only the algorithm to get a  standard flowchart    Goals  4    4  be able to add clues to flowchart definition  in order to get a more customized  flowchart  both globally applicable and  locally applicable clues    Icing  since there is a version  TPIC  of PIC  that outputs TeX input  FLO can also be used  with TeX              N           YES bo NO             YES Odd I Power  Z             NO                   I  I Div 2  W  Sqr W                   Goals  5    So from the simple input      FL   W  X   Z
49. the misunderstanding was     Comparing SRSs and Manuals    Thus  Berry had a chance to compare UMs for  WD PIC to a traditional SRS for WD PIc     Even though Berry is    e thoroughly familiar with WD PIC and  e thoroughly computer literate     he had a hard time understanding some  specifications of some features in the SRS     SRS vs  UM  2    The clarity of the two specifications were like  night and day     Berry empathized with customers who report  that they understand and accept  specifications that they were too embarrassed  to admit that they had not understood at all     Key Difference  1    The normal SRS describes only what the  system does     The UM describes conversations between user  and system to achieve user   s goals     The UM was more alive     Berry could see himself as the user in the  manual     Key Difference  3    So  Berry had no idea what user behavior was  implied     Thus  if a behavior bore any resemblance to  his preconceived idea of system behavior  he  believed that the SRS described what he  wanted     Key Difference  2   He could spot instantly described user  behavior that did not correspond to what he  would do     The normal SRS does not describe user   s  inputs and reactions     It describes only system   s behavior in a  vacuum from the user     Designers and Implementers    Can be argued that a UM favors the user over  the designer and implementer     If a UM is use case centered  it   s hard to  identify functions that must be impl
50. the very beginning of the writing of a  UM  you should build and maintain a glossary   dictionary  lexicon  of technical terms for the  manual     This glossary is not only for the benefit of the  reader  but also for your benefit as the author  to avoid two terrible scourges of writing that  tries to be interesting     e US   unnecessary synonymy and  e CP   confusing polysemy    A Definite NO NO    If you use    the user     remember that it is  singular     Therefore  the correct pronouns for it are      he        she     and    he or she      and NOT      they        Grrrrrrrr       U nnecessary Synonymy    US is using more than one word for the same  concept  e g             the program        the software        the system         X     where Xis the name of the program       the X software     etc     The reader is left wondering if there are even  subtle differences between these different  terms     Necessary NonSynonymy    Occasionally you may need to distinguish  between the software as an artifact supplied  on a medium and an invocation of the  software     Confusing Polysemy    CP is using one word for more than one  concept  e g          Necessary NonSynonymy  Cont   d    In that case  you make two entries into the  Glossary        the X program  a copy of the X program ona  CD    and      X   an invocation of the X program running  on your computer        and you carefully maintain the distinction in  the writing     Confusing Polysemy  Cont   d    One document
51. udy  1    In the industrial case study  there was not  going to be a Suitable RS and there was not  even going to be a totally suitable RE process     The project leader was not motivated at first to  even try producing a UM as the RS     Only when he got an offer  that could not be  refused  of a UM written on an employee   s  own time  with minimal resource demands on  employees working for him  that he agreed to  an attempt to produce a UM as the RS     Industrial Case Study  3    However  once it became apparent to the  leader and to the rest of the team that        writing the user   s manual was working as an  RE process and that they would get both an   acceptable RS and a UM for the price of one   the entire project team  including the leader   bought into the UM as    the spec        Industrial Case Study  2    Adding to the deal   s sweetness was the  realization that a UM would eventually have to  be written anyway     In accepting the offer  perhaps as a favor to  Igor   s education that he was already  supporting  he remained skeptical as to the  UM   s effectiveness as a RS     Perhaps More Can Try It    With enough demonstrations of effectiveness  and cost benefits  perhaps more projects can  be persuaded to adopt this approach as an  effective compromise between the extremes of  having no RE process at all and having a full   fledged heavy weight RE process producing  both a SRS and related documents and a UM     Wary of YAMBW    While industry is wary of jump
52. us experience with the  application    e the Ul centeredness of the application  and   e the medium size of the application     Cannot Generalize    Thus  we cannot necessarily conclude that  UMs will always make good RSs and that  writing the UM as the RS will always help a  project to be successful     Threats in Industrial Case    These were not factors in the industrial case   In that case  the success could have been the  result of    e the Hawthorne effect  since writing a UM as  a RS was a totally new and experimental  activity for the people involved  and   e the fact that it was at first not considered a  real part of the project  because it was  being done as an academic project on  Igor   s own time    Hard to Generalize in SE    There is no completely satisfactory to validate  any SE method  There   s a trade off between  statistical significance and generalizability to  real life  industrial strength projects     More Industrial Studies Needed    So  more case studies are needed to build up  an experience base to led ever increasing  credibility to the claim that UMs make good  RSs for the appropriate kinds of CBSs     Foxtrot    How s YOUR I m STUCK ON A    TD OFFER TO HELP  MATH  THIS OH  THA  HOMEWORK  WORD PROBLEM  BUT  T S BEEN A S SORT OF WOULD IT KILL  COMING      WHILE SINCE WORD PROBLEM  MICROSOFT To   f    PETER  INCLUDE A    oe    A       But No One Makes UMs Any More    J Oh where  oh where have all the manuals  gone       am reminded of a Foxtrot com
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
取扱説明書  Warning  Geo TOPIA-tube (PDF:10MB)  TG501 Service Manual - Iss 5  Microdata User Guide Survey of Principals 2004/05  MD Building Products 04929 Installation Guide : Free Download, Borrow, and Streaming : Internet Archive  取扱説 明書 - 減塩モニタ    181i Service Manual FABRICAToR  検証実験の提案    Copyright © All rights reserved. 
   Failed to retrieve file