The MESSIR Flexible Scientific Approach to Requirements Engineering
Abstract
:1. Introduction
- An integrated and flexible method for scientific requirements engineering;
- An approach supported by a software engineering environment;
- A flexible requirements textual description language;
- An improved use case modeling approach;
- An axiomatic and operational semantics supporting declarative executable requirements specifications necessary for automated verification.
2. Background and State of the Art
2.1. Background
- Theories: Concerning basic or more advanced theoretical notions applied to SE and exploited in the context of formal methods, MESSIR is mainly grounded on the following ones:
- (a)
- Set theory: concepts necessary for modeling information;
- (b)
- Mathematical logic: basic concept for declarative characterization of information and behavior properties;
- (c)
- Language theory: notions for textual modeling using domain specific languages;
- (d)
- Axiomatic semantics: notion for semantic interpretation of declarative descriptions;
- (e)
- Operational semantics: concepts for semantic interpretation of state modifications of abstract computing machine models.
- Methods: Modeling is a fundamental scientific activity which provides a Cartesian view of reality and is one of the main discovery and communication tools for the scientist. It implies to represent a phenomenon using a pre-defined modeling notation. Research has produced an important contribution in defining theories, methods and tools for modeling in all areas including computer science. For what concerns software engineering, model-driven engineering (MDE) has been intensively developed in the last 30 years mainly supported by the OMG around its model driven architecture initiative (MDA) [19]. In this context, it may be mentioned the following notions related to modeling for SE:
- (a)
- MOF: The Meta-Object-Facilities [20], providing a metadata management framework, and a set of metadata services to enable the development and interoperability of model and metadata driven systems;
- (b)
- UML: The Unified Modeling Language [9], providing categories of modeling concepts adapted to model various types of properties of IT systems;
- (c)
- OCL: The Object Constraint Language [21], providing a formal language used to describe logical constraint expressions on UML models.
- Tools: Supporting SE activities with IT tools has often been a concern for researchers to support their SE solutions. In the context of SE tools, the problem is not only to find the correct set of tools supporting the targeted activities but to integrate them to set up the needed SE workbenches or environments. From this perspective, MESSIR considered the following general tools issued from research and industry:
- (a)
- Eclipse [22]: The open source integrated development environment having a powerful plug-in system for customization;
- (b)
- Xtext [23]: An advanced framework for development of general or domain specific languages;
- (c)
- Sirius [24]: A generic eclipse tool for graphical modeling workbench development;
- (d)
- Sictus Prolog [25]: A generic logic programming tool including constraints solver libraries allowing for implementation of axiomatic and operational semantics of declarative formal specifications.
- (a)
- Approximately 3/4 of companies are at level 1 or 2 (initial or repeatable);
- (b)
- Among the companies that go for CMMI appraisal, approximately 80% are at or below level 3 (defined) and 20% at level 4 (managed) and 5 (optimizing).
- (a)
- The development process should be iterative and incremental;
- (b)
- Validation is mainly based on usage scenarios (user stories) as test cases;
- (c)
- The customer should be easily integrated in the loop for requirement definition and validation;
- (d)
- A large part of the product quality relies on the programmer who is the one-man band impacting all SE knowledge areas. A large project taskforce includes a collection of one-man bands that need adequate project management to be orchestrated;
- (e)
- Documentation and modeling are seen as a burden even though partly tolerated.
- (a)
- On modeling approaches used: 85% make use of UML, 40% use a DSL of their own design, 25% use a DSL provided by a tool, 25% use BPMN, 10% use SysML and MATLAB/Simulink;
- (b)
- On UML Diagrams usage: 87% Class Diagram, 56% Activity Diagram, 38% use Case Diagram, 33% Sequence Diagram, 23% State Machine Diagram. Other diagrams, such as Component Diagram, Flow Diagram, Entity Relationship Diagram, Deployment Diagram, Object Diagram, Composite Structure Diagram, are rarely cited;
- (c)
- On the perceived impact on (P)roductivity or (M)aintainability of Model-Driven Approaches used (it is indicated here the percentage of the respondents that declared to have noticed an impact on the indicated dimension): communication: 73.7% (P), 66.7% (M), use of models for understanding a problem at an abstract level: 73.4 (P), 72.2% (M), code generation: 67.8% (P), 56.9% (M), use of models to capture and document designs: 65.0% (P), 59.9 (M), use of model-to-model transformations: 50.8% (P), 42.6% (M), use of domain-specific languages (DSLs): 47.5% (P), 44.0% (M), model simulation—executable models: 41.7% (P), 39.4% (M), use of models in testing: 37.8% (P), 35.2% (M).
- (a)
- Modeling notations should be reduced to the smallest possible set and based on standard concepts;
- (b)
- Design and usage of domain-specific languages is encouraged if based on standard concepts and supported by automated tools;
- (c)
- Simulation, testing and code generation are mandatory features to make diagrams perceived as having impact on productivity;
- (d)
- Usage of modeling notations should be flexible enough to allow various and freely chosen precision (i.e., scientific) levels.
- CS2013 Undergraduate Curriculum (submitted [36]);
- SE2014 Undergraduate Curriculum (submitted [37]);
- GSwE2009 Graduate Software Engineering 2009 ([38]).
- (a)
- Most of the curricula consider software engineering as a discipline in itself and thus include a specific SE course only once in a full bachelor program. This makes the lecture difficult to design and execute since it implies that the teacher has to select a subset of the KAs to cover in a short time budget, and it also supposes that the teacher is expert in all the KAs which, of course, can rarely be the case;
- (b)
- Most of the KA subtopics are covered thanks to Engineering Projects offered in the curriculum. Those projects are ideally used to cover KAs such as: Software Construction (3), Software Engineering Management (7), Software Engineering Professional Practice (11);
- (c)
- Software Requirements (1) are quite well covered and often benefit from a full lecture;
- (d)
- Software Testing (4) is less covered than expected, especially regarding its importance in industry;
- (e)
- The importance, volume and coverage of theoretical computer science at bachelor level (being professional oriented or not) is way over what is described in the SWEBOK. This is mainly due to the profile of academic teachers that are mostly scientists, recruited based on scientific results that often have been obtained based on theoretical work. It also represents a wish and a need to provide a strong scientific and theoretical basis during education;
- (f)
- The topics poorly addressed are Software Configuration Management (6), Software Engineering Economics (12) and Software Quality (29) and, more surprisingly, Software Maintenance (5). This last fact seems in direct opposition with the reality of engineering activities which, for the majority, consists in supporting software evolution and maintenance.
2.2. State of the Art
3. Results
3.1. Running Example
- Communication Companies: They have the capacity to ensure communication of information between its customers and the iCrash system. Objectives are: to be able to deliver any SMS sent by any human to the iCrash ’s dedicated phone number; to be able to transmit SMS messages from the ABC company that owns the iCrash system to any human having an SMS compatible device accessible using a phone number.
- Humans: A human is any person who considers himself related to a car crash (a specific type of crisis situation) either as a witness, a victim or an anonymous person. The objectives of a human are: to inform the iCrash system about the crisis situation he detected; to be sure that the ABC company has been informed about the situation; to be informed about the situation of the crisis he his related to as a victim or witness.
- Coordinators: Employees responsible for handling one or several crises. The objectives of a coordinator are: to securely monitor the existing alerts and crisis; to securely manage alerts and crisis until their termination.
- Administrator: The employee of the ABC company responsible for administrating the iCrash system. The objectives of an administrator are to add or delete coordinator actors from the system and its environment.
- Creator: Technician who is installing the system on the targeted deployment infrastructure. The objectives of a Creator are: to install the iCrash system; to define the values for the initial system’s state; to define the values for the initial system’s environment; to ensure the integration of the iCrash system with its initial environment.
- Activator: Logical representation of the active part of a system. It represents an implicit stakeholder belonging to the system’s environment that interacts with the system autonomously without the need of an external entity. It is usually used for representing time triggered functionalities. The objectives of the iCrash activator are: to communicate the current time to the system; to notify the administrator that some crises are still pending for a too long time.
3.2. Messir Process
- Use case Model;
- Environment Model;
- Concept Model;
- Operation Model;
- Test Model.
- Definition Level: Using natural language descriptions (structured textual or graphical) for each of the predefined MESSIR model type;
- Specification Level: All what is provided at definition level plus the possibility to specify the system operation and tests using OCL language (i.e., object-oriented constraints specification of operations);
- Simulation Level: All what is provided at definition level plus the possibility to provide PROLOG executable code for operations and tests allowing for requirements simulation using the MESSIR simulator (MESSIM) in compliance with the MESSIR abstract machine MESSAM.
- Documentation language (msrd): Allowing for free natural language descriptions but structured using domain-specific templates. Figure 18 provides an illustration of this template language for the system’s operation oeAddCoordinator description. The generated documentation from this description is shown in Figure 19;
- Specification language (msr): Allowing for more precise conceptual and logical descriptions given the use of the MESSIR language MCL which is an adapted executable version of the OCL language [21]. Figure 20 provides an extract illustrating this language for the system’s operation oeAddCoordinator specification;
- Axioperational Language (pl): A Prolog-compliant language is proposed to allow for axioperational (i.e., axiomatic and operational) semantics of the requirements descriptions. Figure 21 provides an extract illustrating this language for the same operation.
3.3. Requirements Engineering Basic Concepts
3.4. Messir Use Case Model
- Uses a textual modeling language for engineering the use case model;
- Uses graphical use case diagrams generated from textual models as communication views. Views are based on the standard UML use case diagrams;
- Replaces extends and includes by a reuse association to simplify the modular description of use cases;
- Replaces sequential ordering of activities (main success scenario and extensions) by a set of steps and a set of ordering constraints over those steps. This solves a main issue in use case writing which is misuse or inefficient use of main scenario and extensions;
- Introduces use case instances to illustrate concrete scenarios that represent meaningful scenarios satisfying the use case model description;
- Restrict abstraction to three levels (summary, user-goal and sub-function);
- Introduces for each use case the possibility to describe typed parameters;
- Introduces for each actor the notions of role (primary/secondary), mode (direct/indirect), involvement (pro-active/active/reactive/passive) and multiplicity;
- Allows to provide documentation for each use case including: goal description and protocol/pre/post conditions description if necessary);
- Provides graphical representations of use cases and use cases instances using MESSIR use-case diagrams and sequence diagrams generated, maintained automatically w.r.t the textual descriptions. This contributes to make MESSIR useful for production and not only used as a documentation approach as often encountered.
3.5. Messir Environment Model
3.6. Messir Concept Model
- A class type is defined using a name, a set of typed attributes and an optional supertype name. There is only one class type named ctState dedicated to the system state root. A class attribute type must be of datatype type. Each primary class type is associated to the ctState class by an aggregation association in order to provide an access to instances from the ctState instance necessary to describe operation semantics (see below);
- A datatype type can be a structured data type, an enumeration or a primitive type. A structured data type defines a set of tuples whose elements (named attributes) are typed using any primary type. Primitive types are: Boolean , Integer , Real or String (a naming convention in MESSIR proposes to use prefixes to ease understanding while reading textual descriptions (e.g., pt,dt,ct,et,oe,ie will stand for primitive type, datatype, class type, enumeration type, output event, input event) and correspond to types defining atomic values supported by the abstract machine of the simulator (all the useful primitive type operations are provided in MESSIR libraries written in MESSIR at simulation level);
- Relation types are aggregation, composition or (common) association;
- Functions can be part of a class type definition or a datatype type definition. Those operations semantically correspond to logical predicates and are used to allow for a structured and concise writing of predicates.
3.7. Messir Operation Model
- Pre-functional properties are conditions under which the system operation is considered defined. Expressed using: the system’s state @pre, the environment state @pre and the operation parameters;
- Pre-protocol properties are conditions under which the operation is considered available. Expressed using: the system’s state @pre including the additional variables for protocol specification, the environment state @pre and the operation parameters;
- Post-functional properties are conditions describing the operation’s functionality. It characterizes a set of valid post-states for the system and the environment, a multiset of messages sent to actor instances. Expressed using: the system’s state @pre or @post, the environment state @pre or @post and the operation parameters;
- Post-protocol properties are conditions describing the operation’s impact on the system’s interaction protocol (i.e., the system status @post makes available only the wished operations). They are expressed using the variables for protocol specification @post.
3.8. Messir Test Model
- Verify the requirement descriptions by simulation to detect if the specification contains errors;
- Validate the requirements description by asking the system’s customer to determine validation test cases;
- Verify the delivered system program produced after each project implementation iteration by using the test case specification to implement verification test cases to find errors in the implemented program.
3.9. Non-Functional Requirements
3.10. Messir Tool Support
- Design: Eclipse UML Designer for production of design graphical models, design document using the provided template for Latex. Technologies used are: UML, Latex, PDF;
- Construction: Java for functionalities, JavaFx for graphical user interfaces, MySQL for data persistence, Java RMI for distributed processing, Apache, Tomcat and qmail for internet services. Technologies used are: Eclipse, Java, JavaFx, efxclipse, Apache, TomCat, MySQL, qmail;
- Management: Atlassian Confluence for knowledge base collaboration tool, SubVersioN versioning and revision control tool, Atlassian Bamboo and Apache Maven continuous integration server for project build Technologies used are: Atlassian, Confluence, Bamboo, SVN, Maven;
- Quality: Test-based Verification & Validation using the Prolog simulator, the SWTbot testing tool for graphical user interface, JUnit unit testing framework and EclEmma Java code coverage. Ensuring syntax validation tools using Eclipse and Xtext frameworks. Technologies used are: Eclipse, Xtext, Prolog, Junit, SWTbot;
- Maintenance: Atlassian JIRA as issue tracking tool, SubVersioN for versioning and revision control tool, Atlassian Bamboo and Apache Maven continuous integration server for project builds. Technologies used are: Atlassian, Jira, Bamboo, Maven.
3.11. Messir in Software Engineering Education
4. Informal Assessment of the Proposed Approach in an Education Context
- The use case instances are efficient to ensure a complete and consistent definition of the set of system operations;
- The scientific level choice allows to invest time coherently w.r.t. to the criticality of system operations;
- The unique capability of MESSIR to have simulation of axiomatic requirements impacts positively the reliability of the system by avoiding to implement invalid requirements;
- Students with EXCALIBUR were producing the project MESSIR requirement documentation in a time which was twice to four times faster than students that used a tool set made of Microsoft word and UML free open source tool (e.g., http://www.umletino.com, accessed 28 February 2022);
- The average knowledge level acquired on the software engineering notions covered by the MESSIR approach is higher by 1 Bloom level [64] compared to a project without the MESSIR method.
5. Conclusions and Perspectives
Funding
Acknowledgments
Conflicts of Interest
References
- Bauer, F.L. Software Engineering: 1. Foundations and Systems. In International Federation for Information Processing: IFIP Congress Series; UNESDOC Digital Library: Ljubljana, Yugoslavia, 1971; pp. 530–538. ISBN 0-7204-2063-6. [Google Scholar]
- Humphrey, W.S. Managing the Software Process; AddisonWesley: Boston, MA, USA, 1989. [Google Scholar]
- ISO/IEC. Software Engineering—Guide to the Software Engineering Body of Knowledge (SWEBOK); ISO-IEC TR 19759-2014; International Organization for Standardization: Geneva, Switzerland, 2014. [Google Scholar]
- Abrial, J.R.; Hoare, A. The B-Book: Assigning Programs to Meanings; Cambridge University Press: Cambridge, UK, 2005. [Google Scholar]
- Spivey, J.M. The Z Notation: A Reference Manual. In International Series in Computer Science; Prentice Hall: Hoboken, NJ, USA, 1992; ISBN 978-0-13-978529-0. [Google Scholar]
- Bjørner, D. The vienna development method (VDM). In Mathematical Studies of Information Processing; Springer: Berlin/Heidelberg, Germany, 1979; pp. 326–359. [Google Scholar]
- Milner, R.; Parrow, J.; Walker, D. A calculus of mobile processes, i. Inf. Comput. 1992, 100, 1–40. [Google Scholar] [CrossRef] [Green Version]
- Petri, C.A. Kommunikation Mit Automaten. Universitat Hamburg. 1962. Available online: https://edoc.sub.uni-hamburg.de/informatik/volltexte/2011/160/pdf/diss_petri_d.pdf (accessed on 1 January 2022).
- ISO/IEC. Information Technology—Object Management Group Unified Modeling Language OMG UML—Part 1: Infrastructure; ISO/IEC 19505-1-2012; International Organization for Standardization: Geneva, Switzerland, 2012. [Google Scholar]
- Kruchten, P. The Rational Unified Process: An Introduction; Addison-Wesley Professional: Boston, MA, USA, 2004. [Google Scholar]
- Kim, D. The State of Scrum: Benchmarks and Guidelines. Available online: https://www.scrumalliance.org/ScrumRedesignDEVSite/media/ScrumAllianceMedia/Files%20and%20PDFs/State%20of%20Scrum/2013-State-of-Scrum-Report_062713_final.pdf (accessed on 1 January 2022).
- Beck, K. Extreme Programming Explained: Embrace Change; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2000. [Google Scholar]
- Bjørner, D.; Havelund, K. 40 years of formal methods. In International Symposium on Formal Methods; Springer: Berlin/Heidelberg, Germany, 2014; pp. 42–61. [Google Scholar]
- Russo, D. The Agile Success Model: A Mixed Methods Study of a Large-Scale Agile Transformation. ACM Trans. Softw. Eng. Methodol. 2021, 30, 1–46. [Google Scholar] [CrossRef]
- Bollinger, T.; McGowan, C. A Critical Look at Software Capability Evaluations: An Update. Softw. IEEE 2009, 26, 80–83. [Google Scholar] [CrossRef]
- Fernández, D.M.; Wagner, S.; Kalinowski, M.; Felderer, M.; Mafra, P.; Vetrò, A.; Conte, T.; Christiansson, M.T.; Greer, D.; Lassenius, C.; et al. Naming the pain in requirements engineering. Empir. Softw. Eng. 2017, 22, 2298–2338. [Google Scholar] [CrossRef] [Green Version]
- Verner, J.; Cox, K.; Bleistein, S.; Cerpa, N. Requirements engineering and software project success: An industrial survey in Australia and the US. Australas. J. Inf. Syst. 2015, 13. [Google Scholar] [CrossRef] [Green Version]
- Jacobson, I.; Ng, P.W.; McMahon, P.E.; Goedicke, M. The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! Morgan & Claypool: San Rafael, CA, USA, 2019; ISBN 9781947487277. [Google Scholar]
- OMG. Model Driven Architecture (MDA), MDA Guide rev. 2.0 ormsc/2014-06-01, Version 1.2. 2014. Available online: http://www.omg.org/cgi-bin/doc?ormsc/14-06-01.pdf (accessed on 1 January 2022).
- OMG. MOF 2.0 Core Final Adopted Specification. 2014. Available online: https://www.omg.org/spec/MOF/2.0/PDF (accessed on 1 January 2022).
- ISO/IEC. Information Technology—Object Management Group Unified Modeling Language (OMG UML)—Part 2: Superstructure; ISO/IEC 19507:2012; International Organization for Standardization: Boston, MA, USA, 2012. [Google Scholar]
- Eclipse. The Eclipse Fondation. 2015. Available online: http://www.eclipse.org (accessed on 1 January 2022).
- Xtext. Xtext—Language Development Made Easy. 2015. Available online: http://www.eclipse.org/Xtext/ (accessed on 1 January 2022).
- Sirius. Sirius—The Easiest Way to Get Your Own Modeling Tool. 2015. Available online: http://www.eclipse.org/sirius/ (accessed on 1 January 2022).
- SICS. SICStus Prolog—ISO Standard Compliant Prolog Development System. 2015. Available online: https://sicstus.sics.se/ (accessed on 1 January 2022).
- SEI, C.P. CMMI for Development (CMMI-DEV); Technical Report; CMU/SEI-2010-TR-033; Software Engineering Institute, Carnegie Mellon University: Pittsburgh, PA, USA, 2010. [Google Scholar] [CrossRef]
- CMMI Institute. CMMI Appraisal Results. 2015. Available online: https://sas.cmmiinstitute.com/pars/pars.aspx (accessed on 1 January 2022).
- NDIA Systems Engineering Division. CMMI Status Report. 2015. Available online: http://www.ndia.org/Divisions/Divisions/SystemsEngineering/Documents/Past%20Meetings/Division%20Meeting%20-%20June%202011/NDIA%20SED%20June%202011CMMI%20Status%20v1.pdf (accessed on 5 July 2015).
- Salman, R.H. Exploring Capability Maturity Models and Relevant Practices as Solutions Addressing IT Service Offshoring Project Issues. Ph.D. Thesis, Portland State University, Portland, Poland, 2014. [Google Scholar]
- Stavru, S. A critical examination of recent industrial surveys on agile method usage. J. Syst. Softw. 2014, 94, 87–97. [Google Scholar] [CrossRef]
- Rodríguez, P.; Markkula, J.; Oivo, M.; Turula, K. Survey on agile and LEAN usage in Finnish software industry. In Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, Lund, Sweden, 20–21 September 2012; pp. 139–148. [Google Scholar]
- VersionOne. 9th Annual State of Agile Survey; Technical Report; 2015; Available online: https://www.watermarklearning.com/downloads/state-of-agile-development-survey.pdf (accessed on 1 January 2022).
- VersionOne. 6th Annual State of Agile Survey; Technical Report; 2012; Available online: https://digital.ai/resource-center/analyst-reports/state-of-agile-report (accessed on 1 January 2022).
- Hutchinson, J.; Whittle, J.; Rouncefield, M.; Kristoffersen, S. Empirical assessment of MDE in industry. In Proceedings of the 33rd International Conference on Software Engineering, Waikiki, HI, USA, 21–28 May 2011; pp. 471–480. [Google Scholar]
- ISO/IEC. Software Engineering—Guide to the Software Engineering Body of Knowledge (SWEBOK); ISO-IEC TR 19759-2005; International Organization for Standardization: Boston, MA, USA, 2005. [Google Scholar]
- ACM/IEEE-CS Joint Task Force on Computing Curricula. Computer Science Curricula 2013; 2013; Available online: https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf (accessed on 1 January 2022).
- ACM/IEEE. Software Engineering 2014—Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering; ACM: New York, NY, USA, 2015. [Google Scholar]
- Pyster, A. Graduate Software Engineering 2009 (GSwE2009) Curriculum Guidelines for Graduate Degree Programs in Software Engineering; Stevens Institute of Technology: Hoboken, NJ, USA, 2009. [Google Scholar]
- Guelfi, N.; Capozucca, A.; Ries, B. Measuring the SWEBOK Coverage: An Approach and a Tool. In Proceedings of the SWEBoK Evolution—Virtual Town Hall Meeting, Virtual Event, 25 August 2016. Virtual presentation of accepted peer reviewed paper. [Google Scholar]
- UNESCO. International Standard Classification of Education (ISCED) 2011; UNESCO Institute for Statistics: Montreal, QC, Canada, 2012. [Google Scholar] [CrossRef]
- U.S. Bureau of Labor Statistics. Employment Projections. 2015. Available online: http://www.bls.gov/emp/ep_table_102.htm (accessed on 5 July 2015).
- Wagner, S.; Fernández, D.M.; Felderer, M.; Vetrò, A.; Kalinowski, M.; Wieringa, R.; Pfahl, D.; Conte, T.; Christiansson, M.T.; Greer, D.; et al. Status quo in requirements engineering: A theory and a global family of surveys. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2019, 28, 1–48. [Google Scholar] [CrossRef] [Green Version]
- Fricker, S.A.; Grau, R.; Zwingli, A. Requirements engineering: Best practice. In Requirements Engineering for Digital Health; Springer: Berlin/Heidelberg, Germany, 2015; pp. 25–46. [Google Scholar]
- Burgueño, L.; Vallecillo, A.; Gogolla, M. Teaching UML and OCL models and their validation to software engineering students: An experience report. Comput. Sci. Educ. 2018, 28, 23–41. [Google Scholar] [CrossRef]
- Gogolla, M.; Hilken, F. Model validation and verification options in a contemporary UML and OCL analysis tool. In Modellierung 2016; Gesellschaft für Informatik: Bonn, Germany, 2016. [Google Scholar]
- Burgueño, L.; Izquierdo, J.L.C.; Planas, E. An empirical study on the impact of introducing a modeling tool in a Requirement Engineering course. In Proceedings of the 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), Fukuoka, Japan, 10–15 October 2021; pp. 712–720. [Google Scholar]
- ISO/IEC. Systems and Software Engineering—Life Cycle Processes—Requirements Engineering; ISO/IEC/IEEE 29148:2011; International Organization for Standardization: Boston, MA, USA, 2011. [Google Scholar]
- Planas, E.; Cabot, J. How are UML class diagrams built in practice? A usability study of two UML tools: Magicdraw and Papyrus. Comput. Stand. Interfaces 2020, 67, 103363. [Google Scholar] [CrossRef]
- Coleman, D.; Arnold, P.; Bodoff, S.; Dollin, C.; Gilchrist, H.; Hayes, F.; Jeremaes, P. Object-Oriented Development: The FUSION Method; Prentice-Hall, Inc.: Hoboken, NJ, USA, 1994. [Google Scholar]
- Cotton, T. Evolutionary fusion: A customer-oriented incremental life cycle for fusion. Hewlett Packard J. 1996, 47, 25–26. [Google Scholar]
- Guelfi, N.; Capozucca, A.; Ries, B. Website of the Messir Method and the Excalibur Environment. 2017. Available online: https://messir.uni.lu/confluence/display/MES/Messir+Requirements+Analysis+Methodology (accessed on 23 August 2017).
- Mussbacher, G.; Al Abed, W.; Alam, O.; Ali, S.; Beugnard, A.; Bonnet, V.; Bræk, R.; Capozucca, A.; Cheng, B.H.; Fatima, U.; et al. Comparing six modeling approaches. In Models in Software Engineering; Springer: Berlin/Heidelberg, Germany, 2012; pp. 217–243. [Google Scholar]
- Kienzle, J.; Guelfi, N.; Mustafiz, S. Crisis management systems: A case study for aspect-oriented modeling. In Transactions on Aspect-Oriented Software Development VII; Springer: Berlin/Heidelberg, Germany, 2010; pp. 1–22. [Google Scholar]
- Guelfi, N. Messir Tutorial; Technical Report; University of Luxembour: Esch-sur-Alzette, Luxembourg, 2022. [Google Scholar]
- Jacobson, I.; Christerson, M.; Jonsson, P.; Overgaard, G. Object-Oriented Software Engineering. A Use Case Driven Approach; c1992, Revised Printing; ACM Press: New York, NY, USA; Wokingham, UK; Addison-Wesley Pub.: Reading, MA, USA, 1992; Volume 1. [Google Scholar]
- Cockburn, A. Writing Effective Use Cases; Addison-Wesley: Reading, MA, USA, 2001. [Google Scholar]
- Armour, F.; Miller, G. Advanced Use Case Modeling: Software Systems; Addison-Wesley: Reading, MA, USA, 2001. [Google Scholar]
- Jackson, M. The meaning of requirements. Ann. Softw. Eng. 1997, 3, 5–21. [Google Scholar] [CrossRef]
- Capozucca, A.; Ries, B. Website of the Excalibur Workbench for Messir. 2017. Available online: https://messir.uni.lu/confluence/display/EXCALIBUR/Excalibur (accessed on 23 August 2017).
- ISO/IEC. ISO/IEC 25010—Systems and Software Engineering—Systems and Software Quality Requirements and Evaluation (SQuaRE)—System and Software Quality Models; ISO/IEC 13211-1; ISO: Geneva, Switzerland, 2011. [Google Scholar]
- Guelfi, N. A formal framework for dependability and resilience from a software engineering perspective. Cent. Eur. J. Comput. Sci. 2011, 1, 294–328. [Google Scholar] [CrossRef]
- Ries, B.; Capozucca, A.; Guelfi, N. Messir: A text-first DSL-based approach for UML requirements engineering (tool demo). In Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, Boston, MA, USA, 5–6 November 2018; pp. 103–107. [Google Scholar]
- Heiman, R. IDC’s Software Taxonomy 2010. In International Data Corporation; International Data Corporation: Framingham, MA, USA, 2010. [Google Scholar]
- Bloom, B.S.; Krathwohl, D.R. Taxonomy of educational objectives: The classification of educational goals. In Handbook I: Cognitive Domain; Longman Eds: New York, NY, USA, 1956; ISBN 058228239X. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Guelfi, N. The MESSIR Flexible Scientific Approach to Requirements Engineering. Software 2022, 1, 80-106. https://doi.org/10.3390/software1010005
Guelfi N. The MESSIR Flexible Scientific Approach to Requirements Engineering. Software. 2022; 1(1):80-106. https://doi.org/10.3390/software1010005
Chicago/Turabian StyleGuelfi, Nicolas. 2022. "The MESSIR Flexible Scientific Approach to Requirements Engineering" Software 1, no. 1: 80-106. https://doi.org/10.3390/software1010005
APA StyleGuelfi, N. (2022). The MESSIR Flexible Scientific Approach to Requirements Engineering. Software, 1(1), 80-106. https://doi.org/10.3390/software1010005