Science topic

Requirements Engineering - Science topic

Requirements engineering (RE) is a systems and software engineering process which covers all of the activities involved in discovering, documenting and maintaining a set of requirements for a computer-based system.
Questions related to Requirements Engineering
  • asked a question related to Requirements Engineering
Question
94 answers
Under the following heading, can you provide a meaningful explanation to understand the importance of requirements engineering?
  • The software engineering
  • Role of software engineer
  • Components of a software system
  • Software types
  • Generic view of processes activities
  • CASE tools
  • Software Requirement Process Model
Relevant answer
Answer
Yes, there are several software options to draw flowcharts for computer codes. Some of these software options include Microsoft Visio, Lucidchart, and Dia.
  • asked a question related to Requirements Engineering
Question
5 answers
  1. Do you design software when you “write” a program? What makes software design different from coding?
  2. If a software design is not a program (and it isn’t), then what is it?
Relevant answer
Answer
Yes, software design is an integral part of the process of "writing" a program. While coding involves the actual implementation of the program, software design involves the planning and conceptualization of the program's structure, functionality, and user interface.
Software design differs from coding in that it focuses on the higher-level aspects of the program, such as its architecture, design patterns, and user experience, rather than the specific lines of code that make it work.
A software design is a plan or blueprint for a program that outlines its intended structure, features, and functionality. It serves as a guide for developers during the coding process and helps ensure that the final product meets the desired goals and objectives.
  • asked a question related to Requirements Engineering
Question
3 answers
Dear All,
I want your valuable suggestions based on experience in the filed of software requirements specification in academic research/ industry practice.
Quality standards are costly and are incomplete/static may not contain some quality attribute information.
What if we a semi-automated tool that capture the application specific quality requirements and provides its formal specification? What kind of company get benefited? what feature list do it support practically?
Please provide your opinion regarding current practice handling quality requirements and quality models/ what are the lacking regarding the same.
Hopefully waiting for the responses.
Thanking you,
Relevant answer
Answer
Hope this can provide some help:
  • asked a question related to Requirements Engineering
Question
4 answers
  • I am a beginner in the research field. Kindly suggest narrow down and concise research domain, topics, or gaps in that mentions domains and I will be able to do in Master degree 1-year thesis.
  • Domains: Software Engineering, Software Requirements Engineering, Software Testing.Software Project Management, Web-Based Software Engineering, Applications of Machine Learning Approaches in Software Engineering, Search-Based Software Engineering, Component-Based Software Engineering.
  • asked a question related to Requirements Engineering
Question
6 answers
Hi all,
What are the major online collaborative requirement gathering techniques in specifically software requirement engineering? As we can see many of these like; Questionnaire forms, E-mail, Discussion Board, and conducting Polls etc.
  • asked a question related to Requirements Engineering
Question
20 answers
The currently earliest paper I found containing the term is by Yeh and Zave (1). In (2), Zave speaks of non-logical properties.
(1) R. T. Yeh and P. Zave, “Specifying software requirements,” Proc. IEEE, vol. 68, no. 9, pp. 1077–1085, 1980.
(2) P. Zave, “A comprehensive approach to requirements problems,” presented at the Computer Software and Applications Conference, 1979. Proceedings. COMPSAC 79. The IEEE Computer Society's Third International, 1979, pp. 117–122.
(3) J. Mylopoulos, L. Chung, and B. Nixon, “Representing and using nonfunctional requirements: a process-oriented approach,” IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 483–497, 1992.
Am I on the right path? Different suggestions are welcome.
  • asked a question related to Requirements Engineering
Question
10 answers
There are so many subtly different definitions out there. Which one is your favorite? And why? Because it was «first»? Because it is «best»? Let's create a word cloud from all unique answers!
  • asked a question related to Requirements Engineering
Question
7 answers
Plan-driven and agile methodologies have different prescriptions for software development. What are the advantages and drawbacks of combining these seemingly incompatible approaches in software development projects?
Relevant answer
Answer
Plan-driven development is a conventional form of development compared to agile software development, with more importance on plan and structure in specific. Plan-driven approaches to growth concentrate on software design and performance consistency. Plan-driven approaches are related to the Capability Maturity Model (CMM) first rank framework.
  • asked a question related to Requirements Engineering
Question
9 answers
Lean as in Lean Six Sigma is a very structured and mature approach. In software engineering there are few attempts to re-invent the wheel by resurfacing techniques used for over 50 years in manufacturing as "new approaches".
Although a laudable initiative in many cases it is just a smoke screen for certifications and training courses.
Relevant answer
Answer
The paper cited above is available at the link A Total Quality Organization Thru’ People (Part 21: Lean People, Mean People, Green People), FOUNDRY, An Indian Journal For Progressive Metal Casters, Vol. XXI, No. 2, Issue 123, pp. 41-48, May/June 2009. url= https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1633896
  • asked a question related to Requirements Engineering
Question
1 answer
Hello Everyone, From past few days, I am planning to write a research paper on (Requirements Engineering + Fintech/Digital Financial Systems/Banking Systems + Agile Model). I need some suggestions from your side on the topic.
  • asked a question related to Requirements Engineering
Question
9 answers
More than 40 years later, and there is still no standard for the ER model. Both researchers and industry say that is a popular database design tool, and it is still a must-taught topic in almost every basic database course. So, there is a need for clarifying the motivations for this state of affairs.
However, it is fair to say that it is not clear yet if it is viable to have an ER model standard as a design language. Therefore, I could ask: is it?.
Relevant answer
Answer
I agree with you. Probably we need an official/standardized UML Class Diagram notation for ER modelling, but it will take time.
  • asked a question related to Requirements Engineering
Question
6 answers
QA Automation Tools such as cucumber, selenium, etc check the quality of code. Is there any tool available that provides knowledge regarding software quality requirements (a.k.a. Non-functional Requirements) analysis at early stage of Requirements Engineering.
Please share your experience.
Thanks
Relevant answer
Answer
No such tools are used for quality requirements ...but some methods are used..
  • asked a question related to Requirements Engineering
Question
6 answers
I would like to know if there is a relationship between RE artefact and culture. 
Relevant answer
Answer
Hi Tawfeeq,
let me point you to a talk, that is probably
* not yet real research and
* not focused only the the "first phase" of software development (requirements engineering) but on the whole process as seen by Scrum, BUT
* based at least on a little survey,
* building on the Hofstede dimensions, and
* very entertaining and inspiring and thus a good starting point.
Namely:
"Scrum doesn't work in China!?" from Bas Vodde presented in 2010.
There is a short note about it in Bas Vodde's blog (https://blog.odd-e.com/basvodde/2010/06/scrum-and-culture.html) linking to a video of his presentation (http://www.infoq.com/cn/presentations/bas_scrum_china) and the slides are available (https://www.odd-e.com/material/2010/scrum_shanghai/culture.pdf) as well.
For your own research you probably need to add more methodology. My first stop for methodology in software engineering research is Steve Easterbrook, Janice Singer, Margaret-Anne Storey, Daniela Damian: "Selecting Empirical Methods for Software Engineering Research" but you might need to go beyond what they discuss.
Interesting topic! Besides, there seems to be a global software engineering culture be developing that might in turn influence the national cultures.
Good luck, dsp
  • asked a question related to Requirements Engineering
Question
3 answers
My preliminary data analysis is available here. Hope to get response from SoftwareEngineering Communities in here.
Relevant answer
Answer
yes i am
  • asked a question related to Requirements Engineering
Question
17 answers
I need to draw a feature tree. I have been trying to use Feature IDE for Eclipse. But it is not working. Please suggest me some other tool that I can use for creating the feature diagram of a Software Product Line. Dependency relations such as optional feature, mandatory feature, cardinality etc. should also be shown in the diagram.
Relevant answer
Answer
You can also use S.P.L.O.T tool. It is online tool and very useful .
  • asked a question related to Requirements Engineering
Question
4 answers
We are performing a scientific study in order to explore the current attitudes of researchers and practitioners towards video as a medium in requirements engineering and software development.
The survey covers the following three main topics:
  1. Demographics
  2. Attitude towards the medium video including advantages, disadvantages, potentials and concerns
  3. Application of video including creation and usage
We would appreciate if you participate in our survey and also forward the study to other potential participants:
Best regards
Oliver Karras
Relevant answer
Answer
Hi Felix,
thanks for your answer.
The purpose and application of video in RE has several facets, as you already mentioned. All the points you stated are possible applications of video.
This survey has the intent to understand the current attitudes, advantages, disadvanteges, potentials and concerns towards video in general.
We want to understand how video as a medium for presenting or obtaining information is perceived by different the participants.  For us, it is important to understand at first whether video is currently used or not and for which purpose it is used or should be used. And therefore, we want to focus on the the perspective of the survey participants and not our intuition.
I hope this information is helpful and that you will finish the survey.
Cheers
Olli
  • asked a question related to Requirements Engineering
Question
3 answers
I sent a paper on 3rd March 2016 to CMES journal. Till now i am not getting any response from the editor.
Relevant answer
Answer
this depend on publishers,Usually, they take 2 - 3 months to review research articles,some time less
  • asked a question related to Requirements Engineering
Question
5 answers
I wonder if anyone has contact or knows any specialist/experts (either from academia or industry) working in the are of requirements engineering and big data?
I need to compile a list of experts who would agree to help to validate my model. The model is not ready, but I think it's a good time to start looking for help on this matter.
I appreciate that a lot. Any help is very much appreciated. :)
Relevant answer
Answer
Dear Researcher
My expertise area includes requirement engineering and Bigdata
  • asked a question related to Requirements Engineering
Question
9 answers
Verification: process of evaluating steps which is followed up to development phase to determine whether they meet the specified requirements for that stage.
Validation: process of evaluating product during or at the end of the development process to determine whether product meets specified requirements.
Difference between Verification and Validation:
- Verification is Static Testing where as Validations is Dynamic Testing.
- Verification takes place before validation.
- Verification evaluates plans, documents, requirements and specifications, where as Validation evaluates product.
- Verification inputs are checklist, issues list, walkthroughs and inspection, where as in Validation testing of actual product.
- Verification output is set of documents, plans, specifications and requirement documents where as in Validation actual product is output.
Relevant answer
Answer
Dear Peter Stoyanov Sabev sir,
Thank you very much for replying. This information of yours is really helpful.
  • asked a question related to Requirements Engineering
Question
1 answer
I am searching for different methods used to calculate the cost of errors/defects during SDLC but can only find one method. I Need more techniques for evaluation.
Relevant answer
Answer
There is not much evidence on this topic. Only anecdotal. You might check out the literature on Fagan inspections, as these studies usually measure defect densities.
  • asked a question related to Requirements Engineering
Question
3 answers
For the above question, there is a need an agile approach for requirements engineering while using semantics in globally distributed setting. 
Relevant answer
Answer
First, be careful to build on pre-existing domain knowledge and build a vocabulary together with each of your customer segments — in their own language. The vocabulary may serve you well in communicating.
Then, listen to your customers, socialise prototypes with them, and structure the resulting understanding using use cases. Then elicit their feedback on the result and iterate because, in spite of best intents, we usually mis something.
There is no formulaic approach in a complex domain.
  • asked a question related to Requirements Engineering
Question
14 answers
Within business analysis and requirements engineering responsible persons need to collect requirements regarding a new or changed IT system. In this process they also talk to end users about their ideas and needs. However, the procedure can be very time-consuming. The necessary efforts may also hinder end users to address the IT department in case of new IT needs and lead them into an own implementation of shadow IT.
To reduce related efforts and problems, are their any criteria that provide what level of detail is at least necessary in the process of requirements defintion? What minimum of requirements do, e.g., agile processes start with?
The level of detail may be dependent on the kind of IT solution. Therefore, I'm looking for a holistic method or model to derive the necessary level of detail from related assumptions.
Relevant answer
Answer
Hi Stephan, I'm with Maya and her recommendations and basically I'm with Andre too, but I would like to extend his approach by adding these thoughts:
  • First, it all starts with the process. Shape the process until the stakeholders are satisfied. But shaping the process means you are fully aware of today's software capabilities.
  • 2nd, software capabilities can enable a new process design and a new process design may lead to new software requirements. Sometimes its difficult to balance this and get forward. Don't try to make a perfect 100% solution (for both process design and software), 80% is much faster and cheaper.
  • For a new company it can be right to choose established and well reviewed standard software and let the process design follow the software.
  • For a grown business start with my first bullet above. After you have finished your process design check out standard software. When a standard software solution is able to support 80% of your crucial business processes run a proof of concept project. If it fails and you are sure that the software failed (a proof of concept can fail out of many reasons) consider (a) individual enhancements or add on's to the standard software or (b) an individual development of a new solution
  • an individual development is the most expensive and time consuming way to set up a new solution. Make sure that the team knows best practices, has patterns, frameworks and above all a track record of successfull IT projects in the very field of business you are in.
  • asked a question related to Requirements Engineering
Question
18 answers
Analysis of software development processes such as waterfall, agile etc and maybe each individual element such as requirement engineering or software design would be a great help. Thanks
Relevant answer
Answer
A classic: "James O. Coplien. Borland Software Craftsmanship: A New Look at Process, Quality and Productivity. In Proceedings of the Fifth Borland International Conference, Orlando, Florida, June 1994."  https://sites.google.com/a/gertrudandcope.com/info/Publications/Patterns/Process/QPW
  • asked a question related to Requirements Engineering
Question
4 answers
I'm doing my Masters thesis and I'm trying to develop a toolkit which would suggest designers what requirements methods to be used based on the participants human capability. Is there any similar toolkit developed. Please let me know if you know any. 
Relevant answer
Answer
You may look at w6h.org
  • asked a question related to Requirements Engineering
Question
2 answers
I have to define fitness function for next release problem in requirements engineering. I have to define sub set of requirements from given set of requirements which best meets user needs for next release.
Relevant answer
Answer
What best satisfies user needs?
Two steps:
1. Define "user needs", by which I mean quantify the requirements, each with either benefit, cost, priority or any set of these
2. Define "best": make a decision criteria to determine how low priority the last implemented unit must have, how many "penalties" can be allowed, or how many benefits must be received to pass for release. Or a combination of these.
Both of these should be done in communication with the one who pays and the one who is to be the user.
  • asked a question related to Requirements Engineering
Question
4 answers
Is it possible to change to software quality like performance, security and etc. after its deployed? 
Now we have cloud computing, which makes it possible for fast publishing the service and change its environments based on what the user need, does it sound to say that is also possible to plug in quality to existing service to meet the user non-functional requirements?
Relevant answer
Answer
I'd like to know what you mean by "quality" and "after compiling" before fully answering. If you mean conformance to requirements, the only way you can improve a compiled version of the software is to wrap it in other software that disables some of its functionality (e.g., by limiting ranges on parameter values, controlling the sequence in which APIs are invoked, or excising some APIs altogether). This doesn't change the requirements conformance of the software component itself but may improve the quality of the system in which it is embedded. The extreme case would be to take a bad module and to put it together with another module that completely replaces its functionality. Though the software is part of the deliverable it is never called, its function having been taken over by the surrogate.
If you embed that software into software that takes none of these approaches, you can only *lower* the overall quality. Think of a hardware analogy: if a board has just one badly designed integrated circuit that has a certain number of failures in a trillion (FITs), adding more chips will only cause their FIT values to lower the end-to-end reliability — unless a high-reliability component is used to hide/wrap the faults of the one under consideration.
  • asked a question related to Requirements Engineering
Question
3 answers
In literature, I found many approaches that deal with NFRs including Ontology based approach. I found issues related to ontology engineering viz. merging mapping, expressiveness, among others and issues in NFRs viz. conflict, integrity, etc. but I have some confusion regarding issues in ontology engineering in NFRs elicitation and specification. I am not clear what kind of issues regarding ontology in NFRs that we can consider as a challenging task for research work. Please provide your valuable guidance regarding this. Hopefully waiting for your reply. It will help me a lot.
Thanking you, 
Relevant answer
Answer
Conjecture:  Customers and developers must have “sufficiently equivalent” rich ontologies in a domain of discourse (e.g. flight control) to have meaningful discussions about quality attribute goals (e.g. safety goals, ease of use goals, understandability goals).
Conjecture:  If the domain is familiar and the parties are experienced, they are likely to share an ontology.
Questions:  What happens when the domain is unfamiliar to both parties (e.g. to determine compliance of prescription drug ads with FDA regulations)?  What happens when one or both of the parties are inexperienced?  Is meaningful consensus on quality goals possible in these scenarios and under what conditions?
Barry Boehm is working to develop an ontology for quality attributes.  Is a single ontology likely to be useful across the spectrum of software applications and organizations or will organization-tailored and project-tailored quality ontologies be more useful?  Will something else be more useful?
Hope this helps.
  • asked a question related to Requirements Engineering
Question
2 answers
Models are considered as requirements.  A new set of models known as specification models in Simulink by mathworks are introduced. My question is can we use these specification models as requirements rather than having requirements in the form of text. 
Relevant answer
Answer
It is may be easier to script the requirements as a configuration file and load the variables to workspace and then proceed to simulink.
  • asked a question related to Requirements Engineering
Question
6 answers
Actually I am working in Security Testing, so how to get some data set for validation. The data set that I require must contain the threats/attack with their frequency and point of attack for a particular organization/website.   
Relevant answer
Answer
@ Ljubomir Jacić Thanks for your valuable data and advice
  • asked a question related to Requirements Engineering
Question
8 answers
I Found some roadmaps in Pressman& Sommerville books. 
Relevant answer
Answer
Dear 
Mehrpooya Ahmadalinejad
for more information about this subject please study "P-CMM" : People Capability Maturity Model
  • asked a question related to Requirements Engineering
Question
8 answers
I am looking for a tool that automates the classification of requirements (into categorise like functional requirements, data constraints, usability requirements, security, look-and-feel...). I've seen a number of papers in requirements engineering describing classification techniques. However their tools are not made available.
I am wondering if you know any of such classification tools available to download?
Thanks
Relevant answer
Answer
There are many formal systems for tracking requirements etc, but much of the software is proprietary.
  • asked a question related to Requirements Engineering
Question
4 answers
Data flows modelling and analysis, risk and impact assessment, heuristics, etc. are some approaches proposed in the literature to elicit privacy requirements. There are pros and cons for all of them so, what approach do you think is the best and why? Any widespread (methodological) solution in the industry (not just at research level)? 
Relevant answer
Answer
I believe the following book answers some of your questions from an industrial / applications perspective ...
  • asked a question related to Requirements Engineering
Question
3 answers
Is there a methodological approach that can enable us extract possible implicit requirements (Unspoken or assumed) from a requirement document?
Relevant answer
Answer
I want to believe it's possible to use linguistic metrics (e.g. G. Lami with QuARS) to find out if a requirement explained as a sentence written, say for example, in English contains implicit meaning potentially hiding tacit knowledge.
  • asked a question related to Requirements Engineering
Question
13 answers
How can we learn them (Implicit Requirements)? Are there mechanisms or a set of steps that we will need to follow such that if A follows that step it's going to produce Implicit Requirements and If B follows that same step, it will end up with the similar Implicit Requirements?
Relevant answer
Answer
That's a really interesting research question! I'll try to rephrase it the way I understood it.
Is it possible for a machine to infer implicit requirements based on a set of explicit requirements?
In my opinion this is dealing a lot with knowledge representation and engineering, and how to discover tacit knowledge from domain experts.
  • asked a question related to Requirements Engineering
Question
4 answers
I am starting a RG Project to work through an example for developing an approach to using requirement pattern concepts, UML profiles, and a UML CASE tool to generate requirement statements.
If interested please let me know, this will be open to anyone who wants to participate, or check on our progress,
Relevant answer
Answer
To lay the foundation for discussion here is an example that I am currently working on for a current project.
Inquiry vs. Report (Definitions (http://www.thefreedictionary.com)
Inquiry (noun) - a request for information; a question
Inquire (verb) - to seek information by asking a question
Report (noun) - an account presented usually in detail
Report (verb) - to write or provide an account or summation of for publication or broadcast
I frequently reviewing existing documentation to identify the business concepts and terms, which then leads to defining these business terms as analysis classes (e.g. product). In the terms of the above definitions I would consider the capability to view/update the details of a product as an Inquiry, while viewing a list of products as a report.
The distinction I am considering is that an inquiry feature may be expected to be extended with CRUD operations to manage business object's data, while a report feature would not.
Furthur analysis of a user's needs may identify the requirement that they be allowed to edit multiple business objects and multiple attributes within one UI, however the concept of an Inquiry would remain the same.
Obviously there are many similarities between the two concepts and it might be useful to model Inquiry as a specialized for of a report. E.g., they both have selection criteria, execution options, and delivery/presention options. However the fundemental concept difference would be the separating data entity CRUD operations.
The difference between these two concepts would apply ONLY within the analysis effort as the design choices would NOT be constrained by these distinctions.
Furthur the ultimate requirements statements derived from the model (using statement templates) would NOT reference these concepts. This is to support the goal of constraining the terms used within the requirement statements to a structured business vocabulary.
Let me know your thoughts, concerns, or recommendations,
thanks,
David
  • asked a question related to Requirements Engineering
Question
7 answers
Few of these tools support transformations from use case models to another analysis or design model. What is your opnion on why?
Relevant answer
Answer
What would such a fine-grained specification entail? A UML Use Case Model? A textual description as introduced by Jacobson? Or the more elaborate forms of e.g. Constantine or Cockburn?
  • asked a question related to Requirements Engineering
Question
8 answers
I want to know about the cost estimation techniques used in software cost estimation at present. What are the early, immediate, instant or emergency cost estimation techniques?
Relevant answer
Answer
I've been using a cost consequence analysis as a quick, preliminary method in costing software use in healthcare and its potential impact.
  • asked a question related to Requirements Engineering
Question
5 answers
The paper said that the need for the collection of software cost estimation is a problem before.
Relevant answer
Answer
You may want to look at our CSES portfolio. It can be applied to your question with respect to risk management. One of our papers reference Barry Boehm's work in this area. http://academic.research.microsoft.com/Paper/4813650.aspx
Our work:
DOI: 10.1109/HICSS.2009.308
DOI: 10.1109/CICYBS.2009.4925092
All the best.
Bob
  • asked a question related to Requirements Engineering
Question
6 answers
In the requirements engineering field, the use of boilerplates is a way towards controlled natural language.
Relevant answer
Answer
Dear Nawel, I'm writing a tool for automatic building of Goal models from NL requirement documents. I found DODT very interesting, but I can't find anything else except that document you posted here: can you suggest me were to download the tool or the source code (or any other document)? Many thanks!
  • asked a question related to Requirements Engineering
Question
4 answers
What are the software tools that help a tester to generate test cases from requirement specifications?
Relevant answer
Answer
TCGEN is used to for specification based testing from Unified Modeling Language statecharts. There are other techniques to do it, but I l found this one is most effective of all.
  • asked a question related to Requirements Engineering
Question
56 answers
Software development is a big issue in the price of the software. For example, say someone asked how much money it took to make a shop management software (or any software). They did not say anything about this software but asked only how much it cost (without requirement). But what could be the answer, because without the necessary information it can't be answered. In the case of software development many have a cost estimation but have no way to do a software development cost estimation without requirement collection. Is this also a problem you have come across? What is your advice on this situation?
Relevant answer
Answer
If you don't have any requirement then it is impossible to do a cost estimate . . simply because if you do not have a requirement then you don't know what you need and you can't make a cost estimate if you don't know what you need.
But you have at least one requirement: you need Shop Management Software
You can use two approaches:
1. Analogy. If you have cost estimates on different software applications you can order them by cost and try to position your Shop Management Software to get a rough order of magnitude.
2. Construct high-level requirements. What is my Shop Management Software supposed to do. I know of two FPA-based techniques to translate those high-level requirements to a function-point size, which can be translated to a cost estimate. The first is "FPA in Early Stages" from NESMA www.nesma.nl/section/books/ and the other is the Early & Quick FP approach from DPO www.dpo.it/sito%20inglese/eqfp/index.htm
  • asked a question related to Requirements Engineering
Question
13 answers
I'm interested in the link between knowledge elicitation and requirements analysis/elicitation and, in particular, the role of 'soft' or 'non-functional' requirements.
Relevant answer
Answer
I suggest to take a look in the classification of NFR that makes Ian Sommerville, it is very illustrative and you can find it in his Software Enginnering text book.
  • asked a question related to Requirements Engineering
Question
6 answers
As you may have noticed, inclusion of business vocabularies (also referred to as glossaries) into the project activities is trending, yet this process is often lacking objective feedback and consolidated opinion from the experts and industry. Do we really need specialized/additional solutions for that? If you are working in the field of business analysis, business modeling, requirements engineering, IS design or development, I would like to hear your opinion!
Or better yet, please consider filling out an anonymous five minute survey that is being conducted by the Center of Information Systems Design Technologies of Kaunas University of Technology and is available at
On the last page of the survey, there is an option to leave extended feedback, if you wish to do so. Each answer is extremely valuable to us!
We would appreciate your response by March 24th. Feel free to also forward it to your fellow colleagues, both academicians and practitioners. And big thanks to all of those who have already contributed!
I must also add that this survey is part of research that we plan to publish in the form of a paper, if we get enough feedback (which is harder to achieve than we thought). So you will be the first to know when it happens!
Relevant answer
Answer
It is important to have a glossary. However, in these days of agile, such artifacts are not valued by the client unfortunately.
  • asked a question related to Requirements Engineering
Question
1 answer
I am currently working on a process to take a statement (e.g., a paragraph from a PWS (Performance Work Statement - part of a government software development contract) and engineer the sentences into a series of "engineered" statements.
The process would be (for each statement in the paragraph):
1) Separate each sentence onto it's own line.
2) Standardize the terms using the project or domain's structured business vocabulary (SBVR).
3) Deconstruct the sentence into standalone sentences (e.g, ... and ...) being aware of implied structures (e.g., for government staff and consultants - government staff, government consultants).
4) Reword 'gently' to standardize sentence forms.
... etc.
Relevant answer
Answer
Do rely on a domain vocabulary for standardizing the terms, how do you map the un-standardized terms to standardized ones ?
are you using any NLP techniques ?
  • asked a question related to Requirements Engineering
Question
8 answers
Does anyone know who the first (systems-, software-, ...) engineer was to coin this term? Merriam-Webster says the term has been around since 1662.
I will soon be looking at the paper titled “Conceptual models for determining information requirements” by J. C. Miller, 1964, but I don't know if this is a match yet.
The first software engineering paper to implicitly define the term was presented by Royce in 1970.
W. W. Royce, “Managing the development of large software systems,” presented at the IEEE WESCON, 1970, pp. 1–9.
The first software engineering paper to dedicate a section to the term was the one by Bell and Thayer of 1976.
T. E. Bell and T. A. Thayer, “Software requirements: Are they really a problem?,” presented at the 2nd international conference on Software engineering, San Francisco, California, United States, 1976, pp. 61–68.
Do you know earlier ones?
Relevant answer
Answer
I found a new citation:
"The final element in a data processing problem is the set of operational requirements of the system. These are the requirements that are not related to the logic of the problem [...]"
J. W. Young Jr. and H. K. Kent, “Abstract formulation of data processing problems,” Journal of Industrial Engineering, vol. 9, no. 6, pp. 471–479, November-December 1958.
  • asked a question related to Requirements Engineering
Question
1 answer
The aim of the question is gather from your opinion the models/proposals/framework which are used to measure/define a certain quality level of modeling language for requirements engineering. So far I have a few ideas like QM4MM to evaluate the maturity of the metamodels of these languages or SEQUAL (ant works of Krogstie.)
Relevant answer
Answer
At last RE conference in Rio, there were a workshop for comparing requirements modelling approaches. This workshop was the third one and the two first were held at MODELS and focused on comparing modelling approaches.
A common case-study has been modelled in a wide variety of modelling language. Based on such common modelling, it makes the comparisons a little bit easier. The comparisons made during the workshop, and published in proceedings, are based on a set of comparison criteria covering a large set of features. Comparing modelling approach is sometimes tricky, especially when addressing different issues or with different focus.
It might be interesting to start by reading their work. See http://cserg0.site.uottawa.ca/cma2013re/ for more informations about the workshop.
  • asked a question related to Requirements Engineering
Question
3 answers
Implicit requirements are the hidden or assumed requirements that a system is expected to fulfill though not explicitly elicited during requirements gathering.
Relevant answer
Answer
Implicit requirements can be elicited through a quite large set of techniques (from checklists and guided interviews to formal analysis). I'm not sure what you mean by "key features that characterize" but here is my opinion about missing requirements/assumption/properties identification.
For a good overview of available techniques about requirements elicitation, I would recommend reading [Lam09], especially the Chapter 2. It "briefly" describes techniques such as background study, data collection, questionnaires, grids and card-sorting techniques, storyboarding, scenario-driven strategies, mockups and prototypes, interviews, observations, group sessions, etc. I think all these techniques helps in understanding the domain, and eliciting requirements.
For model-driven requirements engineering techniques, there is also a set of systematic techniques. A common technique for identifying missing requirements and assumptions about the software system is risk analysis. Risk can be defined as an uncertain factor whose occurrence impacts the satisfaction of high-level objectives. Risk analysis consists in a three-phase cycle: identify, assess and control. If your focus is on identifying missing domain properties, you are probably mainly interested in the first phase: identify. By identifying causes that falsify your software system, you identify (and make explicit) such missing elements.
In KAOS methodology [Lam09], risks (known as obstacle, a goal-oriented form of risk) can be identified, among other, through (a) formal regression from requirements and assumptions through domain properties - for example, a mobilized ambulance reach the incident within ten minutes, but it might be the case that it last longer, identifying missing assumption that ambulance can be lost - [Lam00] (b) the use of patterns - these patterns encodes known / standard tactics for falsifying the requirements/assumptions - [Lam00] (c) a combination of machine learning and model checking technique [Alr12]. Obstacle analysis has been successfully applied to various application domains [Lut07,Dar07].
In CORAS methodology [Lun11], risks are identified by the use of threat diagrams. Identification is driven by a systematic approach where threats and unwanted incidents are first identified, then scenarios and vulnerabilities.
Analyzing incidents and accidents might also reveal a lot of underlying, implicit, assumptions. Such analysis is strongly connected to the above risk-driven requirements engineering. In this area, I would recommend reading [Lev95] and [Lev11] .
Up to my knowledge, risk analysis is a very effective way to discover new, implicit, domain properties, missing requirements, or missing assumptions.
[Lam09] A. van Lamsweerde, Requirements Engineering: From System Goals to UML Models to Software Specifications, Wiley, January 2009.
[Lam00] A. van Lamsweerde, E. Letier, Handling Obstacles in Goal-Oriented Requirements Engineering, IEEE Transactions on Software Engineering, Special Issue on Exception Handling, Vol. 26 No. 10, October 2000, 978-1005.
[Alr12] D. Alrajeh, J. Kramer, A. van Lamsweerde, A. Russo and S. Uchitel, "Generating Obstacle Conditions for Requirements Completeness", Proc. ICSE'2012: 34th Intl. Conf. on Software Engineering, Zürich, May 2012.
[Lut07] R. Lutz, A. Patterson-Hine, S. Nelson, C.R. Frost, D. Tal and R. Harris, “Using Obstacle Analysis to Identify Contingency Requirements on an Unpiloted Aerial Vehicle”, Requirements Engineering Journal 12(1), 2007, 41-54.
[Dar07] R. Darimont and M. Lemoine, “Security Requirements for Civil Aviation with UML and Goal Orientation”, Proc. REFSQ’07 – International Working Conference on Foundations for Software Quality, Trondheim (Norway), LNCS 4542, Springer-Verlag, 2007.
[Lun11] M.S. Lund, B. Solhaug and K. Stølen, Model-Driven Risk Analysis: the CORAS approach. Springer-Verlag, 2011.
[Lev95] N.G. Leveson, Safeware: System Safety and Computers. Addison-Wesley, 1995.
[Lev11] N. G. Leveson, Engineering a safer world. MIT Press, 2011.
  • asked a question related to Requirements Engineering
Question
13 answers
I am preparing a course on requirements analysis and was looking for some examples on stakeholders interests conflicts and how they have been resolved from real software projects and was wondering if you can share some of your experiences on this topic with us.
Relevant answer
Answer
Tracking the tenuous links between stakeholders could go on for ever and you need to draw boundaries as to whom you should consider. This depends very much on the nature of the systems being designed, but largely requires plain common sense. The first things to find out is who are your users according to the context of the system (for Example designing generic software is difficult because of many different users with different purposes and characteristics.) Instead of thinking of a generic user with generic skills and goals is better to think on several specific users. Second you have to consider that "you" and your own interests and abilities can differ from other users. Third step is talking to your "possible" stakeholders (participatory design): structured interviews, open-ended discussions, or bringing the stakeholders into the design process. I used the participatory design for my last project and the result were impressive. A system must be not only useful and usable, but also USED. Forth step is to "watch" your stakeholders and "hear" what they say. This may involve sitting and taking notes how they use a system like yours. You can use a video camera or tape recorder. Their explanation have to match what they really do. The last step is called: use your imagination. Even if you cannot involve every actual stakeholders you can at least try to imagine their experiences. One method that has been quite successful in helping design teams produce user-focused designs is the "persona"(a rich picture of an imaginary person who represents your core user group ).
References: Human-Computer Interaction; Alan Dix, Janet Finlay, Gregory D. Abowd, Russell Beale
  • asked a question related to Requirements Engineering
Question
5 answers
I am seeking an interesting topic in that field for my master thesis.
Relevant answer
Answer
I suggest software product line specification and verification -- but there are many others.
  • asked a question related to Requirements Engineering
Question
15 answers
The Purpose of this survey is to assess the impact of Implicit Requirements (IMR) on the success or failure of requirements engineering during software development. IMR are the hidden or assumed requirements that usually do not get mentioned by stakeholders during requirements elicitation but which a system is expected to fulfill, in order to be wholly accepted by users. Some opinions seem to suggest that IMR throw up substantial challenges during software development, this survey seeks to empirically investigate the impact of IMR on software development.
Relevant answer
Answer
Will it be possible for you to share the findings.
  • asked a question related to Requirements Engineering
Question
4 answers
I'm searching for some tools that help me to formalize the analysis, something more than just an UML editor.
Relevant answer
Answer
My favorite tool for capturing EA modeling is Essential Architect Manager. View this tool at http://www.enterprise-architecture.org/ See rmtoo which is an open source requirements management tool at http://www.flonatel.de/projekte/rmtoo/. The last update was in 2012 but the source code is available which means you could potentially make updates yourself. Trak an enhanced wiki and issue tracking system for software development projects which can be viewed at http://trac.edgewall.org/.Another tool is Archimate Modeling at http://archi.cetis.ac.uk/ however that is more UML. I hope this is off assistance.
  • asked a question related to Requirements Engineering
Question
8 answers
To measure the effort of NFR we usually use historical data. My question is: how can we determine if a requirement X is the "SAME" as a requirement Y specified in previous projects?
Is there any methodology that deals with this?
Relevant answer
Answer
@Joseph Thanks a lot for your replies
  • asked a question related to Requirements Engineering
Question
8 answers
In human computer interaction, users of software can provide feedback on the performance of a particular software. What role does usability evaluation play in ascertaining the production of high-quality software?
Relevant answer
Answer
The role of usability evaluation as it relates to Human-computer interaction cannot be underestimated.The Software development process consists of an interconnected set of essential ingredients such as the analysis, requirement specification, design, implementation, testing, and maintenance phases. Interestingly, usability evaluation play a vital role in software testing. However, when it has to do with Human-computer interaction, the interaction between users of the software being tested and the functionalities of the software's Graphical user interface will help provide meaningful feedback that can be instrumental at improving the overall quality of such software.
  • asked a question related to Requirements Engineering
Question
15 answers
Looking for a set of specific Problems to work on for my doctoral work
Relevant answer
Answer
Event-B is a rigorous formal method for system specification. Rodin is an Eclipse-based IDE that provides tool support for Event-B. One Rodin plug-in is UML-B which, as its name suggests, combines UML and B. You may want to google Colin Snook (EECS/Univ Southampton), which is the main designer and maintainer of UML-B, I believe. He has also authored several papers on this approach.
  • asked a question related to Requirements Engineering
Question
3 answers
The aim of the question is gather information about the Modeling Languages used by Requirements Engineering community and in particular for Software Product Lines in Domain Engineering phase.
Relevant answer
Answer
The selfish answer: URML, see my profile.
But, of course I should refer to FODA by Kang et al., a revision of FODA is FORM . You should also look into the book by Krysztof Czarnecki, Ulrich Eisenecker: "Generative Programming: Methods, Tools, and Applications: Methods, Techniques and Applications".
A review paper I recently found is
V. Vranić, “Reconciling Feature Modeling: A Feature Modeling Metamodel,” in Object-Oriented and Internet-Based Technologies, vol. 3263, M. Weske and P. Liggesmeyer, Eds. Springer Berlin / Heidelberg, 2004, pp. 245–255.
A relationship of requirements to features, that relates Jacksons work to features:
A. Classen, P. Heymans, and P.-Y. Schobbens, “What’s in a Feature: A Requirements Engineering Perspective,” in Fundamental Approaches to Software Engineering, vol. 4961, J. Fiadeiro and P. Inverardi, Eds. Springer Berlin / Heidelberg, 2008, pp. 16–30.
  • asked a question related to Requirements Engineering
Question
6 answers
Service based system usually specified by WDSL, BPEL..However, these models do not rich enough for reasoning about change from requirements. A requirements model is more relevant in this situation. The question is what are the suitable requirements model for a Service Based System?
Relevant answer
Answer
The requirement model is based on the requirements elicitation suggested by the users, customers and other stakeholders. However, a specification model starts and is based on the requirement model and is more formal than in the sense that it uses several techniques for modeling in order to more understand the requirements.
  • asked a question related to Requirements Engineering
Question
1 answer
I am searching different methods to calculate/measure the defect cost in RE.
Relevant answer
Answer
I searched this method only which measures the quantitative cost of defects, i am searching more, please help me...
  • asked a question related to Requirements Engineering
Question
10 answers
Can you provide references of publications on how to find out and define non functional requirements at the requirements elicitation stage? Is there any IS development methodology that deals with this aspect?
Relevant answer
Answer
A paper that is cited very often and gives a good overview is the following:
L. Chung and J. C. S. do Prado Leite, “On Non-Functional Requirements in Software Engineering,” in Conceptual Modeling: Foundations and Applications, vol. 5600, A. Borgida, V. Chaudhri, P. Giorgini, and E. Yu, Eds. Springer Berlin / Heidelberg, 2009, pp. 363–379.
The URML (part of my work) supports modeling non-functional requirements.
  • asked a question related to Requirements Engineering
Question
8 answers
Analysts must be facing a lot of problems with regards to requirements elicitation. I wish to know what were the exact problems faced, especially in cases of software requirements gathering. Is there any work on classifying or ordering such problems?
Relevant answer
Answer
The problems I encounter are not solved by computer tools as they come from the people involved in the process.
Domain Familiarity: knowledge of product domain and its related jargon
Interpretation: One sentence, two meanings
Exuberance: Inability to focus and hence extract essence of product
Scope-determination: the ability or otherwise to determine the products boundaries
resolution-determination: the ability or otherwise to control the detail required
Model Complexity: Text or anything else that attempts to define the requirements
Commonality: the background of those involved in the requirements determination
Emmotives: Sales-pitch and subterfuge
There are 8 potential classes for you. There may be others