>  Workshops
>  Tutorials
>  Doctoral Symposium

Download tutorial notes

Tutorials

Full-Day Tutorial

F1

Context: Its Discovery, its Forms, and its Management in Non-Functional Requirements

Half-Day Tutorials

H1

Ten Simple Steps to Better Requirements

H2

Change Agency for Requirements Engineers

H3

Building a Platform-Independent Model with MDA

H4

Successful Product Line Development with Strong Requirements Engineering and Management

H5

Security Requirements Engineering Methodologies

H6

Aspect-Oriented Requirements Engineering


F1: Context: Its Discovery, its Forms, and its Management in Non-Functional Requirements
Don Gause, Savile Row, LLC and Binghamton University (USA)
Tuesday, September 12 - Full Day

Abstract:
Looking back to the early days of computing, our clients expected our systems to just work - where work meant producing functionally correct, crash-free results. Today our clients demand much more than running hardware and functional correctness. We are increasingly expected to produce systems with functional completeness. This completeness includes consideration of the 'ilities' - from accessibility to usability - to help us realize full design opportunity. In short we must understand and define, more completely than ever before, the business, operating, client, social, and cultural environments of our yet-to-be systems. We have many fine requirements processes for specifying form. This tutorial deals with requirements processes for discovering and specifying context.
We will illustrate, in a highly interactive manner, a series of elicitation, documentation, and design management heuristics that we have found to be especially effective in teasing out the many critical environmental issues and nuances. These heuristics have been developed to help us get a better handle on those implicit, ill-defined factors of context that can spell design success or failure. These heuristics help us to identify greater numbers of essential features on our way to uncovering more of those market titillating gee whiz features.

Presenter's Biography:
Donald C. Gause is a Principal at Savile Row, LLC and a Professor Emeritus at the Department of Bioengineering, Thomas J. Watson School of Engineering, SUNY/Binghamton, USA.
He has worked as an engineer and computer programmer and has managed engineering, programming and education groups with General Motors and IBM. He has been active as a consultant and professor for the past 38 years, has lectured in many universities and institutes around the world, served as a national lecturer for a number of professional societies and on the editorial boards of several professional journals.
Mr. Gause's consulting and research interests include the development and analysis of requirements engineering and systems design processes, the design of user-oriented systems, and the management of productive innovation within large organizations. He has advised very large (Fortune 100) and very small (Internet start-up) companies, alike, in the development of strategic systems and products incorporating highly innovative features.
He is the author (with G. M. Weinberg) of Are Your Lights On? and Exploring Requirements: Quality BEFORE Design.

Download tutorial notes (password required)

> Top


H1: Ten Simple Steps to Better Requirements
Ian Alexander, Independent Consultant (UK)
Monday, September 11 - Morning

Abstract:
If you want to know how to get started with practical requirements for your project, this tutorial is for you. The basic elements of working out what you want, and writing them down clearly, are simple and straightforward. In this half-day tutorial, participants learn how to begin with requirements. The tutorial takes you through ten simple steps to better requirements: mission & scope, stakeholders, goals & goal conflicts, scenarios, traditional "the system shall" requirements, project dictionary, justifications, assumptions, priorities, and finally acceptance criteria. Using the minimum of theory, you will learn how to apply practical techniques for each step. These are illustrated with diagrams and examples from industry.
Participants will take away a basic understanding of how to structure their requirements into the ten products; templates for stakeholder analysis and requirement types; a glossary; and a book list.
The tutorial is designed for people relatively new to requirements work. It is also a suitable introduction to requirements for professionals in other areas such as testing, quality assurance, and configuration management who would like to gain a practical insight into requirements engineering. No prior knowledge of requirements is assumed, but experience on development projects is a definite advantage.

Presenter's Biography:
Ian Alexander is an independent consultant specialising in Requirements Engineering for systems in sectors such as automotive, aerospace, transport, telecommunications and public service. He has served as a consultant to DaimlerChrysler Research & Technology since 2001. He is an experienced instructor and has written several training courses, as well as numerous technical papers and popular articles (www.scenarioplus.org.uk). He was the lead editor of the book Scenarios, Stories, Use Cases (John Wiley 2004) and lead author of Writing Better Requirements (Addison-Wesley 2002). He edits the newsletter of the BCS Requirements Engineering Specialist Group (www.resg.org.uk) and heads the requirements section of the IET Professional Network for Systems Engineers. He is a Chartered Engineer.

Download tutorial notes (password required)

> Top


H2: Change Agency for Requirements Engineers
Erik Simmons, Intel (USA)
Monday, September 11 - Afternoon

Abstract:
If requirements engineering is such a good thing to do, why aren't more companies and teams embracing it? The answer to this question is complex, but one major reason more companies don't effectively embrace requirements engineering is that they are unable to change their culture and behaviors. However, there is a set of skills that can be applied within this setting to greatly increase the odds of successful requirements engineering adoption or improvement: change agency skills. A requirements engineer who is also a skilled change agent can be successful in applying requirements engineering within a variety of corporate and cultural settings.
In this tutorial, we'll examine some foundation practices of change agency as they apply specifically to requirements engineering, including Diffusion of Innovations, Evolutionary Delivery, and influence skills. We will also examine the details of a proven business model for change agency within a corporate setting. Examples and exercises reinforce the presented materials. After completing this tutorial, attendees will be able to discuss change agency using a common language and framework, apply that framework to requirements engineering as an innovation, and tailor an approach to improving requirements engineering practices within a variety of corporate settings and cultures.

Presenter's Biography:
Erik Simmons is a change agent in Intel's Corporate Platform Office, where he is responsible for requirements engineering practices within product and platform development at Intel and works regularly with the methods and practices taught in this tutorial. In addition to his requirements responsibilities, Erik also assists with several other corporate initiatives in systems and software engineering. He writes and speaks regularly on requirements engineering, usage models, change agency, process improvement, risk, software development, and related topics both inside Intel and in the industry at large. Erik holds an MS in mathematical modeling from Humboldt State University, and was appointed to the Clinical Faculty of Oregon Health Sciences University in 1991.

Download tutorial notes (password required)

> Top


H3: Building a Platform-Independent Model with MDA
Chris Armstrong
Monday, September 11 - Morning

Abstract:
Model-Driven Architecture® (MDA®) describes a framework of integrated models for driving system development: a Computation-Independent Model (CIM), a Platform-Independent Model (PIM), and a Platform-Specific Model (PSM). A system use case model and supplemental requirements represent the lowest level of the CIM. Analyzing the use cases in the CIM is the most critical step in transforming the requirements in the use case model into a platform-independent analysis model. on which you can base the design. The speaker will demonstrate how to use Unified Modeling Language (UML) collaborations to create analysis realizations and identify the initial candidate analysis classes using boundary, control, and entity classes. Then the behavior of the use case is distributed as responsibilities to the analysis classes using a communication diagram or sequence diagram - one per flow of events for the use case. Then the structure required to support the collaborations is documented in a participants class diagram. The result is a simple and concise model of the preliminary design classes, their relationships, and responsibilities. The process of transforming the requirements into the PIM also helps uncover "issues" with the requirements in the use case model as well.

Presenter's Biography:
Chris Armstrong, President of Armstrong Process Group, Inc., is an internationally recognized thought leader and expert in iterative software development, object-oriented analysis and design, architecture, the Unified Modeling Language (UML), use case driven requirements, and process improvement. Over the past twenty years, Chris has worked to bring modern software engineering best practices to practical application at many different private companies and government organizations all over the world. Chris has spoken at over 30 conferences over the last seven years and has written a number of articles for various publications. Chris is the technical representative for APG at the Object Management Group (OMG) and is currently contributing to the UML 2.0 specification and the Software Process Engineering Metamodel (SPEM) 2.0 specification. Chris is also the APG representative to The Open Group Architecture Forum. Chris also co-chairs the TOGAF/MDA process modeling effort. Chris also represents APG at the Eclipse Process Framework project.

Download tutorial notes (password required)

> Top


H4: Successful Product Line Development with Strong Requirements Engineering and Management
Andreas Birk and Gerald Heller
Monday, September 11 - Afternoon

Abstract:
This tutorial presents industrial requirements engineering and management (REM) practices that have proven successful for product-line software development. Many software products evolve gradually into product lines, as they mature along their lifecycle, branching more and more variants that share a common core. Software organizations that intentionally set up product lines target higher levels of reuse, cost savings, productivity, flexibility, and quality. The advantages of software product lines do not come for free. They demand mature software management and development practices, which are capable of coping with new levels of organizational and architectural complexity. Requirements engineering and management is a central point of product line development. It must be able to deal with factors like the constant flow of requirements, a heterogeneous stakeholder community, a complex development organization, long-term release planning, demanding software architecture, and challenging testing processes. For successful product line development, a collection of essential REM practices must be in place, which need to support the meta project management capabilities. Many REM practices must be tailored appropriately to the specific demands of product lines. The tutorial explains the specific challenges inherent to requirements engineering and management in the context of product line organizations. The authors, two experienced software engineering professionals in large and renowned software organizations, share their in-depth experience from various product line projects. They point out common challenges and pitfalls, and show strategies for making requirements engineering and management a key driver of successful product line implementation. Tutorial participants receive a toolbox full of advanced REM practices that are fit for industrial-strength software projects. They learn how to adapt these practices to the many occurrences of product line architectures and organizations.

Presenters' Biographies:
Andreas Birk is a senior consultant and project lead at sd&m;, software design and management in Germany. His special interests include requirements, architecture, the software process, and process improvement. He holds a Dr.-Ing. in software engineering and a Dipl.-Inform. in computer science and economics from the University of Kaiserslautern, Germany. Andreas is an experienced speaker at international conferences, and has given numerous in-house seminars and conference tutorials.

Gerald Heller is a senior software engineering consultant at Hewlett-Packard in Germany. He has worldwide responsibility for the requirements engineering process at HP's largest software organization. Gerald regularly provides in-house training and coaching about requirements management practices in several countries around the world. He has presented HP's implementation of requirements management at conferences and working groups. Other areas of interest include collaborative, component based development agile development. He received his Dipl.-Inform. in computer science from Friedrich Alexander University of Erlangen, Germany.

Download tutorial notes (password required)

> Top


H5: Security Requirements Engineering Methodologies
Fabio Massacci, John Mylopoulos and Nicola Zannone
Tuesday, September 12 - Morning

Abstract:
The last years have seen a growing interest for methodologies for Software Engineering able to deal with trust and security requirements from the very early stage of the software development process. However, the major limitation of current proposals is that they focus on protection aspects of security and explicitly deal with low level protection mechanisms. Actually, attackers bypass security mechanisms by exploiting weaknesses embedded in socio-technical systems rather than break them. This reveals the necessity of modeling and analyzing high-level organizational security requirements together with functional requirements.
The focus of this tutorial is the development of Goal-oriented Security Requirements Engineering methodologies. In this setting, the standard approach is to treat security as a non-functional requirement. Although it supports the representation and analysis of design decisions that can contribute to a security goal and the modeling of attackers along with their malicious goals, it fails to support the notions of ownership and permission that are at the very foundation of all security concerns. To this intent, we propose the Secure Tropos methodology. It is founded on three main notions: ownership, delegation and trust. We show how such concepts support requirements engineers from modeling activities up to security requirements verification.

Presenters' Biographies:
Fabio Massacci received a M.Eng. in 1993 and Ph.D. in Computer Science and Engineering at University of Rome "La Sapienza" in 1998. He visited Cambridge University in 1996-1997. He joined University of Siena as Assistant Professor in 1999 and was visiting researcher at IRIT Toulouse in 2000. In 2001 he joined the University of Trento as Associate Professor.
In 2001 he received the Intelligenza Artificiale award, a young researchers career award from the Italian Association for Artificial Intelligence. He is member of AAAI, ACM, IEEE Computer society and a chartered engineer.
His research interests are in automated reasoning at the crossroads between artificial intelligence and computer security. He has worked on automated deduction for modal and dynamic logics and their application to access control. In 1999 he worked on the encoding of cryptographic algorithms (DES, RSA, etc) into satisfiability problem for verification and cryptanalysis.

John Mylopoulos received his BEng degree from Brown University in 1966 and his PhD degree from Princeton in 1970, the year he joined the faculty of the University of Toronto. His research interests include requirements engineering, conceptual modeling, data semantics and knowledge management.
Mylopoulos is the recipient of the first-ever Outstanding Services Award given by the Canadian AI Society (CSCSI), a co-recipient of the best-paper award of the 1994 International Conference on Software Engineering, a fellow of the American Association for AI (AAAI) and the elected president of the VLDB Endowment (1997-2003). He is co-editor of the Requirements Engineering Journal (published by Springer-Verlag). He has also contributed to the organization of major international conferences, including program co-chair of the International Joint Conference of AI (1991), general chair of the Entity-Relationship conference (1994), program chair of the International IEEE Symposium of Requirements Engineering (1997), and general chair of the Very Large Databases Conference (2004).

Nicola Zannone received a MS Degree in Computer Science at the University of Verona in 2003. He is currently a PhD student in the Department of Information and Communication Technology at the University of Trento. He visited the Center for Secure Information Systems at George Mason University in 2005. He received the IBM Ph.D. Fellowship Award for the 2006-2007 Academic Year.
His research interests include computer security and formal verification. He is mostly interested in Security Requirements Engineering and in particular in the application of formal analysis techniques to the design of socio-technical systems. He has also worked on system security and protocol verification.

Download tutorial notes (password required)

> Top


H6: Aspect-Oriented Requirements Engineering
Awais Rashid, Ana Moreira, João Araújo and Ruzanna Chitchyan
Tuesday, September 12 - Afternoon

Abstract:
Most RE approaches, e.g. viewpoints and use cases, partition requirements into sets of partial specifications, thus promoting separation of concerns. However, certain requirements (e.g., security, information retrieval, etc.) crosscut these partial specifications and cannot be naturally modularised into use cases/viewpoints. Even if such crosscutting requirements are modularised using existing RE abstractions, ensuring analysability of their influence on other requirements is a challenging task. This tutorial aims to provide practical knowledge on how to effectively modularise and analyse such crosscutting requirements and their influences using Aspect-Oriented Requirements Engineering (AORE).
AORE works in tandem with the existing requirements approaches, by offering additional abstraction and composition mechanisms for systematically handling crosscutting (or so-called aspectual) requirements. The influence of these crosscutting requirements shapes the prioritisation of system requirements and, eventually, delimits the various architectural choices.
The tutorial starts by discussing practical scenarios involving crosscutting requirements in viewpoints- and use case-based models, demonstrating how a lack of modularisation and analysis of aspectual requirements negatively affects requirements and, consequently, clarity of architectural choices. We then demonstrate how to identify, modularise, compose and analyse trade-offs amongst aspectual requirements and discuss how AORE analysis provides insights into conflicting architectural choices even before the architecture is derived.

Presenters' Biographies:
Dr. Awais Rashid is a faculty member in the Computing Department, Lancaster University where he leads research in aspect-oriented (AO) software engineering. His principal research interests are in early aspects, advanced join point models and AO databases. He is the founding co-editor-in-chief of the Transactions on Aspect-Oriented Software Development journal by Springer-Verlag. He has co-edited two special issues of IEE Proceedings - Software, including one on AO RE and Architecture Design, and a special section of the BCS Computer Journal on topics in AO. He has been closely involved in the program and organising committees of the AOSD conference since its inception, and many other AO-related events, including the Early Aspects workshops. He was program co-chair for AOSD 2006 and is coordinating the European Network of Excellence on AOSD; he also leads its AO Analysis and Design Lab. He has published over 40 papers and given several invited talks, seminars and tutorials on relevant topics.

Dr. Ana Moreira is an Assistant Professor in the Computer Science Department at Universidade Nova de Lisboa, Portugal. She holds a PhD in computer science. Her main research areas are aspect-oriented requirements engineering and architecture design. She is a co-editor of the IEE Software Proceedings special issue on Early Aspects and is a member of the editorial board of the journals "Transactions on AOSD" and "Software and Systems Modeling". She is chair of the Steering Committee for MoDELS 2006 and has been involved, both as organizer and program committee member, in several international conferences, such as ECOOP, CAiSE, UML, MoDELS and AOSD. She has co-organised the various editions of the Early Aspects workshop (www.early-aspect.net). She publishes regularly in international events relevant to her research topics.

Dr. João Araújo is an Assistant Professor in the Computer Science Department at Universidade Nova de Lisboa, Portugal. He holds a PhD in Computer Science from Lancaster University, United Kingdom, in the area of Requirements Engineering. Currently his main research interest is in aspect-oriented requirements engineering, having several papers on this topic in international conferences and workshops. He was a co-organizer of the early aspects workshop series at AOSD 2002, AOSD 2003, AOSD 2004, OOPSLA 2004, OOPSLA 2005, AOSD 2005, AOSD 2006 and ICSE 2006. Moreover, he served on the organization committees as Tutorials Chair of UML'03, and as Co-publicity Chair of UML'04 and MoDELS 2005. He was also a PC co-chair of WER 2005 (Workshop on Requirements Engineering), co-located with CAiSE'05. Additionally, he is co-editing a special issue on Early Aspects (Transactions on AOSD journal).

Ruzanna Chitchyan is a researcher in the Computing Department at Lancaster University. Her principal research interests are in AO requirements engineering and early architecture design, multidimensional separation of concerns, and development of composition mechanisms in the requirements and early architecture context. She is one of the researchers leading the work on AO Requirements Engineering in the European Network of Excellence on AOSD. She is co-editing for a special issue on iDependencies and Interactions with Aspectsi for the Transitions on AOSD journal (http://www.aosd-europe.net/events/dia_taosd/) and has co-organised the First Workshop on Analysis of Aspect-Oriented Software at ECOOP 2003, and the workshop on Aspects, Dependencies, and Interactions at ECOOP 2006.

Download tutorial notes (password required)

> Top