Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm writing the Software Requirement Specification document for a piece of software that I am developing. A part of the SRS is the identification of the user class.

Can somebody please give or refer me to definition of a user class as it relates to a software product?

share|improve this question
    
@Wyatt - SRS stands for software requirements specifications. It is a document that describes the behavior of the software product to be developed. It is written after the elicitation, analysis and validation of the requirements that a proposed software system is supposed to meet. –  user21455 Mar 29 '11 at 14:40
    
Pardon the skepticism - but you actually expect to follow this SRS to the letter? –  talonx Mar 30 '11 at 12:16
    
@talonx - no, but it was term that I came across and didn't fully understand. I just wanted to clear that up and see how relevant it is to what I am doing :) –  user21455 Mar 30 '11 at 14:03
add comment

2 Answers 2

up vote 2 down vote accepted

User classes will differ based on the type of software you are writing, and the audience it is designed for. For example, I created a database application which had two user classes: traders and administrators. Your SRS might include other classes - maybe "general user", "power user", "executive", etc...

Basically, you are just trying to describe the various groups of users who will be using your software. You are coming up with a definition so you can group people into these classes, spell out their characteristics, and plan what permissions/user experience/features they need. For example:

  • Power users have workstation class desktops, lots o' RAM, and have development tools installed.

  • Salespeople have laptops, usually remote-connect into the network.

  • Executives are technology-shy, have assistants who need access to all apps, requests need to be prioritized.

  • IT department - need full access to database and access to the admin menus

The purpose of this classification is to help you 1) make sure your software appropriately fills the needs of each class, and 2) make sure you take these differences into account when designing your apps.

Does that help at all?

share|improve this answer
    
PS - Here's a document which might help with the SRS as well... processimpact.com/process_assets/srs_template.doc –  Jim Mar 28 '11 at 19:29
    
Thanks Jim, that definition and those supporting examples really helped me out. And thanks for the link as well. –  user21455 Mar 29 '11 at 14:41
add comment

Please don't get too lost the theoretical world. If this is an application that you are developing and designing then you are the best ( only ) person who can do this properly.

All this requires is common sense.

It is very easy to fall into the trap of trying to fill out a template with the hope that if you do enough of this then you have covered the full requirements of the specification.

Simply based on your problem domain - what unique users will you have, and what unique requirements will they have. If you only have 1 user, then please don't get lost in trying to conjure up artificial users to that your SRS look more full.

Document ONLY what adds value to the actual application. Think of this as Agile Documentation :-)

share|improve this answer
    
Thanks for the advice, it helped me clear my head about this whole thing :) –  user21455 Mar 29 '11 at 14:42
    
Its a Pleasure! –  Stephen Bailey Mar 29 '11 at 19:59
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.