In any serious engineering discipline, it would be unthinkable to construct a large system without having a precise notion of what is to be built and without verifying how the system is expected to function. Software engineering is no different in this respect. Formal methods involve the use of mathematical notation and calculus in software development; such methods are difficult to apply to large-scale systems with practical constraints (e.g., limited developer skills, time and budget restrictions, changing requirements). Here Liu claims that formal engineering methods may bridge this gap. He advocates the incorporation of mathematical notation into the software engineering process, thus substantially improving the rigor, comprehensibility and effectiveness of the methods commonly used in industry. This book provides an introduction to the SOFL (Structured Object-Oriented Formal Language) method that was designed and industry-tested by the author. Written in a style suitable for lecture courses or for use by professionals, there are numerous exercises and a significant real-world case study, so the readers are provided with all the knowledge and examples needed to successfully apply the method in their own projects.
Les mer
1 Introduction.- 2 Propositional Logic.- 3 Predicate Logic.- 4 The Module.- 5 Hierarchical CDFDs and Modules.- 6 Explicit Specifications.- 7 Basic Data Types.- 8 The Set Types.- 9 The Sequence and String Types.- 10 The Composite and Product Types.- 11 The Map Types.- 12 The Union Types.- 13 Classes.- 14 The Software Development Process.- 15 Approaches to Constructing Specifications.- 16 A Case Study — Modeling an ATM.- 17 Rigorous Review.- 18 Specification Testing.- 19 Transformation from Designs to Programs.- 20 Intelligent Software Engineering Environment.- References.- A Syntax of SOFL.- A.1 Specifications.- A.2 Modules.- A.3 Processes.- A.4 Functions.- A.5 Classes.- A.6 Types.- A.7 Expressions.- A.8 Ordinary Expressions.- A.8.1 Compound Expressions.- A.8.2 Unary Expressions.- A.8.3 Binary Expressions.- A.8.4 Apply Expressions.- A.8.5 Basic Expressions.- A.8.6 Constants.- A.8.7 Simple Variables.- A.8.8 Special Keywords.- A.8.9 Set Expressions.- A.8.10 Sequence Expressions.- A.8.11 Map Expressions.- A.8.12 Composite Expressions.- A.8.13 Product Expressions.- A.9 Predicate Expressions.- A.9.1 Boolean Variables.- A.9.2 Relational Expressions.- A.9.3 Conjunction.- A.9.4 Disjunction.- A.9.5 Implication.- A.9.6 Equivalence.- A.9.7 Negation.- A.9.8 Quantified Expressions.- A.10 Identifiers.- A.11 Character.- A.12 Comments.
Les mer
"The book addresses many important practical problems in a formal context""I highly recommend this book to all software engineers who are suffering from a lack of formalism and precision in their everyday software construction process" Herbert Toth, Computing Reviews, October 2004
Les mer
Springer Book Archives
Springer Book Archives
Includes supplementary material: sn.pub/extras

Produktdetaljer

ISBN
9783642058271
Publisert
2010-12-08
Utgiver
Vendor
Springer-Verlag Berlin and Heidelberg GmbH & Co. K
Høyde
235 mm
Bredde
155 mm
Aldersnivå
Research, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet

Forfatter

Biographical note

 

Shaoying Liu holds a B.Sc and a M.Sc degree in Computer Science from Xi'an Jiaotong University, China, and a Ph.D in Formal Methods from the University of Manchester, U.K. He worked as an Assistant Lecturer and then Lecturer at Xi'an Jiaotong University, a Research Associate at the University of York, and a Research Assistant at the Royal Holloway and Bedford New College of the University of London, respectively, in the period of 1982 -- 1994. He joined the Department of Computer Science at Hiroshima City University as an Associate Professor in April 1994, and then became a faculty member of the Department of Computer Science of the Faculty of Computer and Information Sciences at Hosei University in April 2000. In April 2001 he was promoted to a full Professor . He was invited as a Visiting Research Fellow by The Queen's University of Belfast from December 1994 to February 1995, and a Visiting Professor to Oxford University from December 1998 to February 1999. He is a member of IEEE Computer Society.