On Formalism in Specifications=

Total Page:16

File Type:pdf, Size:1020Kb

On Formalism in Specifications= On Formalism in Specifications= Bertrand Meyer, University Of california, santa Barbara A crilique of a natural ~ language specification, pecification is the software life· followed by presentation of a mathematical Scycle phase concerned wit h precise alternative, demonstrates definition of tile tasks to be performed the weakness of by the system. Allhough soflwarc ell­ gineering textbooks emphasize it s ne­ natural language I.:essi!y. the specification phase is often and the strength overlooked in practice. Or, m OTe pre­ of formalism cisely. it is confused with eit her the in requirements preceding phase. definition of system specifications. objectivC$, or Ihe following phase, de­ sign. tn the first case, considered here in particular. a natural-language re­ qllin>mellfs dOCllmen' is deemed suf+ licient !O proceed to system dcsign­ without further specification :Ictivity. This article emphasizes the draw­ backs of such an informal al>Droach and shows the usefu lness of formal specifications. To avoid possible mis­ undefstanding. however. let's clarify one point at the outset: We in no way advocate forlllal specifications as a replucement for natural-language re­ quirements; ralher. we view them as a cOlllplelllell( to natural-language de­ script ions and. as will be illustrated by an example. as an aid in improving the quality of natural-language spccifica- 110 m. Readers already convinced of the benefits of fOfma l s(X'Cificat ions might find in this article some useful argu­ Illent s to reinforce their viewpoinl. Readers not sharing Ihis view will, we hope, find some interesting ideas to ponder. The seven sins of the specifier The study of requirements docu­ menlS, as they arc routinely produced in industry, yields recurring patterns of 6 O7;tO.74}918510001 / 0006S01 ,00 198,S 1(::1::1'. IEEE SOFTWARE Requirements \ \ Specification \ Global :Ware \ -- DESIGN llfe cyde Detailed \ This "water- fall model" of the \ Implemen'ation \ software life cycle originated with W. w. deficiencies. Table I li sts sevcn classes Royce ("Managing the \ Validation of deficiencies that we have found 10 Development of Large Solt­ be both common and particularly ware Systems: Concepts and \ Techniques," Wescon Proc .. Aug. damaging to the quality of require­ Distribution 1970), but many variants have been \ ments. published. A well-known one is in \ The classilication is interesting for Boehm (1975). The IEEE Standard on Soft­ two reasons. First. by showing the pit­ ware Quality Assurance (Standard P732) also \LI_ope_"_,,o_n--l fall s of natural-language requirements defines a variant. documents, it gives some weight to the thesi5 that formal specificat ions arc needed as an intermediate step be­ tween requirements and design. Sec­ ond. since natural-language require­ ments arc necessary whether or nOl one accepts the thesis that they should Table L be complemented with formal specifi­ T hc sc\'cn ~ in \ of Iht' ~ P<'cificr . cations, it provides writers of such re­ quirements with a checklist o f CO Ill­ Noise: The presence in the tC'I; t of an element tlHl t does not mon mistakes. Writers of Illost kinds carry information relevant to any fealU rc of the of software documentation (user man­ I'roblem. Variants: redllndallcy; remorse. uals, rrogr;lmming language manuals, etc.) should find this li st useful; we'll Silem'e: T he existence of a fea ture of the problem that i~ demonstrate its use through an exalll­ not covered by any clement of the IC'l;1. ple that exhibit s all the defe<.:ts cxcert Overlpecijica/ion : Thc presence in the ICxt an clcment that cor­ the last one. or re,>po nds not 10 a feature of the I'roblem but to fea tures of a possi ble .. olution. A requirements document The reader is invited to st udy. 111 COl/fradiclion: The presence in the te'\ t of two or more clements li ght of the rrevious li st. some of the thm defi ne a feature of the system in an incompati­ soft wan: documentation available to ble way. him . We could do the same here and A mbiguilY: T he pre~e n c(' in the t(''I; t of an clement thaI !l1a ~ es it discuss actual requiremen ts docu­ pos5ible to interpret a feat ure of the problem in at ments, taken from indll ~ trial son ware lea~ t two different ways . projccts. as we did in a prcvious ver­ sion of this article. I But such a discus­ Forward reference: The p r c~e n cc in the text of an clcment that uses sion is not cntirely satisfactory; the fea tures of the I'roblem not defined until later in reader Illay fccl that the examples cho­ the text. scn are not representative. Also. one Wish/ ul/hinkin$;: The presencc in the text of an d emcnt that defines sometimes hears the remark that noth­ a feature o f the problcm in such a way that a can­ ing is inherently wrong with natural­ didate sol ution ca nnot rea lis tica ll y be val idated language specil'ications. All one has to wit h respect to this fea ture. do, the argument continues. is to be January 1985 7 Formalism careful when writing them or hire peo­ words of E. W. Dijkstra,2 "Tt"Sting Apparently somebody criticized the ple with good writing sk ills. Although ca n be a very effective way to show the initial version, since the last version well-written requirements arc obvious­ presence of bugs, but it is hopelessly contains the following footnote: inadequate for showing their absence." ly preferable to poorly written ones, Making these specifications precise is we doubt that they solve the problem. Thus, in the view of such critics, tes­ difficult and is an excellent example of In OUT vicw, natural-language descrip­ ting is futile; the only acceptable way the specification task. The specifications tions of any significant system, even 10 validate a program is to prove its here should be compared with those in ones of good quality, exhibit deficien­ correctness mathematically. OUT original paper. cies that make them unacceptable for Since Goodenough and Gerhart Thus, when we examine the final rigorous software development. were discussing lest data selection specification. it is only fair to consider To support this view, we have cho­ methods, they felt compelled to refute it nOl as an imperfcct document writ­ sen a single example, which, although this a priori objection to any research ten under the schedule constraints openly academic in nalUre. is especial­ on testing. They dealt wilh it by show­ usually imposed on software projects ly suitable because it was ex plicitly and ing significant errors in programs in industry, but as the second version carefully designed to be a ';good" whose "proofs" had been published. of a carefully lhought-out text, de­ natural-language spc(;ification. This Among the examples was Naur's pro­ scribing what is really a toy problem, example is the specificat ion of a well­ gram, in which they found seven er­ unplagued by any of the numerous known texl-processing problem. The rors-some minor, some serious. special considerations that often ob­ problem first appeared in a 1969 paper scure real-life problems. If a natural­ by Peter NauT where it was described language specification of a program­ as reproduced here in Figure I. Goodenough and Gerhart ming problem has ever been written Naur's paper was on a method for found seven errors-some with care, this is it. Yet, as we shall see, program construction and program it is nOl without its own shadows. proving; Ihus, the problem statement minor, some serious-in Figure 2 (sec p. I J) gives Good­ in Figure I was accompanied by a pro­ Naur's program. enough and Gerhart's final specifi­ gram and by a proof that the program cation, which should be read carefully indeed satislicd the requiremems. at this point. For the remainder of this The problem appeared again in a Our purpose here is not to enter the article, numbers in parentheses-for paper by Goodenough and Gerhart, testing-versus-proving cont roversy. example, (21)- refer to lines of text as which had two successive versions. The Naur-Goodenough/Gerhart prob­ numbered in Figure 2. Both versions included a crit icism of lem is interesting, however. because it Naur's original specificat ion . exhibits in a panicularly clear fashion Analysis of the speeification Goodenough and Gerhart's work some of the diflicuhies associated with The first thing one notices in look­ was on program testing. To explain natural-language speci fications. Good­ ing at Goodenough and Gerhart's wh y a paper on program testing in ­ enough and Gerhart mention thaI the specification is its lengt h: about four cluded a l: riticism of Naur's text, it is trouble with Naur's paper was partly times that of Naur's original by a sim­ necessary to review the methodologi­ due to inadequate specification; since ple character count. Clearly. the au­ cal dispute surrounding the very con­ their paper proposed a replacement for thors went to great pains to leave noth­ cept of testing. Some researchers dis­ Naur's program, they gave a corrected ing out and to eliminate a ll ambiguity. miss testing as a method for validating specification. This spedlication was As we shall sec, Ihis overzealous effort software because a 1t'S1 can cover only prepared with particular care and was actually introduced problems. In any a fraction of significant cases. In the changed as the paper was rewritten. case, such length seems inappropriate B tEEE SOFTWARE Rococo interior with fashionable pair dancing; engraving by Gravelol.
Recommended publications
  • The Essence Initiative
    The Essence Initiative Ivar Jacobson Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words Being in the software development business Everyone of us knows how to develop our software, but as a community we have no widely accepted common ground A CASE FOR ACTION STATEMENT • Software engineering is gravely hampered today by immature practices. Specific problems include: – The prevalence of fads more typical of fashion industry than of an engineering discipline. – The lack of a sound, widely accepted theoretical basis. – The huge number of methods and method variants, with differences little understood and artificially magnified. – The lack of credible experimental evaluation and validation. – The split between industry practice and academic research. Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words The SEMAT initiative Software Engineering Method and Theory www.semat.org Founded by the Troika in September 2009: Ivar Jacobson – Bertrand Meyer – Richard Soley What are we going to do about it? The Grand Vision We support a process to refound software engineering based on a solid theory, proven principles and best practices The Next Steps Defining A Kernel of a solid widely agreed theoretical basis elements There are probably more than 100,000 methods Desired solution: Method Architectureincl. for instance SADT, Booch, OMT, RUP, CMMI, XP, Scrum, Lean, Kanban There are around 250 The Kernel includes identified practices incl such elements as for instance use cases, Requirement, use stories, features, Software system, components, Work, Team, Way-of- working, etc.
    [Show full text]
  • Formal Specification Methods What Are Formal Methods? Objectives Of
    ICS 221 Winter 2001 Formal Specification Methods What Are Formal Methods? ! Use of formal notations … Formal Specification Methods ! first-order logic, state machines, etc. ! … in software system descriptions … ! system models, constraints, specifications, designs, etc. David S. Rosenblum ! … for a broad range of effects … ICS 221 ! correctness, reliability, safety, security, etc. Winter 2001 ! … and varying levels of use ! guidance, documentation, rigor, mechanisms Formal method = specification language + formal reasoning Objectives of Formal Methods Why Use Formal Methods? ! Verification ! Formal methods have the potential to ! “Are we building the system right?” improve both software quality and development productivity ! Formal consistency between specificand (the thing being specified) and specification ! Circumvent problems in traditional practices ! Promote insight and understanding ! Validation ! Enhance early error detection ! “Are we building the right system?” ! Develop safe, reliable, secure software-intensive ! Testing for satisfaction of ultimate customer intent systems ! Documentation ! Facilitate verifiability of implementation ! Enable powerful analyses ! Communication among stakeholders ! simulation, animation, proof, execution, transformation ! Gain competitive advantage Why Choose Not to Use Desirable Properties of Formal Formal Methods? Specifications ! Emerging technology with unclear payoff ! Unambiguous ! Lack of experience and evidence of success ! Exactly one specificand (set) satisfies it ! Lack of automated
    [Show full text]
  • Design by Contract: the Lessons of Ariane
    . Editor: Bertrand Meyer, EiffelSoft, 270 Storke Rd., Ste. 7, Goleta, CA 93117; voice (805) 685-6869; [email protected] several hours (at least in earlier versions of Ariane), it was better to let the computa- tion proceed than to stop it and then have Design by to restart it if liftoff was delayed. So the SRI computation continues for 50 seconds after the start of flight mode—well into the flight period. After takeoff, of course, this com- Contract: putation is useless. In the Ariane 5 flight, Object Technology however, it caused an exception, which was not caught and—boom. The exception was due to a floating- point error during a conversion from a 64- The Lessons bit floating-point value, representing the flight’s “horizontal bias,” to a 16-bit signed integer: In other words, the value that was converted was greater than what of Ariane can be represented as a 16-bit signed inte- ger. There was no explicit exception han- dler to catch the exception, so it followed the usual fate of uncaught exceptions and crashed the entire software, hence the onboard computers, hence the mission. This is the kind of trivial error that we Jean-Marc Jézéquel, IRISA/CNRS are all familiar with (raise your hand if you Bertrand Meyer, EiffelSoft have never done anything of this sort), although fortunately the consequences are usually less expensive. How in the world everal contributions to this made up of respected experts from major department have emphasized the European countries, which produced a How in the world could importance of design by contract report in hardly more than a month.
    [Show full text]
  • Making Sense of Agile Methods Bertrand Meyer Politecnico Di
    Making sense of agile methods Bertrand Meyer Politecnico di Milano and Innopolis University Some ten years ago, I realized that I had been missing something big in software engineering. I had heard about Extreme Programming early thanks to a talk by Pete McBreen at a summer school in 1999 and another by Kent Beck himself at TOOLS USA in 2000. But I had not paid much attention to Scrum and, when I took a look, noticed two striking discrepancies in the state of agile methods. The first discrepancy was between university software engineering courses, which back then (things have changed) often did not cover agility, and the buzz in industry, which was only about agility. As I started going through the agile literature, the second discrepancy emerged: an amazing combination of the best and the worst ideas, plus much in-between. In many cases, faced with a new methodological approach, one can quickly deploy what in avionics is called Identification Friend or Foe: will it help or hurt? With agile, IFF fails. It did not help that the tone of most published discussions on agile methods (with a few exceptions, notably [1]) was adulatory. Sharing your passion for a novel approach is commendable, but not a reason to throw away your analytical skills. A precedent comes to mind: people including me who championed object-oriented programming a decade or so earlier may at times have let their enthusiasm show, but we did not fail to discuss cons along with pros. The natural reaction was to apply a rule that often helps: when curious, teach a class; when bewildered, write a book.
    [Show full text]
  • Object-Oriented Software Construction
    Quotes from∗ Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental in building \production" software of higher quality than is the norm today. Object-oriented design is, in its simplest form, based on a seemingly elementary idea. Computing systems perform certain actions on certain objects; to obtain flexible and reusable systems, it is better to base the structure of software on the objects than on the actions. Once you have said this, you have not really provided a definition, but rather posed a set of problems: What precisely is an object? How do you find and describe the objects? How should programs manipulate objects? What are the possible relations between objects? How does one explore the commonalities that may exist between various kinds of objects? How do these ideas relate to classical software engineering concerns such as correct- ness, ease of use, efficiency? Answers to these issues rely on an impressive array of techniques for efficiently producing reusable, extendible and reliable software: inheritance, both in its linear (single) and multiple forms; dynamic binding and poly- morphism; a new view of types and type checking; genericity; information hiding; use of assertions; programming by contract; safe exception handling. Efficient implementation techniques have been developed to allow practical application of these ideas. [T]he book relies on the object-oriented language Eiffel. 4.1 Process and Data (p. 41) A software system is a set of mechanisms for performing certain actions on certain data.
    [Show full text]
  • Title of Presentation
    Essence Kernel Kristian Sandahl Essence/Kristian Sandahl 2021-01-18 2 Software Engineering Method And Theory • A common ground for software engineering • Moving away from SE methods “fashion” industry. • Founded in 2009 by: – Ivar Jacobson – Bertrand Meyer – Richard Soley • OMG Standard under the name Essence • The SEMAT Kernel – manifestation of the common ground Essence/Kristian Sandahl 2021-01-18 3 The Kernel • comprises the central elements for all SE methods; • provides a common language for comparing, applying, and improving methods; • supports progress monitoring; • works in small- and large-scale projects; • works for well documented and less documented projects; • comes with a language and tool for developing practices. • Uptake in China, Russia, South Africa, Japan, Silicon Valley, Florida, Mexico, Germany Essence/Kristian Sandahl 2021-01-18 4 What’s in it for us? • It is highly probable that this will be used much more in the future. • By focusing on the Essentials, the project groups have more freedom and responsibility. • Our students will not become “methodists”. • Taught in TDDE46 Software quality. Essence/Kristian Sandahl 2021-01-18 5 Areas of concern Use and exploitation of the system Specification and development The team and approach of work Essence/Kristian Sandahl 2021-01-18 6 What is an ALPHA? • Alpha is an acronym for an Abstract-Level Progress Health Attribute. • A critical indicator of things that are most important to monitor and progress. Essence/Kristian Sandahl 2021-01-18 7 The Kernel ALPHAs Source of picture: Ivar Jacobson International Essence/Kristian Sandahl 2021-01-18 8 Brief explanation Source of picture: Ivar Jacobson International Essence/Kristian Sandahl 2021-01-18 9 The structure of an ALPHA Source of picture: Ivar Jacobson International Essence/Kristian Sandahl 2021-01-18 10 Requirements– one of the alphas What the software system must do to address the opportunity and satisfy the stakeholders.
    [Show full text]
  • Practice to Perfect: the Quality First Model
    Editor: Bertrand Meyer, EiffelSoft, 270 Storke Rd., Ste. 7, Goleta, CA 93117; voice (805) 685-6869; [email protected] It’s the spiral model. Barry Boehm’s great contribution (“A Spiral Model of Practice Software Development and Enhance- ment,” Computer, May 1988) was to emphasize the need to handle risk in soft- Object Technology ware project management. But Quality To Perfect: First does not use spiral’s idea of repeated analysis-design-implementation cycles. It builds the software, cluster by cluster, using a seamless, reversible process, The Quality as described by Kim Walden in this column (“Reversibility in Software Engineering,” Sept. 1996). First Model It’s just.... Probably not. Few basic ideas are completely new in software; to a certain extent, all had been said in 1974 Bertrand Meyer, EiffelSoft by Edsger Dijkstra, Tony Hoare, Knuth, Harlan Mills, Niklaus Wirth, and a few Ich bin der Geist, der stets verneint, I’ve always worked that way. If that’s others. What counts is how you put the und das mit Recht Mephistopheles really true, congratulations. But I’d like to basic ideas together: what you do, and – Goethe’s Faust, part I (for the trans- see it before I believe it, because some as- also what you don’t do. lation, read on) pects of this process go directly against con- ventional ideas of software development. It’s a personal software process and will not work for large developments. Large aving recently completed a mul- It’s just literate programming. Donald developments are aggregates of personal tiyear writing project, I now Knuth’s literate programming is a great processes, as described by Watts have time to program again.
    [Show full text]
  • Teaching Devops in Academia and Industry: Reflections and Vision
    Teaching DevOps in academia and industry: reflections and vision Evgeny Bobrov1, Antonio Bucchiarone3, Alfredo Capozucca2 Nicolas Guelfi2, Manuel Mazzara1, Sergey Masyagin1 1 Innopolis University, Russian Federation 2 University of Luxembourg 3 Fondazione Bruno Kessler, Trento, Italy Abstract. This paper describes our experience of delivery educational programs in academia and in industry on DevOps, compare the two ap- proaches and sum-up the lessons learnt. We also propose a vision to implement a shift in the Software Engineering Higher Education curric- ula. 1 Introduction DevOps is a natural evolution of the Agile approaches [1,2] from the software itself to the overall infrastructure and operations. This evolution was made pos- sible by the spread of cloud-based technologies and the everything-as-a-service approaches. Adopting DevOps is however more complex than adopting Agile [3] since changes at organisation level are required. Furthermore, a complete new skill set has to be developed in the teams [4]. The educational process is therefore of major importance for students, developers and managers. DevOps way of working has introduced a set of software engineering activities and corresponding supporting tools that has disrupted the way individual devel- opers and teams produce software. This has led both the world of research and industry to review software engineering life-cycle and all the supporting tech- niques to develop software in continuous operation and evolution. If we want to enclose DevOps in one word, it is continuous. Modelling, integration, testing, and delivery are significant part of DevOps life-cycle that, respect to enterprise or monolithic applications developed some years ago, must be revised contin- uously to permit the continuous evolution of the software and especially an easy adaptability at context changes and new requirements.
    [Show full text]
  • Object- Oriented Software Composition
    Oscar Nierstrasz and Dennis Tsichritzis, Object-Oriented Software Composition, Prentice Hall, 1995. Reproduced with the permission of the Publisher, Prentice Hall (a Pearson Education company). This work is protected by copyright and may not be reproduced other than when downloaded and viewed on a single Central Processor Unit (CPU) for private use only. It is not otherwise to be reproduced or transmitted or made available on a network without prior written permission of Prentice Hall. All other rights reserved. Object- Oriented Software Composition EDITED BY Oscar Nierstrasz UNIVERSITY OF BERNE AND Dennis Tsichritzis UNIVERSITY OF GENEVA First published 1995 by Prentice Hall International (UK) Ltd Campus 400, Maylands Avenue Hemel Hempstead Hertfordshire, HP2 7EZ A division of Simon & Schuster International Group © Prentice Hall 1995 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior permission, in writing, from the publisher. For permission within the United States of America contact Prentice Hall Inc., Englewood Cliffs, NJ 07632 Printed and bound in Great Britain by T.J. Press (Padstow) Ltd, Padstow, Cornwall. Library of Congress Cataloging-in-Publication Data Object-oriented software composition / edited by Oscar Nierstrasz and Dennis Tsichritzis. p. cm.—(The Object-oriented series) Includes bibliographical references and index. ISBN 0-13-220674-9 1. Object-oriented
    [Show full text]
  • Bertrand Meyer Richard Soley What Are We Going to Do About It?
    What we should teach you about software at school The Essence Ivar Jacobson [email protected] Agenda • The State of the Industry • Specific Problems • A Case for Action – Standing on a Solid Theory – Including a Kernel of Widely-Agreed Elements • Using the Kernel • Extending the Kernel • What’s in it For You? Final Words 2 Are we seen as a trustworthy industry? • How a Software Company would design a Treeswing Are we seen as a trustworthy industry? Source: Top 10 Software Failures Of 2011 By Phil Codd Are we seen as a trustworthy industry? Software engineering is gravely hampered today by immature practices. Agenda • The State of the Industry • Specific Problems • A Call for Action – Standing on a Solid Theory – Including a Kernel of Widely-Agreed Elements • Using the Kernel • Extending the Kernel • What’s in it For You? Final Words 6 The prevalence of fads typical of fashion industry Software Development seems to be driven by fashions and fads – Twenty years ago it was all about OO – Twelve years ago it was about components, UML, Unified Process (RUP) – Ten years ago it was about CMMI and Spice – Four years ago it was about XP – Yesterday it was about Scrum – Now it is about Lean and Kanban All good, but none has all you need! The lack of a sound, widely accepted theoretical basis. Everyone of us knows how to develop our software, but as a community we have no widely accepted common ground The huge number of methods… • The problem is not the huge number but – We cannot compare them so we cannot learn from them – We cannot select the best practices from them – Not even within a large company do we know which methods we have.
    [Show full text]
  • Slide Printout
    SLIDE PRINTOUT This document includes slides from Bertrand Meyer’s STAF 2014 keynote “Agile! The Good, the Hype and the Ugly” (after eponymous book, Springer, 2014; see registration desk for flyer with special discount for STAF attendees) The document is meant solely for the personal use of STAF 2014 participants Please note that some of the material (e.g. Agile Manifesto) may be others’ copyright. Slides with known distribution restrictions have been removed © Bertrand Meyer, 2014 1 Agile manifesto . 2 Agile manifesto . General observations For every complex Your work, Sir, is both new and problem there is an good, but what's new is not good and answer that is clear, what's good is not new simple, and wrong Samuel Johnson* H.L. Mencken ANDROMAQUE: I do not understand abstractions. CASSANDRA: As you like. Let us resort to metaphors. Jean Giraudoux, The Trojan WarWill Not Happen * (probably apocryphal) 3 Agile methods XP Kent Beck Lean Mary Poppendieck Crystal Alistair Cockburn Scrum Schwaber & Sutherland Sociological view “The revolt of the cubicles” [Dilbert’s and Dilbert’s boss’s pictures removed] 4 Negotiated scope contract XP Source: Beck 2005 “Write contracts for software development that fix time, costs, and quality but call for an ongoing negotiation of the precise scope of the system. Reduce risk by signing a sequence of short contracts instead of one long one.” “You can move in the direction of negotiated scope. Big, long contracts can be split in half or thirds, with the optional part to be exercised only if both parties agree. Contracts with high costs for change requests can be written with less scope fixed up front and lower costs for changes” Rhetorical devices Proof by anecdote Slander by association Intimidation All-or-nothing Unverifiable claims 5 Proof by anecdote Source: Mike Cohn, Succeeding with Agile * There is a grand myth about requirements — if you write them down, users will get exactly what they want.
    [Show full text]
  • Seamless Object-Oriented Requirements Alexandr Naumchev
    Seamless Object-Oriented Requirements Alexandr Naumchev To cite this version: Alexandr Naumchev. Seamless Object-Oriented Requirements. Software Engineering [cs.SE]. Univer- sité Paul Sabatier - Toulouse III, 2019. English. NNT : 2019TOU30132. tel-02872242 HAL Id: tel-02872242 https://tel.archives-ouvertes.fr/tel-02872242 Submitted on 17 Jun 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSETHÈSE En vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par : l’Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier) Présentée et soutenue le 12 juillet 2019 par : Alexandr Naumchev Exigences orientées objets dans un cycle de vie continu Seamless Object-Oriented Requirements JURY M. YAMINE AIT-AMEUR Président du Jury MME SUSANNE GRAF Examinatrice MME CATHERINE DUBOIS Rapporteure MME ELISABETTA DI NITTO Rapporteure M. JEAN-MICHEL BRUEL Directeur de thèse M. BERTRAND MEYER Co-directeur de thèse École doctorale et spécialité : EDMITT - Ecole Doctorale Mathématiques, Informatique et Télécommunications de Toulouse Unité de Recherche : IRIT: Institut de Recherche en Informatique de Toulouse Directeur(s) de Thèse : M. Jean-Michel Bruel et M. Bertrand Meyer Rapporteurs : Mme Catherine Dubois et Mme Elisabetta Di Nitto ii To Mary Acknowledgement Many people were helping me in different ways while I was working on the thesis.
    [Show full text]