CSC2106S: Requirements Engineering
  
  (Winter term, 2004) 
  
 
This web page currently refers to an old version of the course, taught in 
  2004. For the current version of the course, please see the main 
  course web page.
Note:
 
For 2004, we are running this course as an ARISE 
  video-conferenced course, linking together the Universities of Toronto, Waterloo 
  and York, and the IBM Toronto Lab. Students at any of these sites may take the 
  course, but note that enrollment numbers will be limited at some sites.
Course seminars are timetabled for Wednesdays, 2pm to 5pm, starting Jan 7th, 
  2004. Location information is as follows:
  - U of Toronto: Bahen Center, room BA7231
- U of Waterloo: the FlexLab, LIB 329
- York University: Stedman lecture hall, 120E
- IBM Toronto Lab: Y4-021
About the Course
Course Outline
Please note: this is just an overview of the course content. Students taking 
  the course can find more more material on the password protected page of Course 
  notes and readings. 
The slides available on this site are copyrighted. Please check with me if 
  you wish to reproduce or adapt any of this material. I will normally grant permission 
  for educational uses, as long as my copyright notice is preserved.
Week 1 (Jan 7, 2004): Course Orientation & Intro to RE 
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
  
    -  B. A. Nuseibeh and S. M. Easterbrook, "Requirements Engineering: A Roadmap", 
      In A. C. W. Finkelstein (ed) "The Future of Software Engineering". 
      (Companion volume to the proceedings of the 22nd International Conference 
      on Software Engineering, ICSE'00). IEEE Computer Society Press.
- Other Relevant Readings: 
    
      - A. van Lamsweerde, "Requirements engineering in the year 00: a research 
        perspective", Proceedings, 22nd International Conference on Software 
        Engineering (ICSE'00), Limerick, Ireland, 5-9th June, 2000, pp5-19. 
        IEEE Computer Society Press.
 
 Week 2 (Jan 14, 2004): Basics of RE 
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
    
      -  Jackson, M. (1997). The Meaning of Requirements. Annals of Software 
        Engineering, Vol 3, Pp5-21, Baltzer Science Publishers.   
        Note: this issue of Annals was a special issue on RE. Some of the 
        other papers are worth looking at too.
 
- Other Relevant Readings: 
    
      - Zave, P. and Jackson, M. (1997). Four Dark Corners of Requirements Engineering. 
        ACM Transactions on Software Engineering and Methodology 6(1) 
        1-30. ACM Press.
 
Week 3 (Jan 21, 2004): Project Initiation 
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
  
    - Hickey, A.M. and Davis, A.M. (2003) Elicitation technique selection: how 
      do experts do it? Proceedings, 11th IEEE International Requirements 
      Engineering Conference (RE'03), Monterey Bay, USA, 8-12th September 
      2003, Pages: 169-178. IEEE Computer Society Press.
- Other Relevant Readings: 
    
      - Bergman, M. and Mark, G. (2003) In situ requirements analysis: a deeper 
        examination of the relationship between requirements determination and 
        project selection. Proceedings, 11th IEEE International Requirements 
        Engineering Conference (RE'03), Monterey Bay, USA, 8-12th September 
        2003, Pages: 11-22. IEEE Computer Society Press.
-  Sutcliffe, A. (2003) Scenario-based requirements engineering. Proceedings, 
        11th IEEE International Requirements Engineering Conference (RE'03), 
        Monterey Bay, USA, 8-12th September 2003, Pages: 320- 329. IEEE Computer 
        Society Press.
- van Lamsweerde, A. (2001) Goal-Oriented Requirements Engineering: A 
        Guided Tour. Proceedings, 5th IEEE International Symposium on Requirements 
        Engineering (RE'01), Toronto, August, 2001, pp. 249-263. IEEE Computer 
        Society Press.
 
Week 4 (Jan 28, 2004): Elicitation Techniques (postponed!)
Week 5 (Feb 4, 2004): Elicitation Techniques
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
  
    - Goguen, J., & Linde, C. (1993). Techniques for Requirements Elicitation. 
      Proceedings, First IEEE International Symposium on Requirements Engineering 
      (RE'93) San Diego, California, USA, pp. 152-164. IEEE Computer Society 
      Press.
- Other Relevant Readings: 
    
      - Lloyd, W.J.; Rosson, M.B.; Arthur, J.D. (2002) Effectiveness of elicitation 
        techniques in distributed requirements engineering. Proceedings of 
        the IEEE Joint International Requirements Engineering Conference (RE'02), 
        Essen, Germany, 9-13 September, 2002, Pages: 311- 318.
- Potts, C.; Newstetter, W.C. (1997). Naturalistic inquiry and requirements 
        engineering: reconciling their theoretical foundations. Proceedings, 
        Third IEEE International Symposium on Requirements Engineering (RE'97), 
        Annapolis, USA, pp. 118 -127. IEEE Computer Society Press. 
 
Week 6 (Feb 11, 2004): Modeling Enterprises
  - slides in pdf format 
  
- Required Reading (please read this paper before the class!): 
    
      - Yu, E.S.K. (1997) Towards modelling and reasoning support for early-phase 
        requirements engineering. Proceedings, Third IEEE International Symposium 
        on Requirements Engineering (RE'97), Annapolis, USA, pp 226 -235. 
        IEEE Computer Society Press.
 
Week 7 (Feb 18, 2004): 
Week 8 (Feb 25, 2004): Modeling Information and Behaviour 
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
    
      - De Landtsheer, R.; Letier, E.; van Lamsweerde, A. (2003) Deriving tabular 
        event-based specifications from goal-oriented requirements models. Proceedings, 
        11th IEEE International Requirements Engineering Conference (RE'03), 
        Monterey Bay, USA, 8-12 Sept 2003. pp200-210.. IEEE Computer Society Press.
 
- Other Relevant Readings: 
    
      -  Whittle, J.; Schumann, J. (2000) Generating statechart designs from 
        scenarios. Proceedings, 22nd IEEE International Conference on Software 
        Engineering (ICSE-00), Limerick, Ireland, 4-11 June 2000. Pages: 
        314-323.
- Fichman, R.G.; Kemerer, C.F. (1992). Object-oriented and conventional 
        analysis and design methodologies. IEEE Computer, 25 (10) 22 
        -39, Oct. 1992.
- Glinz, M. (2000). Problems and Deficiencies of UML as a Requirements 
        Specification Language. Proceedings of the Tenth International Workshop 
        on Software Specification and Design (IWSSD-10). San Diego. pp11-22. 
        IEEE Computer Society Press.
 
Week 9  (Mar 3, 2004): Modeling Quality Requirements
  - slides in pdf format 
    (not yet available)
- Required Reading (please read this paper before the class!): 
    
      - Mylopoulos, J.; Chung, L.; Nixon, B. (1992) Representing and using nonfunctional 
        requirements: a process-oriented approach. IEEE Transactions on Software 
        Engineering,Vol 18, Issue 6, June 1992, Pages:483 - 497.
 
- Other Relevant Readings: 
    
      - Franch, X. (1998) Systematic formulation of non-functional characteristics 
        of software. Proceedings, Third International Conference on Requirements 
        Engineering, (ICRE'98). 6-10 April 1998. Pages:174-181. IEEE Computer 
        Society Press.
 
Week 10 (Mar 10, 2004): Specifications & Validation
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
    
      - Regnell, B., Runeson, P., Thelin, T. (2000) Are the Perspectives Really 
        Different? – Further Experimentation on Scenario-Based Reading of 
        Requirements. Empirical Software Engineering: An International Journal, 
        Volume 5, Issue 4, Dec 2000, Pages: 331-356.
 
- Other Relevant Readings: 
    
      -  IEEE Standards Board (1998) IEEE Recommended Practice for Software 
        Requirements Specifications. IEEE-STD-830-1998.
- Wilson, W.M.; Rosenberg, L.H.; Hyatt, L.E. (1997) Automated Analysis 
        of Requirement Specifications. Proceedings of the Nineteenth International 
        Conference on Software Engineering (ICSE-97), Boston, MA, May 17-23, Pages: 
        161 -171.
- Robertson, J.and Robertson, S. (1997) Requirements: Made to Measure. 
        American Programmer, Volume X, No. 8; August 1997.
- Porter, A.A.; Votta, L.G., Jr.; Basili, V.R. (1995) Comparing detection 
        methods for software requirements inspections: a replicated experiment. 
        IEEE Transactions on Software Engineering, 21 (6) 563 -575, June 1995.
 
Week 11 (Mar 17, 2004): Negotiation and Prioritization
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
    
      -  Damian, D.E.H.; Eberlein, A.; Shaw, M.L.G.; Gaines, B.R. (2000) Using 
        different communication media in requirements negotiation. IEEE Software, 
        Volume: 17 Issue: 3, May-June 2000. Page(s): 28 -36.
 
- Other Relevant Readings: 
    
      - Richards, D. (2003) Merging individual conceptual models of requirements. 
        Requirements Engineering Journal, Vol 8: pp195–205.
- Boehm, B.; In, H (1996) Identifying quality-requirement conflicts. IEEE 
        Software 13 (2) 25-35. March 1996.
-  Easterbrook, S. M. (1994) Handling Conflict between Domain Descriptions 
        with Computer-Supported Negotiation. Knowledge Acquisition: An International 
        Journal, Vol 3, Pp255-289, 1991.
- Karlsson J. and Ryan K. (1997) A Cost–Value Approach for Prioritizing 
        Requirements. IEEE Software Sept/Oct 1997, pp. 67-74
 
Week 12 (Mar 24, 2004): Managing Change and Inconsistency
  - slides in pdf format
- Required Reading (please read this paper before the class!): 
    
      -  Anton, A.I.; Potts, C. (2001) Functional paleontology: system evolution 
        as the user sees it. Proceedings, 23rd IEEE International Conference on 
        Software Engineering (ICSE'01), Toronto, Canada, 12-19 May, 2001. Pages: 
        421-430.
 
- Other Relevant Readings: 
    
      -  Easterbrook, S.; Nuseibeh, B. (1995) Managing inconsistencies in an 
        evolving specification. Proceedings of the Second IEEE International Symposium 
        on Requirements Engineering (RE'95), York, UK, Page(s): 48 -55.
- Faulk, S.R. (2001) Product-line requirements specification (PRS): an 
        approach and case study. Proceedings of the Fifth IEEE International Symposium 
        on Requirements Engineeirng (RE'01), Toronto, Canada. Pages 48-55.
- Gotel, O. C. Z. and Finkelstein A. C. W. (1995) Contribution Structures. 
        Proceedings of the 2nd IEEE International Symposium on Requirements Engineering 
        (RE'95), York, UK, pp. 100-107, March 27-29 1995. IEEE Computer Society 
        Press.
-  Ramesh, B. and Jarke, M. (2001) Toward reference models for requirements 
        traceability. IEEE Transactions on Software Engineering, Volume: 27 1, 
        January 2001, Pages: 58 -93.
- Feather, M.S. and Cornford, S. L.(2003) Quantitative risk-based requirements 
        reasoning. Requirements Engineering, Vol 8, pages 248–265.
 
Week 13 (Mar 31, 2004): How Much Formality?
  - slides in pdf format
- Required Reading (please read these papers before the class!): 
    
      - Parnas, D. L. (1998) “Formal Methods” Technology Transfer 
        Will Fail. Journal of Systems and Software. Volume: 40, Issue: 3. March, 
        1998. pp. 195-198
- Le Charlier, B.; Flener, P. (1998) Specifications Are Necessarily Informal 
        or: Some More Myths of Formal Methods. Journal of Systems and Software. 
        Volume: 40, Issue: 3. March, 1998. pp. 275-296.
- Berry, D.M., Formal Methods, the Very Idea, Some Thoughts on Why They 
        Work When They Work. Science of Computer Programming, 42:1, 11-27, January, 
        2002
 
- Other Relevant Readings: 
    
      - Greenspan, S.; Mylopoulos, J.; Borgida, A. (1994) On formal requirements 
        modeling languages: RML revisited. Proceedings, 16th International Conference 
        on Software Engineering (ICSE-16) pp135 -147. IEEE Computer Society Press.
-  Heitmeyer, C. L., Jeffords, R. D., & Labaw, B. G. (1996). Automated 
        Consistency Checking of Requirements Specifications. ACM Transactions 
        on Software Engineering and Methodology, 5(3), 231-261.
-  Heimdahl, M.P.E, and Leveson, N. G. (1996) Completeness and Consistency 
        in Hierarchical State-Based Requirements.