Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
User interface design
Specification of the UNIX filing system
Specification case studies
Principles and guidelines in software user interface design
Principles and guidelines in software user interface design
The Z notation: a reference manual
The Z notation: a reference manual
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Defining and validating high-level design metrics
Defining and validating high-level design metrics
Z in practice
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Human-computer interaction (2nd ed.)
Human-computer interaction (2nd ed.)
Software engineering: theory and practice
Software engineering: theory and practice
Programs that offer fast, flawless, logical reasoning
Communications of the ACM
Object Oriented Systems Development
Object Oriented Systems Development
The Computer in the Visual Arts
The Computer in the Visual Arts
Foundations of Computing: System Development with Set Theory and Logic
Foundations of Computing: System Development with Set Theory and Logic
An Introduction to Formal Specification and Z
An Introduction to Formal Specification and Z
Operating System Concepts
Interaction Design
Object-Oriented Systems Design: An Integrated Approach
Object-Oriented Systems Design: An Integrated Approach
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
What is a Good Formal Specification?
Proceedings of the Fifth Annual Z User Meeting on Z User Workshop
Principles of Program Design
SAICSIT '03 Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology
Hi-index | 0.00 |
General design heuristics are fairly common in the field of software engineering. Although formal specification can be seen as a subsection of software engineering, design heuristics for constructing a formal specification have been relatively rare. This paper examines a number of formal specifications written in Z as well as some design heuristics from software engineering and areas of general design, upon which we propose ten design heuristics that may be used in drawing up a formal specification. It then illustrates the utility of these heuristics by constructing a specification based on these guidelines.