Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 169715
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T12:40:49+00:00 2026-05-11T12:40:49+00:00

Our client wants us to build a web-based, rich internet application for gathering software

  • 0

Our client wants us to build a web-based, rich internet application for gathering software requirements. Basically it’s a web-based case tool that follows a specific process for getting requirements from stakeholders. I’m the project manager and we’re still in the early phases of the project.

I’ve been thinking about using formal methods to help clarify the requirements for the tool for both my client and the developers. By formal methods I mean some form of modeling, possibly something mathematically-based. Some of the things I’ve read about and are considering include Z (http://en.wikipedia.org/wiki/Z_notation), state machines, UML 2.0 (possibly with extensions such as OCL), Petri nets, and some coding-level stuff like contracts and pre and post conditions. Is there anything else I should consider?

The developers are experienced but depending on the formalism used they may have to learn some math.

I’m trying to determine whether it’s worth while for me to use formal methods on this project and if so, to what extent. I know ‘it depends’ so the most helpful answers for me is a yes/no and supporting arguments.

Would you use formal methods if you were on this project?

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T12:40:49+00:00Added an answer on May 11, 2026 at 12:40 pm

    I’ve been thinking about using formal methods to help clarify the requirements for the tool for both my client and the developers.

    Very few developers have formal methods experience. The only time I’ve seen clients with formal methods training were members of the ZUG when we were porting CADiZ to Windows.

    By formal methods I mean some form of modeling, possibly something mathematically-based. Some of the things I’ve read about and are considering include Z (http://en.wikipedia.org/wiki/Z_notation), state machines, UML 2.0 (possibly with extensions such as OCL), Petri nets, and some coding-level stuff like contracts and pre and post conditions. Is there anything else I should consider?

    There’s a very large gap between Z, which is a formal method, taking its basis in set theory, and UML, which is a informal notation with some semi-formal notations (state machines) tagged on.

    Some technical clients, such as you’d expect to find using a software requirements tool, are quite comfortable with UML.

    There may be value creating a Z model of your domain, and there may be value in creating a pi-calculus model of your messaging between client and server (or petri-net, but I find pi is both simpler and more powerful).

    What a Z model of your domain would give is an implementation independent set of type constraints, expressed more powerfully than the type system of any common implementation language.

    What a formal model of your messaging would give you is the facility to run analyses to ensure you don’t lose updates or get conflicts or deadlocks.

    What a UML model gives you is a notation for breaking a large system up into function areas (package diagrams), of showing how classes in those areas relate to each other statically (class diagrams), of showing how instances of those classes relate dynamically (sequence, activity and interaction diagrams), and showing how the packages are deployed (component and deployment diagrams). These are useful for communication in the team, and to get ideas fleshed out a bit, but don’t have formally defined semantics which allows very sophisticated analysis.

    The Z specialists I worked with in the ’90s considered the idea of specifying a CASE GUI in Z ridiculous. Creating a UML model for such a GUI is commonplace.

    I haven’t used formal design-by-contract pre and post conditions, though I do sometimes add them in comments, and frequently in assertions, and I unit test conditions which might violate them.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 218k
  • Answers 218k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer $array_iter = new RecursiveArrayIterator($yourarray); $iter_iter = new RecursiveIteratorIterator($array_iter); foreach($iter_iter as… May 12, 2026 at 11:32 pm
  • Editorial Team
    Editorial Team added an answer User-defined regions for code folding can be added by using… May 12, 2026 at 11:32 pm
  • Editorial Team
    Editorial Team added an answer This is what happens.. The method User.FindAll() returns an array… May 12, 2026 at 11:32 pm

Related Questions

I have an internal WPF client application that accesses a database. The application is
Does anyone have any opinions over the best ways to connect a client to
Forgive me if this is a repeat question. I've searched StackOverflow and did not
We have a client (who has a client, who has a client) who is

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.