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 208435
In Process

The Archive Base Latest Questions

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

I’m working on a project and have developed the high level user requirements for

  • 0

I’m working on a project and have developed the high level user requirements for what the system must do. This project is a php web application built on the CodeIgniter framework. Now I’m trying to take those requirements and break them down further into controllers/actions. What is the best way to do this?

I was thinking of creating a word document with a table that would have four columns. Column one would be the the name of the controller, column two would have the actions, column three would have the name of the view that is specific to the action, and the fourth column would show which users had access to that action. Does this sound like a good idea?

I like the interface first approach to building an application, but realistically, I need to know what views I need before I can create a prototype interface.

Could anyone help me out with how to plan the app and any documentation that might help?

  • 1 1 Answer
  • 0 Views
  • 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. Editorial Team
    Editorial Team
    2026-05-11T17:49:31+00:00Added an answer on May 11, 2026 at 5:49 pm

    Your breakdown is a good idea, but it’s really the second step.

    here’s what I’d do:

    • take your requirements, and turn them into a series of scenarios (“use cases”, “user stories”).

    • Pick one, and sketch, like on paper, the basics of the user interface you’d want if you were to have the Good Code Fairy deliver the perfect system to you.

    • separately go through the scenario, and underline all the nouns in the story; those are probably domain objects. Underline all the verbs in a different color. Each verb is a method of one of those domain objects. (In fact the domain object will be the object of the verb. Cool, huh?)

    • Figure out how you would implement that user interface using those domain objects.

    • Build it

    • Show it to your customer, who will invariably say “I like it but“

    • Put the changes and things you learned inot your requirements, and repeat until the check clears.

    Peter Coad wrote what I still think is really the best beginners book on this: Java Design: Building Better Apps and Applets. It’s oriented to Java, but the design part is universal.

    Your domain objects are the model, the display of your data is (roughly speaking) the view, and the code attached to actions is the controller.


    On Use Cases

    The “right way” to do use cases or user stories is subject to immense discussion and religious warfare. There are zillions of options, from Cockburn’s somewhat complex form, to notes scribbled on index cards.

    For the kind of application you’re describing, I do two things: I try to keep them to 25 words or less, and I think about the SMART acronym.

    • Twenty-five words or less helps keep them small. Doing a few small stories is preferable to spending weeks on a big one.

    • SMART stands for “Specific, Measurable, Agreement with Responsibilities and Tests.” (Or at least that’s how I interpret it. There are other versions.)

      • Specific, you have to be comfortable you know what’s being asked.
      • Measurable, you have to have some way of testing or some kind of statement of what will be acceptable
      • Agreement, because it needs to be something you and the customer can both agree satisfies a need — in other words, the “meeting of minds” of a contract
      • with Responsibilities, you have to know what you’re being given, what the customer or user is responsible for providing, and what you are
      • and Tests, in other words, you should have an effective procedure that gives you the answer “it is acceptable” or “it’s not acceptable.”

    The form I use has the pattern

    User in a particular role
    does something
    resulting in some benefit

    So, in your example, I would write

    • Administrator (who?)
    • lists all FAQs (does what?)
    • to review them for updates. (why?)

    The “resulting in some benefit” part is something I emphasize and a lot of other people don’t, or don’t even mention. It helps a lot later if you need to prioritize them.

    The “test” part is a description of an acceptance test: you’re answering the question “Is this done?” So the acceptance test might be

    • A logged in administrator selects “list FAQ”. All known FAQs are listed in correct format.

    Ideally, you’d set this up so some tool, like expect or a gui test tool, can run this automatically, but especially in a small projects you may end up testing by hand. You want automated testing, because as you build the system, you want to do regression tests; that is, you want to repeat your tests to make sure nothing has been broken by a later change.

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

Sidebar

Related Questions

I'm working on a project where we have several SOAP Web Services developed on
Hello Ruby/Rails/Merb developers! Im currently working on a web project that will have a
I'm working on a project where I have 2 web services that need the
I am currently working on a Java EE project. I have successfully developed a
I currently have a web project developed with Codeigniter. My production environment works as
I have a large .NET web application. The system has projects for different intentions
I have developed a asp.net application using Visual Studio 2008 and it was working
I have project which is currently working and was developed long time back on
I have developed office project in 2003 (Excel template).All features are working fine but
I am having a problem with deploying a web application I have developed. It

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.