<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://13.50.150.85/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joh</id>
	<title>DTU ProjectLab - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://13.50.150.85/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joh"/>
	<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php/Special:Contributions/Joh"/>
	<updated>2026-07-15T07:06:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6956</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6956"/>
		<updated>2014-12-01T22:40:19Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Non-functional requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements&amp;lt;ref name=&amp;quot;snow&amp;quot;&amp;gt;[&amp;quot;http://www.informit.com/articles/article.aspx?p=1929849&amp;amp;seqNum=15&amp;quot;] &#039;&#039;Snow Card Template - InformIT&#039;&#039; &amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes&amp;lt;ref name=&amp;quot;QualityPic&amp;quot;&amp;gt;[&amp;quot;https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Quality in use characteristics and subcharacteristics&#039;&#039; &amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
* B. S. Blanchard, W. J. Fabrycky - Systems Engineering and analysis 4th edition&lt;br /&gt;
* K. Pohl - Requirements Engineering: Fundamentals, Principles and Techniques&lt;br /&gt;
* G. Kotonya, I. Sommerville - Requirements Engineering - Processes and techniqes&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6946</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6946"/>
		<updated>2014-12-01T22:37:54Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Functional requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements&amp;lt;ref name=&amp;quot;snow&amp;quot;&amp;gt;[&amp;quot;http://www.informit.com/articles/article.aspx?p=1929849&amp;amp;seqNum=15&amp;quot;] &#039;&#039;Snow Card Template - InformIT&#039;&#039; &amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
* B. S. Blanchard, W. J. Fabrycky - Systems Engineering and analysis 4th edition&lt;br /&gt;
* K. Pohl - Requirements Engineering: Fundamentals, Principles and Techniques&lt;br /&gt;
* G. Kotonya, I. Sommerville - Requirements Engineering - Processes and techniqes&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6944</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6944"/>
		<updated>2014-12-01T22:37:23Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Functional requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.informit.com/articles/article.aspx?p=1929849&amp;amp;seqNum=15&amp;quot;] &#039;&#039;Snow Card Template - InformIT&#039;&#039; &amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
* B. S. Blanchard, W. J. Fabrycky - Systems Engineering and analysis 4th edition&lt;br /&gt;
* K. Pohl - Requirements Engineering: Fundamentals, Principles and Techniques&lt;br /&gt;
* G. Kotonya, I. Sommerville - Requirements Engineering - Processes and techniqes&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6942</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6942"/>
		<updated>2014-12-01T22:34:42Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Additional related material */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
* B. S. Blanchard, W. J. Fabrycky - Systems Engineering and analysis 4th edition&lt;br /&gt;
* K. Pohl - Requirements Engineering: Fundamentals, Principles and Techniques&lt;br /&gt;
* G. Kotonya, I. Sommerville - Requirements Engineering - Processes and techniqes&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6941</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6941"/>
		<updated>2014-12-01T22:34:15Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Additional related material */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779 - System Requirements Engineering book&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
* B. S. Blanchard, W. J. Fabrycky - Systems Engineering and analysis 4th edition&lt;br /&gt;
* K. Pohl - Requirements Engineering: Fundamentals, Principles and Techniques&lt;br /&gt;
* G. Kotonya, I. Sommerville - Requirements Engineering - Processes and techniqes&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6931</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6931"/>
		<updated>2014-12-01T22:30:36Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779 - System Requirements Engineering book&lt;br /&gt;
*http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
*http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
*http://sutlib2.sut.ac.th/sut_contents/H104135.pdf - A book about Systems Engineering and Analysis, this book cover most of the system and requirement engineering process&lt;br /&gt;
*http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=1869735 - Good book that covers the fundamentals of requirements engineering&lt;br /&gt;
*http://www.saxo.com/dk/requirements-engineering_gerald-kotonya_hardback_9780471972082 - Also a good book that covers the fundamentals of requirements engineering with good techniques and methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6929</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6929"/>
		<updated>2014-12-01T22:30:00Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008 - Systems and software engineering - System life cycle processes&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007 - Systems engineering -- Application and management of the systems engineering process&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 - ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB - Video presentation about introduction to requirements engineering&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779 - System Requirements Engineering book&lt;br /&gt;
http://www.wohlin.eu/rm_chapter05.pdf - A paper about the context method&lt;br /&gt;
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.8494 - A document specifying design and validation for software systems&lt;br /&gt;
http://sutlib2.sut.ac.th/sut_contents/H104135.pdf - A book about Systems Engineering and Analysis, this book cover most of the system and requirement engineering process&lt;br /&gt;
http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf - Paper about requirements elicitation.&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=1869735 - Good book that covers the fundamentals of requirements engineering&lt;br /&gt;
http://www.saxo.com/dk/requirements-engineering_gerald-kotonya_hardback_9780471972082 - Also a good book that covers the fundamentals of requirements engineering with good techniques and methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6884</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6884"/>
		<updated>2014-12-01T22:17:59Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Strength and weaknesses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Thank your for your review, it was very helpfull and gave new perspective! :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;This should be fixed now, thanks highlighting that. :-)&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you for your review, I can definitely see the language in the article has improved due to you catching my grammatical errors. :-) &#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6871</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6871"/>
		<updated>2014-12-01T22:15:13Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* General remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Thank your for your review, it was very helpfull and gave new perspective! :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;This should be fixed now, thanks highlighting that. :-)&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6870</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6870"/>
		<updated>2014-12-01T22:14:42Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* General remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Thank your for your review, it was very helpfull and gave new perspective! :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;&#039;This should be fixed now, thank highlighting that. :-)&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6868</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6868"/>
		<updated>2014-12-01T22:13:39Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Thank your for your review, it was very helpfull and gave new perspective! :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6867</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6867"/>
		<updated>2014-12-01T22:13:26Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thank your for your review, it was very helpfull and gave new perspective! :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6862</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6862"/>
		<updated>2014-12-01T22:12:22Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Hmm again I&#039;m not to sure what you mean, but as said earlier I have reworked but the introduction and discussion part in order to make it a little more coherent&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6850</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6850"/>
		<updated>2014-12-01T22:09:35Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011&amp;lt;ref name=&amp;quot;Iso2011&amp;quot;&amp;gt;[&amp;quot;http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733&amp;quot;] &#039;&#039; ISO/IEC 25010:2011 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models&#039;&#039; &amp;lt;/ref&amp;gt; standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6848</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6848"/>
		<updated>2014-12-01T22:07:26Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Non-functional requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;m not exactly sure what you mean, but I have tried to elborate a little more on this section and provide examples&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6843</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6843"/>
		<updated>2014-12-01T22:05:39Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Requirements elicitation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
**&#039;&#039;&#039;&#039;&#039;Thank you - Well yes I could elaborate more on this, but a have ALOT of text in that section already. So I don&#039;t think it is necessary to cover this futher, as well as there is further reading material if one would be more interested in this method.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6838</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6838"/>
		<updated>2014-12-01T22:01:24Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* General remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve have made my definition a little more clear, and redid some stuff in the intro part and discussion to make them more coherent.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6832</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6832"/>
		<updated>2014-12-01T21:59:05Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering (RE) - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|The RE life cycle model - showing the methods covered in this wiki page, and the phases they belong to in the life cycle]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Context method example - An example of process on how to define requirements context]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow Card Template, a template on how to do functional requirements]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on selected qualites and attributes]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6802</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6802"/>
		<updated>2014-12-01T21:52:12Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About this wiki page&#039;&#039;&#039;&lt;br /&gt;
A majority of this wiki page contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted that, if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one of the key components of every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where one of the challenges lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, in order to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. Because requirements can be very important if a project doesn’t go as intended, the requirements could potentially turn out to be the main evidence in a lawsuit. &lt;br /&gt;
&lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996 on project failures, showed that reason for project failures falls in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introducing proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements (or needs).&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the fact that the &lt;br /&gt;
methods of designing requirements are more developed and apply very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to fulfill a need – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify which kind of process paradigm that is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found in the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|Method examples shown in the requirements engineering life cycle model]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found in the additional reading section.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. More information can be found in the section for additional reading material. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The method of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of system the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating functional requirements. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow card template]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in itself be pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality. So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exist quality lists that are made as standards, to help define systems. &lt;br /&gt;
&lt;br /&gt;
These lists exist as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities and attributes.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed in an implementation then it is very likely the system will be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying it’s functionality. It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*	The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
*	An operational procedure or action to be tested&lt;br /&gt;
*	The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort, control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
This wiki page has only covered a bit, of the contents of requirements engineering. Requirements engineering is a huge topic with a lot of knowledge in defining various systems and provides great methods on how to structure and manage requirements that will satisfy stakeholder needs, through some of the methods explained in this wiki page. Hopefully this page has given an idea on how requirements engineering can be done, as well as give inspiration to someone who might consider doing some requirements engineering as part of a project. &lt;br /&gt;
&lt;br /&gt;
So why do requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6577</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6577"/>
		<updated>2014-12-01T20:34:46Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About the article&#039;&#039;&#039;&lt;br /&gt;
A majority of this article contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted in that if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one the key components for every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where the challenge lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. The importance requirements is because if a project doesn’t go as intended, then the requirements could potentially be the main evidence in a potential lawsuit. &lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of the where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows that the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In terms of management, requirements form the basis for:&lt;br /&gt;
&lt;br /&gt;
*	Project planning&lt;br /&gt;
*	Risk management&lt;br /&gt;
*	Acceptance testing&lt;br /&gt;
*	Trade off&lt;br /&gt;
*	Change control&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements.&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the methods of requirement being more developed and applies very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify what kind of process paradigm, which is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|Method examples shown in the requirements engineering life cycle model]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found here:  &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow card template]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in it self is pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality.  So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exists quality lists to help define a system. &lt;br /&gt;
&lt;br /&gt;
These list exists as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.   &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
So why should one bother doing requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6503</id>
		<title>Talk:Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Requirements_engineering&amp;diff=6503"/>
		<updated>2014-12-01T20:01:36Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by MrP ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
*Very relevant topic, thorough and well researched article, with a lot of substance for the reviewer to work on :-)&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks for the complement&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Good sample of references and links to other material&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Thanks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*You introduce a lot of (apparently cross- and interrelated) concepts, notions, phases etc in which the reader easily gets lost - And therefore sometimes misses your good points on how to conduct proper requirements assessment and definition   &lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I&#039;ve tried to clear this up, hopefully I succeeded :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Some general advice for improvement of the article: 1)Make it clearer for the reader if &amp;quot;requirements engineering&amp;quot; should be understood as a well defined discipline and a coherent standard method of practice resembling e.g. Systems engineering, or is it just a collective term for a set of useful tools ? 2) Consider making your introduction/abstract and discussion/conclusion a bit sharper and mutually coherent&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
Below please find som specific remarks, adressing particular sections in your article&lt;br /&gt;
&lt;br /&gt;
===Introductory paragraph===&lt;br /&gt;
*Second sentence: Are you referring to requirements as &amp;quot;formalities&amp;quot;? Difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Ok, I might see what you mean. I have change the sentence a bit.  The sentence is now: Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*See also general remark, consider rephrasing the paragraph to set the scene for your article better&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I’m not sure i know what you mean be rephrasing the paragraph? Do your mean the section in general? if yes I have done extra work on it&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Application context===&lt;br /&gt;
*First sentence: You write that requirements defines the stakeholders, users and customers - is it not the other way round ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Second sentence: You state the importance of understanding the requirements &amp;quot;completely and unambiguously. That is probably the core of requirements management and requirements &amp;quot;engineering&amp;quot;, therefore you should consider elaborating the statement at this point in the article, maybe referring to the section &amp;quot;Req. elicitation&amp;quot; later in the article&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Sentences no. 8 and 9 are difficult to understand, consider rephrasing&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - Reworked this section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
*In general, this section (and even the header itself) is a bit difficult to understand.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have gone over the entire section and reworked it. The headline is also been altered.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*As mentioned in the general remarks you indicate that &amp;quot;requirements engineering&amp;quot; is a defined discipline or process, but you do not elaborate on or describe it&#039;s definition&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*What is the point of your references to software development issues in the first half of the paragraph?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*It is a good idea to give examples like the one of the railway system, but the point is difficult to grasp&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
*In this section you introduce a definition of &amp;quot;requirements engineering&amp;quot; as a Deming-type circular process. Is that correctly understood by the reader? -If so you should consider using the graphic representation more, elaborating on all 4 steps in the circle as they are named on the diagram. As the article is written now it is difficult to see the connection between the &amp;quot;RE Lifecycle&amp;quot; and the issues you elaborate on in the following sections.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I’ve tried to elaborate a little more on requirement lifecycle and I tried to explain it better.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
You should consider deleting this header, it does not contribute to the reader&#039;s overview of the article, as long as you don&#039;t show a coherent whole framework for those &amp;quot;concepts&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Fixed - I have deleted this headline, you are right is does not really contribute with anything&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
*This is an interesting section, apparently introducing learning and skills from the domain of psychology into the world of &amp;quot;engineering&amp;quot;. The human factor ! It would be even more interesting if you could elaborate on this &amp;quot;shift of mindset&amp;quot; a bit more, and maybe reflect on how an engineering or project management practitioner can apply these methods in his practice, in particular how to handle the &amp;quot;translation&amp;quot; of the &amp;quot;elicitated requirements&amp;quot; into engineering specifications&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
*It becomes a little unclear where we are now in the RE lifecycle?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;I have made a Requirement Life Cycle section that hopefully has cleared that up. :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Context===&lt;br /&gt;
*You refer to this item as a &amp;quot;phase&amp;quot;, bur for the reader it is very unclear where in your RE lifecycle this phase belongs. The considerations you mention in this section is probably clever and relevant, but the reader is lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
*Again you refer to this as a &amp;quot;phase in requirements engineering&amp;quot;. What phase in what model? I&#039;m afraid many readers would be lost at this point.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made it different, I now refer to it as a method, see requirement life cycle&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*If you believe the snow card is an good example of an applicable method you should consider showing a larger and readable picture, and to explain and elaborate on it. Otherwise don&#039;t show it.&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
*Your definition of non-functional requirements as &amp;quot;qualities&amp;quot; is interesting, you should consider giving some (authoritative?) references to this definition.&lt;br /&gt;
*You should give the source reference for your list of &amp;quot;qualities&amp;quot;, it is unclear if the list comes from the ISO standard mentioned - also unlisted in the references.&lt;br /&gt;
===Requirements management===&lt;br /&gt;
*Again you denote this as a &amp;quot;phase&amp;quot; - however this time I believe that we are back on the previously shown RE lifecycle again ?. You should consider explaining to the reader how these &amp;quot;management&amp;quot; (your own denotion) processes you describe here corresponds with the &amp;quot;engineering&amp;quot; processes of your RE lifecycle. Is &amp;quot;Requirement Management&amp;quot; an element or a process within Requirements engineering ?&lt;br /&gt;
** &#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Discussion===&lt;br /&gt;
*It seems to this reviewer that in this section you just repeat your arguments from the &amp;quot;Background&amp;quot; introduction for particular effort on requirements engineering in project work. Consider instead to make some application advice or reflections on the practices and methods you have described, e.g. describe a link between your &amp;quot;requirements engineering&amp;quot; and project management standard practices.&lt;br /&gt;
&lt;br /&gt;
== Review by TigR ==&lt;br /&gt;
&lt;br /&gt;
==General remarks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Language&lt;br /&gt;
:Some minor things, mainly grammatical; like using &amp;quot;the&amp;quot; in front of customer* and some phrases become &amp;quot;Speech&amp;quot; instead of written text.. see details in specific remarks.&lt;br /&gt;
;Layout&lt;br /&gt;
:Be attentive of how your final article looks, use preview to make sure that what you have written is also displayed in that way.. I have found that sometimes an extra &amp;quot;enter&amp;quot; is needed to convince wiki to give me the next line. Also, start your headers from level 2 &#039;==&#039; as level 1 is reserved the title of your page (according to the [http://www.mediawiki.org/wiki/Help:Formatting Help page on formatting])&lt;br /&gt;
&lt;br /&gt;
==Specific remarks==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;among &#039;&#039;the&#039;&#039; involved parties&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;from a client&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;of&#039;&#039; a client&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;goal of the product&amp;quot; can a product have &amp;quot;goals&amp;quot; I&#039;ve heard of projects with goals.. I may be wrong here.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the developers &#039;&#039;create&#039;&#039;&amp;quot; developers can be replaced with &#039;they&#039; and &amp;quot;they creates&amp;quot; is incorrect (it&#039;s a good test to do if it sounds off, change to one of the known words &#039;&#039;I, you, he/she/it, we, You, they&#039;&#039; :)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I’ve put in ‘Developers create’, otherwise in my opinion it creates a little confusion on who I’m talking about if I put in ‘They’&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to specific&amp;quot; =&amp;gt; &amp;quot;to &#039;&#039;specify&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is suppose&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;supposed&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the basis to get&amp;quot; =&amp;gt; &amp;quot;the basis &#039;&#039;for getting&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a iterative&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;an&#039;&#039; iterative&amp;quot; the usual test for a and an is checking the first letter of the word following it; is it a vowel then it is &#039;&#039;an&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;reflect a product best possible&amp;quot; not sure exactly what is meant here, but I will guess rearranging it to &amp;quot;reflect the best possible product&amp;quot; gives the correct meaning.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The introduction is (besides the above stuff) very well written and explanatory.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
due to the header it is difficult to see that the text is an introduction to the following sub-headers..&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;I have also removed it, thanks for noticing&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Application context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;basis for&amp;quot; =&amp;gt; &amp;quot;basis &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and that is where&amp;quot; =&amp;gt; &amp;quot;and &#039;&#039;this&#039;&#039; is where&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understand&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;understanding&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;the&#039;&#039; need&amp;quot;, &amp;quot;&#039;&#039;the&#039;&#039; problem&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;is done&amp;quot; =&amp;gt; &amp;quot;is &#039;&#039;reached&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;has been established&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;need of&amp;quot; =&amp;gt; &amp;quot;need &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be clear defined&amp;quot; =&amp;gt; &amp;quot;be &#039;&#039;clearly&#039;&#039; defined&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;It is about&amp;quot; &amp;lt;= speech, and what is &#039;&#039;It&#039;&#039; in this sentence?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;creating stable&amp;quot; =&amp;gt; &amp;quot;creating &#039;&#039;a&#039;&#039; stable&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the destination&amp;quot; &amp;lt;= I think &amp;quot;where you might end&amp;quot; sounds a bit better?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:I&#039;d scrap &amp;quot;though&amp;quot; and start at &amp;quot;The intention of &#039;&#039;the&#039;&#039; requirements&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:you mix times.. &amp;quot;is&amp;quot; and &amp;quot;would&amp;quot;.. use &amp;quot;will&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;management requirements&amp;quot; ? missing a komma? and then &amp;quot;form&amp;quot; without s&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exists multiple examples&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Multiple examples exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;because poorly&amp;quot; =&amp;gt; &amp;quot;because &#039;&#039;of&#039;&#039; poorly&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;shows the problems&amp;quot; =&amp;gt; &amp;quot;shows &#039;&#039;that&#039;&#039; the problems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:perhaps use &amp;quot;:&amp;quot; to list the three categories?&lt;br /&gt;
&lt;br /&gt;
Perhaps elaborate bit more about the challenge you mention&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little bit and given an example :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance and use===&lt;br /&gt;
;layout&lt;br /&gt;
:a big text like this one can be heavy to take in one chunk.. if you insert more &amp;quot;enter&amp;quot; or I guess in english you call them &amp;quot;breaks&amp;quot; or &amp;quot;new line&amp;quot; you can force the text into sections which are easier to read.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;dominant force of change of products&amp;quot; &amp;lt;= needs some rephrasing to display the actual meaning clearly.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the could cause&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;this&#039;&#039; could cause &#039;&#039;a&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Even though&amp;quot; be careful with starting off sentences like that if they stand alone, &amp;quot;on the other hand&amp;quot; might be what you mean.. or you could just decide to state it as &amp;quot;Requirements engineering can be..&amp;quot;.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for example&amp;quot; =&amp;gt; &amp;quot;for example&#039;&#039;;&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:again &amp;quot;requirement&#039;&#039;s&#039;&#039; engineering&amp;quot; be consistent in that one, not mentioning it again.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;applies&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;also&#039;&#039; applies&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:try to read the sentence without the insert.. &amp;quot;components which..&amp;quot; consider revision of the last part.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exist several standards&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;Several standards exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - The sentence has changed, so I’ve chosen to go with what is says now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;define&#039;&#039;.&#039;&#039;&amp;quot; and &amp;quot;where in&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;In&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;likely the&amp;quot; =&amp;gt; &amp;quot;likely &#039;&#039;that&#039;&#039; the&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Interesting and with substance&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
===Creating requirements===&lt;br /&gt;
;Layout&lt;br /&gt;
: remember the header issue&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Renamed the header and fixed the issue regarding level of headlines.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;different ways&amp;quot; &amp;lt;= perhaps add an indicator of ammount? several, many, some.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have elaborated a little more on which ways im talking about. So i think it’s not necessary to put an amount on it.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;accordingly&amp;quot; =&amp;gt; &amp;quot;according&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;a system&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;the&#039;&#039; system&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;suppose&#039;&#039;d&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;achieve &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;best as possible.&amp;quot; =&amp;gt; &amp;quot;the best.&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Removed words while redoing section&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:ouch.. missing the &#039;&#039;s&#039;&#039; in your text for the picture as well.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in this article&amp;quot;.... are they? which article.. the one I&#039;m reading or the one you are referring to?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Major concepts===&lt;br /&gt;
no intro?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - removed header, didn&#039;t really add anything :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
;Layout&lt;br /&gt;
:Again a very large chunk of text.. try to divide it, perhaps using the same scheme as I do with &amp;quot;;The objective technique:&amp;quot; next line &amp;quot;:The objective technique is...&amp;quot; use the preview function to make it look readable and structured.&lt;br /&gt;
:Beautiful table. well thought.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thank you&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:req-&#039;&#039;s&#039;&#039; again.. is the header or text incorrect?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - In this case it would be the text. &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;to understanding&amp;quot; =&amp;gt; &amp;quot;to understand&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:take out &amp;quot;Though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;use full&amp;quot; =&amp;gt; &amp;quot;useful&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for which the requirements need to fulfill&amp;quot; ? the requirements have to fulfill the surrounding environment?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Wups, seems like I have made a double sentence there. Nice spottet, thanks!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;called more like a&amp;quot; speech language =&amp;gt; &amp;quot;called a&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;where some like&amp;quot; =&amp;gt; &amp;quot;where some&#039;&#039;thing&#039;&#039; like&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in to&amp;quot; =&amp;gt; &amp;quot;into&amp;quot; (best test.. make the space a deliberate pause when reading)&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;desire&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;t&#039;&#039;h&#039;&#039;rough&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
impressive chapter, very few errors and very understandable.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Thanks :-)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;minded for&amp;quot; =&amp;gt; &amp;quot;minded &#039;&#039;towards&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;intention&amp;quot; =&amp;gt; &amp;quot;intent&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;phase&#039;&#039;,&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;useful to&amp;quot; =&amp;gt; &amp;quot;useful &#039;&#039;for&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;fulfills &#039;&#039;the&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
good&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;most reflect&amp;quot; =&amp;gt; &amp;quot;most&#039;&#039;ly&#039;&#039; reflect&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;the project has&amp;quot; =&amp;gt; &amp;quot;of the project&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;establishing context&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;identifying systems or process&#039;&#039;es&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
only minor stuff&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;on&#039;&#039;e&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;meanwhile&amp;quot; =&amp;gt; &amp;quot;while&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;&#039;&#039;in order&#039;&#039; to leave out any doubt &#039;&#039;regarding&#039;&#039; the goal of the requirement.&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exits&amp;quot; =&amp;gt; &amp;quot;&#039;&#039;exist&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;uses cases&amp;quot; =&amp;gt; &amp;quot;use&#039;&#039;r&#039;&#039; cases&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - It’s actually suppose to say use cases. It is a technical term.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in the picture below&amp;quot; &amp;lt;= but I see it above or besides the text?&lt;br /&gt;
&lt;br /&gt;
the picture is fairly small if you were to see the idea of it without clicking on it.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:Whoa.. &amp;quot;Quality means...&amp;quot; that sentence needs some serious rework.. think about what it means as it is written now.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Redid section, so hopefully it makes more sense now.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;irrespective&amp;quot;? =&amp;gt; &amp;quot;regardless&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;specify a some&amp;quot; ?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;There exits ISO standards&amp;quot; =&amp;gt; &amp;quot;ISO standards exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - Sentence has been reworked&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;The idea is then&amp;quot; =&amp;gt; &amp;quot;The procedure is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;system goal&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;argument &#039;&#039;of&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;example on list of&amp;quot; =&amp;gt; &amp;quot;example &#039;&#039;of a&#039;&#039; list &#039;&#039;with&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Perhaps (if possible) move the picture to the right of the text&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed - I have made the picture bigger and larger in the left side. It&#039;s a little hard to control in the right side&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;engineering disciplines&amp;quot; =&amp;gt; &amp;quot;engineering discipline&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;various way&#039;&#039;s&#039;&#039;&amp;quot; &amp;amp; &amp;quot;testing &#039;&#039;a&#039;&#039; system&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;should consists&amp;quot; =&amp;gt; &amp;quot;should consist&amp;quot; or &amp;quot;consists&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Requirements management===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;activates&amp;quot; ? =&amp;gt; &amp;quot;activities&amp;quot;?&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;in &#039;&#039;a&#039;&#039; more&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot; ok, think of it this way.. exit_, a way out, or more with s.. exist, is present&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Discussion===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;exi&#039;&#039;st&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:if you haven&#039;t already, search and replace all &amp;quot;requirement engineering&amp;quot; with &amp;quot;requirements engineering&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;size&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;computers systems&amp;quot; =&amp;gt; &amp;quot;computer systems&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;systems &#039;&#039;have&#039;&#039;&amp;quot; as in they have&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;affect&amp;quot; =&amp;gt; &amp;quot;effect&amp;quot; verb vs. noun&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;for everyday&amp;quot; =&amp;gt; &amp;quot;for every day&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;consequence&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;why today the .... quality&amp;quot; =&amp;gt; &amp;quot;why the .... quality today&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;be emphasize the&amp;quot; =&amp;gt; &amp;quot;be emphasize&#039;&#039;d that&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;solution by&amp;quot; =&amp;gt; &amp;quot;solution &#039;&#039;in&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;every persons&amp;quot; =&amp;gt; &amp;quot;every person&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Strength and weaknesses===&lt;br /&gt;
;Grammatical things&lt;br /&gt;
:&amp;quot;as wells&amp;quot; =&amp;gt; &amp;quot;as well&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though that the fact .... same&amp;quot; =&amp;gt; &amp;quot;The fact .... same though&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;benefit of &#039;&#039;using&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;and &#039;&#039;generate&#039;&#039; higher&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;contribution&#039;&#039;s&#039;&#039;&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;Though it is&amp;quot; =&amp;gt; &amp;quot;It is&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:&amp;quot;but it is&amp;quot; =&amp;gt; &amp;quot;but&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Fixed&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6413</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6413"/>
		<updated>2014-12-01T19:23:44Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. Requirements engineering is considered an iterative process, so the requirements will reflect the overall system best as possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About the article&#039;&#039;&#039;&lt;br /&gt;
A majority of this article contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted in that if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one the key components for every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where the challenge lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. The importance requirements is because if a project doesn’t go as intended, then the requirements could potentially be the main evidence in a potential lawsuit. &lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of the where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows that the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In terms of management, requirements form the basis for:&lt;br /&gt;
&lt;br /&gt;
*	Project planning&lt;br /&gt;
*	Risk management&lt;br /&gt;
*	Acceptance testing&lt;br /&gt;
*	Trade off&lt;br /&gt;
*	Change control&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements.&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the methods of requirement being more developed and applies very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify what kind of process paradigm, which is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|500px|none|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
[[File:RELifeCycleExample.jpg|thumb|500px|none|Method examples shown in the requirements engineering life cycle model]]&lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found here:  &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
[[File:SnowCard.jpg|thumb|500px|none|Snow card template]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in it self is pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality.  So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exists quality lists to help define a system. &lt;br /&gt;
&lt;br /&gt;
These list exists as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|300px|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.   &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
So why should one bother doing requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6366</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6366"/>
		<updated>2014-12-01T19:03:09Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. Requirements engineering is considered an iterative process, so the requirements will reflect the overall system best as possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About the article&#039;&#039;&#039;&lt;br /&gt;
A majority of this article contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. In this wiki page it should be noted in that if a reference is in the end of a section, then it refers to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one the key components for every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where the challenge lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. The importance requirements is because if a project doesn’t go as intended, then the requirements could potentially be the main evidence in a potential lawsuit. &lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of the where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
In terms of management, requirements form the basis for:&lt;br /&gt;
&lt;br /&gt;
•	Project planning&lt;br /&gt;
•	Risk management&lt;br /&gt;
•	Acceptance testing&lt;br /&gt;
•	Trade off&lt;br /&gt;
•	Change control&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows that the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements.&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the methods of requirement being more developed and applies very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify what kind of process paradigm, which is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
&lt;br /&gt;
* Ideation &amp;amp; Elicitation &lt;br /&gt;
** Requirements elicitation&lt;br /&gt;
* Elaboration&lt;br /&gt;
** Design and validation&lt;br /&gt;
** Context&lt;br /&gt;
** Functional requirements&lt;br /&gt;
** Non-functional requirements&lt;br /&gt;
* Validation&lt;br /&gt;
** Acceptance test&lt;br /&gt;
* Management&lt;br /&gt;
** Requirement Management &lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. ************&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found here:  &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in it self is pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality.  So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exists quality lists to help define a system. &lt;br /&gt;
&lt;br /&gt;
These list exists as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.   &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
So why should one bother doing requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;br /&gt;
[[Category:Risk Management]]&lt;br /&gt;
[[Category:Requirements Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:RELifeCycleExample.jpg&amp;diff=6353</id>
		<title>File:RELifeCycleExample.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:RELifeCycleExample.jpg&amp;diff=6353"/>
		<updated>2014-12-01T19:00:51Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:LifeCycle.jpg&amp;diff=6350</id>
		<title>File:LifeCycle.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:LifeCycle.jpg&amp;diff=6350"/>
		<updated>2014-12-01T18:59:22Z</updated>

		<summary type="html">&lt;p&gt;Joh: Joh uploaded a new version of &amp;amp;quot;File:LifeCycle.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6288</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6288"/>
		<updated>2014-12-01T18:33:29Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. Requirements engineering is considered an iterative process, so the requirements will reflect the overall system best as possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About the article&#039;&#039;&#039;&lt;br /&gt;
A majority of this article contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. So if a reference is in the end of a section, then it means that the book references to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one the key components for every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where the challenge lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. The importance requirements is because if a project doesn’t go as intended, then the requirements could potentially be the main evidence in a potential lawsuit. &lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of the where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
In terms of management, requirements form the basis for:&lt;br /&gt;
&lt;br /&gt;
•	Project planning&lt;br /&gt;
•	Risk management&lt;br /&gt;
•	Acceptance testing&lt;br /&gt;
•	Trade off&lt;br /&gt;
•	Change control&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows that the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements.&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the methods of requirement being more developed and applies very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify what kind of process paradigm, which is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
&lt;br /&gt;
* Ideation &amp;amp; Elicitation &lt;br /&gt;
** Requirements elicitation&lt;br /&gt;
* Elaboration&lt;br /&gt;
** Design and validation&lt;br /&gt;
** Context&lt;br /&gt;
** Functional requirements&lt;br /&gt;
** Non-functional requirements&lt;br /&gt;
* Validation&lt;br /&gt;
** Acceptance test&lt;br /&gt;
* Management&lt;br /&gt;
** Requirement Management &lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. ************&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found here:  &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in it self is pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality.  So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exists quality lists to help define a system. &lt;br /&gt;
&lt;br /&gt;
These list exists as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.   &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
So why should one bother doing requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
== Comparable standards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&amp;lt;br/&amp;gt;&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6285</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=6285"/>
		<updated>2014-12-01T18:30:30Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. &lt;br /&gt;
Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. Requirements engineering is considered an iterative process, so the requirements will reflect the overall system best as possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;About the article&#039;&#039;&#039;&lt;br /&gt;
A majority of this article contents comes from books mention in reference and material the author has learned from the course no. 02264 – Requirements engineering at DTU Compute. So if a reference is in the end of a section, then it means that the book references to the whole section. &lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements are one the key components for every project, they describe stakeholders such as users, customers, suppliers, etc. and their needs for potential new system. In order to understand all involved parties, requirements are generally expressed in natural language and this is where the challenge lies. The challenge is to make sure all parts of requirements engineering are expressed and documented in a precise and formal manner, to create mutual understanding and leave out any misunderstanding or confusion among the stakeholders. The importance requirements is because if a project doesn’t go as intended, then the requirements could potentially be the main evidence in a potential lawsuit. &lt;br /&gt;
So once an agreement between all involved parties is reached, then the requirements will drive the project activity.  Though through the project, the stakeholder may introduce new needs or features they want, and often the reasons why they do that is the requirements not being properly defined from the beginning or the needs is not being properly understood by the developers. Requirements engineering is about creating a mutual starting point between the stakeholder and the developer, thereby creating a stable requirements base. It is the same as, imagining a project being like setting off on journey without any idea of the where you might end. But with requirements, you would have a map of that journey, so you would at all times know where you’re headed.&lt;br /&gt;
&lt;br /&gt;
In terms of management, requirements form the basis for:&lt;br /&gt;
&lt;br /&gt;
•	Project planning&lt;br /&gt;
•	Risk management&lt;br /&gt;
•	Acceptance testing&lt;br /&gt;
•	Trade off&lt;br /&gt;
•	Change control&lt;br /&gt;
&lt;br /&gt;
Multiple examples exist on how project failures occurred because of poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows that the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
Today one of the key success factors in the global competitive market is fulfilling stakeholder requirements.&lt;br /&gt;
This key success factor can be managed by systems engineering, and that is why systems engineering is crucial in the industry. Requirements engineering is an important stage of systems engineering and it’s overall process. It helps create control and structure in the process of developing a system. &lt;br /&gt;
  &lt;br /&gt;
Over the years the discipline of requirements engineering is most often seen in software engineering, due to the methods of requirement being more developed and applies very well to the process of developing software. But requirements engineering can be applied across engineering disciplines, the basic principles and practice will also work on other systems than software.&lt;br /&gt;
For example, consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min. Satisfaction of that high-level requirement arises from every major component in the system being able to interact and work as indented. In this example those components could for example be: The trains, the railway infrastructure, traffic system or the tracks ability to support high-speed trains, etc.&lt;br /&gt;
The point is that requirements engineering applies to all systems. Where the system in this example should be understood as a collection of components – machine, infrastructure or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
&lt;br /&gt;
Today there exist several standards on how to manage and use requirements engineering in the industry, where one standard could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define. Where in some cases it will be likely that the requirements will deviate from the standards. But that’s also okay, as long as it makes sense for the system being defined.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Requirement lifecycle ==&lt;br /&gt;
Requirements engineering is tricky as it can be done in different ways, the idea is to form the requirements according to what the system is supposed to do. The first important step is to determine or identify what kind of process paradigm, which is used in the development of a system. There exist various known process models such as the V-Model, Waterfall model, the spiral model, agile, etc. A common element among every process model is that they all use the same requirement lifecycle as it is shown in the picture.&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirements Engineering - life cycle model]]&lt;br /&gt;
The reason why the process paradigm needs to be identified is because they all use the requirement life cycle in different ways. &lt;br /&gt;
For example, the waterfall model will only visit each phase in the requirement lifecycle once, one after the other.  Where in an agile process it will go through the requirement life cycle, each time there is a new iteration. More information about these process paradigms and there relation to the requirement lifecycle can be found the two books: Requirements Engineering 3rd edition and Software Requirements both mentioned in the reference.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article will go trough an example on how to use the requirement lifecycle, and show some examples on the most commonly used methods for each phase in the requirements life cycle.&lt;br /&gt;
&lt;br /&gt;
This wiki page will cover the following selected methods for each phase of the requirement lifecycle:&lt;br /&gt;
&lt;br /&gt;
* Ideation &amp;amp; Elicitation &lt;br /&gt;
** Requirements elicitation&lt;br /&gt;
* Elaboration&lt;br /&gt;
** Design and validation&lt;br /&gt;
** Context&lt;br /&gt;
** Functional requirements&lt;br /&gt;
** Non-functional requirements&lt;br /&gt;
* Validation&lt;br /&gt;
** Acceptance test&lt;br /&gt;
* Management&lt;br /&gt;
** Requirement Management &lt;br /&gt;
&lt;br /&gt;
=== Requirements elicitation ===&lt;br /&gt;
Requirements elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understand as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any useful information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. ************&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where something like everyday activities as well as physical actives can lead us into daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desires or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming through a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design and validation ===&lt;br /&gt;
This method might be more minded towards software development, but its intent can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this method is to elicit and validate requirements through interaction design. It should be stressed that in this method, one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful for validating the design, and securing that the design and requirements fulfills the purpose of the system. More information about design and validation can be found here:  &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Context ===&lt;br /&gt;
The context method is about setting the scene for the system through requirements. This method is about establishing the surrounding environment for the system, and describing the influence it will have. To do that, means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the system. Other possible relevant findings could be identifying systems or processes that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among one of the most important methods in requirements engineering. It is the method where the functional requirement for the system is being identified, and documented. It is important that one should take their time while being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt regarding what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exist various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, use cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this method we define the non-functional requirements of the system, which is also known as a qualities in the context of requirements. Quality is considered properties a system should have, thereby meaning a property that does not affect the core functionality of the system. For example, if the system would be computer, then one quality could for example be that the computer should be reliable. &lt;br /&gt;
Defining quality like that can in it self is pretty broad, and could mean different things, that’s why it is also important to specify the quality attributes. Quality attributes is a set of attributes that helps understanding how to achieve the quality.  So if we take the computer example again, the quality attributes of reliable could be: error tolerant, consistent and simple. Defining qualities and its attributes are hard and complex to define precisely. That’s why there exists quality lists to help define a system. &lt;br /&gt;
&lt;br /&gt;
These list exists as ISO standards listing certain qualities and its attributes, one example could be the ISO/IEC 25010:2011 standard. The procedure is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goals will only strengthen the argument of why they should be applied to the system. The picture shows an example of a list with selected qualities.&lt;br /&gt;
&lt;br /&gt;
[[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, regardless of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail.  It can be tempting to specify the qualities in detail, but that might exclude better solutions at the given moment.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acceptance test ===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering discipline, there are various ways of testing a system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consist of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
=== Requirement Management ===&lt;br /&gt;
This method encompasses the overall process of requirements engineering, with a focus on management rather than engineering activities. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in a more simple way. There exist a long list of different tools, among them are: JIRA , Relatics, SpiraTest.   &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
So why should one bother doing requirements engineering? Today systems exist everywhere where we go and where we are.  Systems come in different shapes and sizes, for example many consumer devices and appliances are often computer systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems have an influence and an effect on our every day, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequences ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why the most cost-effective way to achieve better quality today is through requirements engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasized that the requirements engineering is not a solution in itself, but rather that a solution will contain requirements in some form. Therefore every person involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
=== Strength and weaknesses ===&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as well as being the main reason for failure. &lt;br /&gt;
The fact still remains the same though, the benefit of using requirements engineering to prevent faults and generate higher quality in systems, is one of its single largest contributions. It is time consuming, but cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=4902</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=4902"/>
		<updated>2014-11-29T15:20:23Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is a discipline in developing requirements for a system. Often, if a project is about creating a new system, then requirements are made to specify the system, in order to create common understanding among the involved parties in a project. Requirements specify the needs and conditions of a client to help developers understand the need they are fulfilling and how they should satisfy that need. Developers create the requirements on the basis of the needs, to specify what the product is supposed to do and how it is going to do it. Requirements engineering is regarded as crucial in a development process, because the outcome often creates the basis for getting financial support. It’s basically the formal link between stakeholders and developers. The requirements can be created either by the stakeholder who wants something built, as well as it can be the developer’s responsibility. Requirements engineering is considered an iterative process, so the requirements will reflect the overall system best as possible.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirement Engineering - life cycle model]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt; The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weaknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Stakeholders_from_a_dynamic_and_network_perspective&amp;diff=3448</id>
		<title>Talk:Stakeholders from a dynamic and network perspective</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Stakeholders_from_a_dynamic_and_network_perspective&amp;diff=3448"/>
		<updated>2014-11-25T21:11:41Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Review by joh */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JEPO Review ==&lt;br /&gt;
&lt;br /&gt;
=General Comments=&lt;br /&gt;
* To Short&lt;br /&gt;
* Not enough proper references&lt;br /&gt;
* Would be nice with some pictures of the different stakeholder diagrams&lt;br /&gt;
* Bullet point would make the reading a bit more easy and the main points of your article more visible&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
* A long description of the over all topic. My be shorten it down to the different methods.&lt;br /&gt;
* Could it be a good idea to pinpoint the different messages and recalling the problems which can appear? &lt;br /&gt;
* List of typical failures of stakeholder analysis, could maybe be a good introduction and the need to create better awareness how to use the tool.&lt;br /&gt;
&lt;br /&gt;
=Overview of a Stakeholder Analysis=&lt;br /&gt;
* Illustrations of on what levels a SA can be used&lt;br /&gt;
* Maybe also a process diagram or bullet points of the procedure &lt;br /&gt;
&lt;br /&gt;
=Current practices=&lt;br /&gt;
*What question do you have to make to identify the stakeholders.&lt;br /&gt;
*What subgroups are their.&lt;br /&gt;
*How to handle the different stakeholders?&lt;br /&gt;
&lt;br /&gt;
=What is missing=&lt;br /&gt;
* This could maybe be included in the abstract?&lt;br /&gt;
* What is the reason that people are not using the SA during the project time?&lt;br /&gt;
* Maybe investigate, what is needed to make it happen. Break routines, establish awareness, integrate in monthly meetings?&lt;br /&gt;
&lt;br /&gt;
== Review by joh ==&lt;br /&gt;
&lt;br /&gt;
=== General comments ===&lt;br /&gt;
Interesting topic, and seems relevant for project, program and portfolio management. Content wise it looks like you’re on the right path.&lt;br /&gt;
Your writing skills also seems good, I don’t have any major comments in regards to the grammar or spelling.&lt;br /&gt;
I’m assuming the article is still under development.&lt;br /&gt;
&lt;br /&gt;
*	Your article is rather short, some concrete example on to do stakeholder analysis from the chosen perspective would be nice, and it would add some more content in the article&lt;br /&gt;
*	It might also be a good idea to clarify a little better if the topic is related to, either project, program or portfolio management or all of them. &lt;br /&gt;
*	Your content really needs some visualized support in the form of models, charts or tables; it would help much more on the general understanding.&lt;br /&gt;
*	Looks like references are present in the text in some kind of special form e.g [1, p.241], what does that mean? And where can I find the source?&lt;br /&gt;
*	References are missing in the bottom, but I’m assuming it is on its way.&lt;br /&gt;
*	If you have not done so, I would recommend going through the slides from lecture 19 from slide 6, as inspiration to structure your article better, because it seems a little messy now and missing a logical flow.&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
*	There is a lot of text in the abstract, I would consider using some parts of the abstract else where in the article and boil it down in the abstract.&lt;br /&gt;
*	If the is as it should be, I would recommend reading through it a couple of times in making sure there is a more fluent transitions between each areas being addressed in this section. &lt;br /&gt;
*	You use a lot of “ “ e.g. “knowledge of the project”, “seniority”, “involvement of the project”. What does that mean?&lt;br /&gt;
&lt;br /&gt;
=== Overview of a stakeholder analysis today ===&lt;br /&gt;
*	A graphical overview would really be nice here.&lt;br /&gt;
*	You go quite quickly into something specific, I thought this section was supposed to provide an overview? &lt;br /&gt;
&lt;br /&gt;
=== Current practices, when conducting a stakeholder analysis ===&lt;br /&gt;
*	I guess this text goes to some kind of model? Would be nice to see it?&lt;br /&gt;
*	Also a better transition from the overview of a stakeholder analysis today section to this section is recommended. As a reader, I don’t understand what is going on.&lt;br /&gt;
&lt;br /&gt;
=== What is missing ===&lt;br /&gt;
*	Again, a transition to this section is missing.  I’m lost? In which context are we talking?&lt;br /&gt;
*	I think behavior is spelled behavior&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Group_Dynamics_and_Personality_Types&amp;diff=3378</id>
		<title>Talk:Group Dynamics and Personality Types</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Group_Dynamics_and_Personality_Types&amp;diff=3378"/>
		<updated>2014-11-25T19:58:12Z</updated>

		<summary type="html">&lt;p&gt;Joh: /* Review by joh */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Review by joh ==&lt;br /&gt;
&lt;br /&gt;
=== Review of the content ===&lt;br /&gt;
General comment: The academic level and quality of the content, seems to me to be quite good. I understand what the article is describing about group dynamics and personality types - it goes quite good through what the terms mean, and in which context they are relevant. It seems relevant especially for project management. If nothing else mentioned here in my review, then it is safe to assume I don’t have a comment or I think it’s fine.&lt;br /&gt;
&lt;br /&gt;
* Though I seem to miss a clear link between these two elements. Because I know how to find right personalities and I know how a group dynamic should be, but how would I know to put which personality into a group to give a certain dynamic? &lt;br /&gt;
* If possible, more visual illustrations might good especially in the group sections, because the text now seems quite dense. &lt;br /&gt;
* I guess a summary/abstract and a discussion is to come? &lt;br /&gt;
&lt;br /&gt;
=== Review of formal aspects ===&lt;br /&gt;
The article is really taken shape in a good way, though it still looks like work in progress. But keep up the good work! &lt;br /&gt;
&lt;br /&gt;
* In section introduction: behaviour -&amp;gt; behavior&lt;br /&gt;
* In section introduction: Sentence: their expertise, but on behalf of the individual profiles and behaviour. -&amp;gt; their expertise, but also on behalf of the individual profiles and behaviour.&lt;br /&gt;
* In section introduction: Sentence: Furthermore will this it explain the different personality types based on the theory -&amp;gt; Furthermore this will explain the different personality types based on the theory&lt;br /&gt;
* In section introduction: Senctence: To manage temporary project groups effectively, is it important to understand the group members, the behaviour, how group are developing and how the members are interacting with each other. -&amp;gt; ?? (I’m a little unclear on what this sentence is suppose to say)&lt;br /&gt;
* In section introduction: missing reference to Carl Jung and Myers Briggs in the bottom. &lt;br /&gt;
* In section Groups and Group Processes: organisation -&amp;gt; organization. (Do you use UK or US English, I would recommend stiking to the one or the other? Because in other place I’ve seen you spell organize, with a z.)&lt;br /&gt;
* In section Groups and Group Processes: sentence: the communication between the group members, as they interact in seeking to find a solution -&amp;gt; the communication between the group members, as they interact in seeking an solution (removing three words, and adding one)&lt;br /&gt;
* In section Group Dynamics: behaviour -&amp;gt; behavior&lt;br /&gt;
* In section Group Dynamics: sentence: This article is therefore explaining the development of a group on behalf Tuckmans theory, and clarify -&amp;gt; This article is therefore explaining the development of a group on behalf Tuckmans theory, and clarifies&lt;br /&gt;
* In section Group Development: behaviour -&amp;gt; behavior&lt;br /&gt;
* In section Group Development: Model: missing model caption&lt;br /&gt;
* In section Myers-Briggs Type Indicator – MBTI: organisation -&amp;gt; organization&lt;br /&gt;
* In section Myers-Briggs Type Indicator – MBTI: analysing -&amp;gt; analyzing &lt;br /&gt;
* In section Myers-Briggs Type Indicator – MBTI: connestions -&amp;gt; connections &lt;br /&gt;
* In section Myers-Briggs Type Indicator – MBTI: tp -&amp;gt; to&lt;br /&gt;
* In section Myers-Briggs Type Indicator – MBTI: 4 letter -&amp;gt; four letter&lt;br /&gt;
* In section the 16 MBTI types: behaviour -&amp;gt; behavior&lt;br /&gt;
* In section the 16 MBTI types: sentence: The table below are reflecting -&amp;gt; The table below is reflecting&lt;br /&gt;
* In section the 16 MBTI types: in table: Counsellor -&amp;gt; Counselor &lt;br /&gt;
* In section the 16 MBTI types: in table: Indipendent -&amp;gt; Independent&lt;br /&gt;
* In section the 16 MBTI types: in table: Sceptical -&amp;gt; Skeptical&lt;br /&gt;
* In section benefits of MBTI: sentence: The tool, helps people easily understand -&amp;gt; The tool helps people easily understand (no comma)&lt;br /&gt;
* In section benefits of MBTI: Career conseling -&amp;gt; Career counseling&lt;br /&gt;
* Headline of Diskussion of usability section shoud be Discussion of usability &lt;br /&gt;
* General: All reference should be the bottom (I guess that is to come, you have already set some reference in the test, you are only missing to specify “&amp;lt;reference/&amp;gt;” in the bottom in the section reference, and the references will afterwards appear by them selves.) &lt;br /&gt;
* General: Remember model/picture captions&lt;br /&gt;
* General: Remember all places in text that points to a figure actually point to a figure and not only X&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2907</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2907"/>
		<updated>2014-11-25T00:33:48Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirement Engineering - life cycle model]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt; The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weaknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2906</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2906"/>
		<updated>2014-11-25T00:30:56Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005&amp;lt;ref name=&amp;quot;Iso2005&amp;quot;&amp;gt;[&amp;quot;http://standards.ieee.org/findstds/standard/1220-2005.html&amp;quot;] &#039;&#039;1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process&#039;&#039; &amp;lt;/ref&amp;gt;. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right|Requirement Engineering - life cycle model]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px|Example on a process model for creating context for requirements]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right|Snow card template]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt; The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none|Example on chosen qualities ]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2901</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2901"/>
		<updated>2014-11-25T00:16:23Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;elicitationWS&amp;quot;&amp;gt;[&#039;&#039;http://www.engr.sjsu.edu/~fayad/current.courses/cmpe202-fall2010/docs/Lecture-5/Tech-Req-Elicitation-Paper.pdf&#039;&#039;] &#039;&#039;J. A. Gogen, C. Linde - Techniques for Requirements elicitation&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;&amp;gt; &#039;&#039;P. Loucopoulos, V. Karakostas - System Requirements Engineering&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot; /&amp;gt; &amp;lt;ref name=&amp;quot;contextPDF&amp;quot;&amp;gt;[&#039;&#039;http://www.wohlin.eu/rm_chapter05.pdf&#039;&#039;] &#039;&#039;A. Aurum, C. Wohlin - Requirements engineering: Setting the context&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SREBOOK&amp;quot;/&amp;gt; The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;REMBOOK&amp;quot;&amp;gt; &#039;&#039;C. Hood, S.Wiedermann, S. Fichtiner, U. Pautz - Requirements Management - ISBN: 978-3-540-47689-4&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
*https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
*http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Books:&#039;&#039;&#039;&lt;br /&gt;
* E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition&lt;br /&gt;
* S. Lauesen - Software Requirements&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2875</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2875"/>
		<updated>2014-11-24T23:41:10Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition -  Chapter 1 - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together.&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt;  &amp;lt;ref name=&amp;quot;REFPTBOOK&amp;quot;&amp;gt;&#039;&#039; K. Pohl - Requirements Engineering: Fundamentals, Principles, and Techniques - ISBN: 3642125778 9783642125775&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2864</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2864"/>
		<updated>2014-11-24T23:28:43Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context == &lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot;&amp;gt;&#039;&#039;E.Hull, K. Jackson, J. Dick - Requirements Engineering 3rd edition -  Chapter 1 - ISBN 978-1-84996-404-3&#039;&#039; &amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot;&amp;gt;&#039;&#039;S. Lauesen - Software Requirements - ISBN-13:9780201745702&#039;&#039; &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible.&amp;lt;ref name=&amp;quot;REBOOK&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;SWBOOK&amp;quot; /&amp;gt; The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2801</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2801"/>
		<updated>2014-11-24T22:55:02Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system best as possible. The overall requirement life cycle in shown in the picture on the right.&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2796</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2796"/>
		<updated>2014-11-24T22:53:07Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements=== &lt;br /&gt;
[[File:SnowCard.jpg|thumb|right]]This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2788</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2788"/>
		<updated>2014-11-24T22:50:20Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.[[File:SnowCard.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
= Related material =&lt;br /&gt;
== Comparable stanards / recommendations ==&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=43564 - ISO/IEC 15288:2008&lt;br /&gt;
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43693 - ISO/IEC 26702:2007&lt;br /&gt;
&lt;br /&gt;
== Additional related material ==&lt;br /&gt;
https://www.youtube.com/watch?v=Ec0s0z5uXQ8&amp;amp;list=PLuge2MomyEekzECuCppJesmkv1tmUHCkB&lt;br /&gt;
http://dl.acm.org/citation.cfm?id=545779&lt;br /&gt;
&lt;br /&gt;
= Bibliography =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2771</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2771"/>
		<updated>2014-11-24T22:41:58Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== Acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.[[File:SnowCard.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
= Discussion =&lt;br /&gt;
So why should one bother doing requirement engineering? Today systems exits everywhere where we go and where we are.  Systems come in different shapes and size, for example many consumer devices and appliances are often computers systems, where other systems might be vehicles or engines. &lt;br /&gt;
So systems has an influence and an affect on our everyday, and for everyday that goes by it gets even more influence in terms of newer and smarter technology. So depending on its purpose, the quality of systems can potentially have consequence ranging from minor inconveniences to a global disaster.&lt;br /&gt;
That’s why today the most cost-effective way to achieve better quality is through requirement engineering. The fact is proven again and again over the last +30 years, but its still not really generally acknowledged for its importance. It should be emphasize the requirement engineering is not a solution by itself, but rather that a solution will contain requirements in some form. Therefore every persons involved in creating a system should have knowledge within the area of requirements engineering. &lt;br /&gt;
 &lt;br /&gt;
== Strength and weknesses ==&lt;br /&gt;
Requirements engineering is an effective and efficient way of creating high quality systems that addresses the client’s needs. It is in some cases also effective for making projects successful as wells as being the main reason for failure. &lt;br /&gt;
Tough that the fact still remains the same, the benefit of requirement engineering to prevent faults and higher quality in systems, is one of its single largest contribution. Though it is time consuming, but it is cost-effective if done properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2009</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2009"/>
		<updated>2014-11-23T23:18:05Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.[[File:SnowCard.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2007</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2007"/>
		<updated>2014-11-23T23:16:07Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none|700px]]&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered.[[File:SnowCard.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities. [[File:Qualities.jpg|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2002</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=2002"/>
		<updated>2014-11-23T23:00:40Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== Major concepts == &lt;br /&gt;
===Requirements elicitation===&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
===Design and validation===&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.[[File:ContextProcess.jpg|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered. &lt;br /&gt;
&lt;br /&gt;
===Non-functional requirements===&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities.&lt;br /&gt;
&lt;br /&gt;
===Acceptance test===&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
===Requirement Management===&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=1988</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=1988"/>
		<updated>2014-11-23T22:52:34Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle: &lt;br /&gt;
[[File:LifeCycle.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== major concepts == &lt;br /&gt;
&#039;&#039;&#039;Requirements elicitation&#039;&#039;&#039;&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Design and validation&#039;&#039;&#039;&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Context&#039;&#039;&#039;&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Functional requirements&#039;&#039;&#039;&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Non-functional requirements&#039;&#039;&#039;&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceptance test&#039;&#039;&#039;&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirement Management&#039;&#039;&#039;&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:SnowCard.jpg&amp;diff=1977</id>
		<title>File:SnowCard.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:SnowCard.jpg&amp;diff=1977"/>
		<updated>2014-11-23T22:45:42Z</updated>

		<summary type="html">&lt;p&gt;Joh: picture comes from: http://ptgmedia.pearsoncmg.com/images/chap2_9780321815743/elementLinks/2_9_volere_snow_card_alt.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;picture comes from: http://ptgmedia.pearsoncmg.com/images/chap2_9780321815743/elementLinks/2_9_volere_snow_card_alt.jpg&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:Qualities.jpg&amp;diff=1976</id>
		<title>File:Qualities.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:Qualities.jpg&amp;diff=1976"/>
		<updated>2014-11-23T22:44:53Z</updated>

		<summary type="html">&lt;p&gt;Joh: picture comes from: https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;picture comes from: https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:LifeCycle.jpg&amp;diff=1974</id>
		<title>File:LifeCycle.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:LifeCycle.jpg&amp;diff=1974"/>
		<updated>2014-11-23T22:43:41Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:ContextProcess.jpg&amp;diff=1972</id>
		<title>File:ContextProcess.jpg</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:ContextProcess.jpg&amp;diff=1972"/>
		<updated>2014-11-23T22:42:17Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=1937</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=1937"/>
		<updated>2014-11-23T21:41:40Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
This section describes the context in which requirements engineering is being used, as well as the history it has. This section also covers some examples on where requirement engineering plays a important role, in terms of projects gone bad and how it could be averted by defining proper requirements.&lt;br /&gt;
&lt;br /&gt;
== Application context ==&lt;br /&gt;
Requirements is the basis for every project, it defines the stakeholders, users, customers, suppliers, etc. and their needs, which a potential new system can fulfill.  In order to understand all involved parties, requirements are generally expressed in natural language and that is where the challenge lies. &lt;br /&gt;
The challenge is to understand need or problem completely and unambiguously. Once an agreement between all involved parties is done, then the requirements will drive the project activity. The need of stakeholders may vary and introduce conflict, then the needs may not be clear defined from the start. It is about creating a mutual starting point and thereby creating stable requirements base. It is like setting off on journey without any idea of the destination. Though the intention of requirements is to be the map of that journey, so everybody would know where the journey is headed.&lt;br /&gt;
In terms of management requirements forms the basis for:&lt;br /&gt;
&lt;br /&gt;
*Project planning&lt;br /&gt;
*Risk management&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
*Trade off&lt;br /&gt;
*Change control&lt;br /&gt;
&lt;br /&gt;
There exists multiple examples on how project failures occurred because poorly defined requirements.  A survey conducted by the Standish group in 1995 to 1996, shows the percentage of projects that stated various reasons for project failure. The result of that survey shows the problems fall in to three categories: Requirements (poorly defined or organized, weakly related to stakeholder, etc.), Management of resources (bad financial management, lack of support, no proper discipline and planning), Politics (which has influence on the to first problems).&lt;br /&gt;
All factors can be addressed at a fairly low cost, by defining proper requirements and introduce proper requirements management.&lt;br /&gt;
&lt;br /&gt;
== acceptance and use ==&lt;br /&gt;
The principles and practice of requirement engineering might be mostly used in software development, because of the currently dominant force of change of products. The trend is driven by three key factors, arbitrary complexity (The most complex systems tend to be software), Instant distribution (quick distribution around the world through of the internet), “off-the-shelf”-components (Systems tends to be constructed from bought in technology or ready made components, the could cause reduction in the product development cycle).&lt;br /&gt;
Even though requirements engineering can be applied in other aspects than software.  The same principles and practice also applies to other complete systems, for example consider developing a railway system that needs to go from city A to city B. If the distance between those cities are 300 km, than a high-level requirement may be the travel time should be less than 180 min.&lt;br /&gt;
The point being that requirement engineering applies to systems. Where systems should be understood as a collection of components – machine, software or humans that will co-operate in an organized way to achieve some desired result – which is the requirements purpose to define that.&lt;br /&gt;
There exist several standards on how to manage and use requirement engineering where one could be IEEE Std 1220-2005. But in the end it depends on what kind of system the requirements should define, were in some cases it will be likely the requirements will deviate from the standards. &lt;br /&gt;
&lt;br /&gt;
= Process of creating requirements =&lt;br /&gt;
Requirement engineering can be done in different ways, the idea is to form the requirements accordingly to what a system is suppose to do. Even though there are certain phases a project most go through in order to achieve requirements that defines the overall system or application best as possible. The overall requirement life cycle:&lt;br /&gt;
&lt;br /&gt;
The proposed phases in this article are:&lt;br /&gt;
&lt;br /&gt;
*Ideation &amp;amp; Elicitation &lt;br /&gt;
**Requirements elicitation&lt;br /&gt;
*Elaboration&lt;br /&gt;
**Design and validation&lt;br /&gt;
**Context&lt;br /&gt;
**Functional requirements&lt;br /&gt;
**Non-functional requirements&lt;br /&gt;
*Validation&lt;br /&gt;
**Acceptance test&lt;br /&gt;
*Management&lt;br /&gt;
**Requirement Management &lt;br /&gt;
&lt;br /&gt;
== major concepts == &lt;br /&gt;
&#039;&#039;&#039;Requirements elicitation&#039;&#039;&#039;&lt;br /&gt;
Requirement elicitation is about organizing the knowledge one might have within a certain domain, and then structuring that knowledge by using some requirements elicitation techniques. Some of the techniques are self-explanatory, where other needs some further elaboration. The elicitation techniques are listed in the table below.&lt;br /&gt;
--- TABLE ---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Elicitation techniques&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Objective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Data Analysis&lt;br /&gt;
* Background Reading&lt;br /&gt;
* System Archaeology&lt;br /&gt;
* Laws &amp;amp; Regulations&lt;br /&gt;
| &#039;&#039;&#039;Observational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Ethnographic field studies&lt;br /&gt;
* Protocol Analysis&lt;br /&gt;
* Apprenticing&lt;br /&gt;
* Participant Observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Conversational Techniques&#039;&#039;&#039;&lt;br /&gt;
* Interviews&lt;br /&gt;
* Surveys, Focus Groups&lt;br /&gt;
* Group dynamics&lt;br /&gt;
* Role Playing&lt;br /&gt;
| &#039;&#039;&#039;Introspective Techniques&#039;&#039;&#039;&lt;br /&gt;
* Storytelling&lt;br /&gt;
* Personas&lt;br /&gt;
* Brainstorming&lt;br /&gt;
* Mind-Mapping&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The table shows 4 domains with each their elicitation techniques. In general they help create an objective and subjective understanding on what needs and goals the requirement should fulfill. &lt;br /&gt;
The &#039;&#039;&#039;objective technique&#039;&#039;&#039; is to understanding as much as possible through documents, which could be e.g. from company reports, financial data, business processes, policy manuals, etc. Though the case is different for the system archaeology technique, which is about reengineering something that’s poorly documented. So the technique is about studying and analyzing a system to see if there should be any use full information.&lt;br /&gt;
The &#039;&#039;&#039;observational technique&#039;&#039;&#039; is about being familiar with the surrounding environment for which the requirements need to fulfill. The technique is about being in the environment where the requirements will have influence.&lt;br /&gt;
The ethnographic field study is about observing subjects in their usual environment and seeing them do the things they usually do. Domain experts are in the protocol analysis asked to do their regular tasks as usual, but speaking out loud what they are thinking. The apprenticing is as the word implies, apprenticing an experienced and representative person through the persons daily for work for a while. Participant observation is observing a subject over long time period and becoming a part of a group, without the person’s presence causing no threat to validity. &lt;br /&gt;
The &#039;&#039;&#039;conversational technique&#039;&#039;&#039; derives requirements from conversations with subjects. It can be done through the mentioned techniques in the table, where the technique title implies how to derive requirements from the subject. &lt;br /&gt;
The &#039;&#039;&#039;introspective technique&#039;&#039;&#039; should be called more like a creativity technique, because the requirements come from imagination. There are several ways of amplifying the imagination where some like everyday activities as well as physical actives can lead us in to daydreaming of aspects of system we haven’t thought of before. Even though the introspective technique provide ways of provoking our own mind to come up with these requirements.&lt;br /&gt;
Storytelling is as the word implies telling a story about something relevant to the subject. Personas are fictional characters that prove useful when considering their goals, desire or limitations. Brainstorming and mind-mapping is a common way of structuring ideas, but this can also prove itself useful, both methods can be done in various ways, though one could be brainstorming trough a method called the 6-3-5 method. The 6-3-5 methods is where 6 people sit in a circle, the idea is then each person should write down 3 new ideas within 5 minutes, and then pass their paper to the left. All ideas should be read before writing down new ideas. After 6 rounds, the group should pin all ideas to a board and analyze them together. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Design and validation&#039;&#039;&#039;&lt;br /&gt;
This phase might be more minded for software development, but its intention can still be used in other situations in terms of visualizing possible system prototypes. The purpose of this process is to elicit and validate requirements through interaction design. It should be stressed that in this phase one should avoid committing too much to a specific design to ensure finding the best solution rather than proceeding with first random candidate. The key idea is to sketch, quick and dispensable design trough e.g. paper prototypes, mock-ups, etc. A sketch is defined, not by material or technique, but by function. In terms of validation, the design can be put in scenarios where role-play might be useful to validating the design, and securing that the design and requirements fulfills purpose of the system. More information about design and validation can be found here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Context&#039;&#039;&#039;&lt;br /&gt;
In order to achieve the overall goal, the requirements most reflect the constraints the project has.  This phase is about establishing the context for the requirements. That means identifying the people involved (stakeholders), and their motivations and goals. As well as covering the relevant aspects of the structure and culture of the target organization, that’s supposed to use and be affected by the requirements. Other possible relevant findings could be identifying systems or process that will have an influence or support function on the requirements. These findings are important in order to deliver requirements that will not be disruptive to any existing systems or processes. &lt;br /&gt;
To better understand how to find the right context, here is a visualized example of steps to create the proper context for the requirements or project.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Functional requirements&#039;&#039;&#039;&lt;br /&gt;
This is among on of the most important phases in requirement engineering. It is the phases where the functional requirement for the overall goal is being identified, and documented. It is important that one should take their time meanwhile being thorough when creating the functional requirements. It is crucial that the written language is well formulated and contains a precise and consistent message, to leave out any doubt what the goal of the requirement is.&lt;br /&gt;
The phases of the describing functional requirements can be complex and very hard to do. Though there exits various techniques and styles of specifying requirements. Each technique has an individual profile of pros and cons, which means it really depends on which kind of application the requirements are needed for. Among the well-known techniques, there are controlled languages, uses cases, snow cards, detailed attributed tables, etc.&lt;br /&gt;
An example on the snow card technique is shown in the picture below. The picture is a snow card template that contains valuable attributes one should consider when creating a functional requirement. The idea to create a snow card for each requirement needed, until most functionality is covered or all business process is covered. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Non-functional requirements&#039;&#039;&#039;&lt;br /&gt;
In this phase we define the non-functional requirements, which is also known as a quality. Quality means a thing a system should have, thereby meaning something that wont affect the core functionality of the system. The qualities are by no means less important than functional requirements, because if the qualities are not being addressed an implementation is very likely to be completely unusable, irrespective of how good the rest may be. Because qualities are often crosscutting concerns, it is much more difficult to modify an existing system with new qualities, than modifying a functionality. &lt;br /&gt;
It is important that the defined qualities are clear and precise, without providing too much detail. Because it’s tempting to specify a some in detail, but that might exclude better solutions at the given moment. &lt;br /&gt;
There exits ISO standards that lists certain quality attributes, one could be the ISO/IEC 25010:2011 standard. The idea is then to go through the list and select qualities determined by system type, application areas, goals or the stakeholder’s opinion. To ensure the selected qualities make sense, linking them to system goal will only strengthen the argument why they should be applied to the system. The picture shows an example on list of selected qualities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Acceptance test&#039;&#039;&#039;&lt;br /&gt;
As a quality assurance and making sure all involved parties are satisfied with the end product. An acceptance test is created to test if all requirements are realized in the system. In every engineering disciplines, there are various way of testing an system, for example in systems engineering it may involve black-box testing performed on a system, where in software development it may be user acceptance testing. A test case should be made for each functional requirement, where each test case should consists of three parts:&lt;br /&gt;
&lt;br /&gt;
* The trigger or pre-condition, and possibly some parameters&lt;br /&gt;
* An operational procedure or action to be tested&lt;br /&gt;
* The expected result, side effect, or post-condition&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirement Management&#039;&#039;&#039;&lt;br /&gt;
This phase encompasses the overall process of requirement engineering, with a focus on management rather than engineering activates. The idea is to assess, prioritize, and track requirements, but it also extends to project management based on requirements engineering artifacts, and version control of requirements. Proper management of requirements will also lead to a better cost/effort control, and hopefully a successful project. &lt;br /&gt;
There are various tools and methods in requirements management, to control requirements in more simple way. There exits a long list of different tools among them are: JIRA , Relatics, SpiraTest.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=507</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=507"/>
		<updated>2014-11-15T20:23:06Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
The process of specifying a document with requirements is as follows:&lt;br /&gt;
&lt;br /&gt;
* Requirements Elicitation&lt;br /&gt;
* Design and validation&lt;br /&gt;
* Context&lt;br /&gt;
* Specifying features (functional requirements)&lt;br /&gt;
* Specifying quality attributes (non-functional requirements)&lt;br /&gt;
* System structre modeling&lt;br /&gt;
* Function and process modeling&lt;br /&gt;
* Requirement Quality Assurance &lt;br /&gt;
* Requirement Management&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems Engineering]]&lt;br /&gt;
[[Category:Project Management]]&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=317</id>
		<title>Requirements engineering</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Requirements_engineering&amp;diff=317"/>
		<updated>2014-11-14T10:36:43Z</updated>

		<summary type="html">&lt;p&gt;Joh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As part of systems engineering - requirements engineering is an important phase of the developing process of creating a new product, system or service. Often for a project to begin, a document specifying the formalities needs to be created in order to create common understanding among involved parties in a project.&lt;br /&gt;
The requirements specify the needs and conditions from a client to help developers understand the goal of the product and the need it is fulfilling. &lt;br /&gt;
The developers creates the requirements on the basis of the needs, to specific what the product is suppose to do and how it is going to do it. &lt;br /&gt;
Requirements engineering is regarded as crucial in the development of product, because the outcome often creates the basis to get financial support.  It’s basically the formal link between stakeholders and developers.   &lt;br /&gt;
The requirements can be created either by the stakeholder who wants something built as well as it can be the developer’s responsibility. Requirements engineering is considered a iterative process, so the requirements reflect a product best possible.&lt;br /&gt;
&lt;br /&gt;
The process of specifying a document with requirements is as follows:&lt;br /&gt;
&lt;br /&gt;
* Requirements Elicitation&lt;br /&gt;
* Design and validation&lt;br /&gt;
* Context&lt;br /&gt;
* Specifying features (functional requirements)&lt;br /&gt;
* Specifying quality attributes (non-functional requirements)&lt;br /&gt;
* System structre modeling&lt;br /&gt;
* Function and process modeling&lt;br /&gt;
* Requirement Quality Assurance &lt;br /&gt;
* Requirement Management&lt;/div&gt;</summary>
		<author><name>Joh</name></author>
	</entry>
</feed>