OO requirements capture survey

I have a task to investigate requirements methodologys used in industry. I currently use use cases

I would like to know what

1. What requirments capture approach do other s/w companies use
2. What tools are they using
3. Are the tools successful
4. Where does the tool fail

I know this question may be a bit misplaced but anyway as this is a C++ list I am sure some of you have exposure to case tools.
I do not need the name of your companies but the size and country would help.

If you wish not to post the information to this list but wish to add a comment to the proceedings I will provide my email address if requested

Ps.

Points will be given based on
completness of anwser and validity of points 3 and 4 of the answer

If you are a student please indicate so.
LVL 2
iarlaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

abdijCommented:
Hi,

 Ou Company uses a mixture of tools and human approach to Requirement gathering.

The approach is talk to Customer, communicate and get his idea about the project. Some times the customer is knowledgeable and sometimes not. Based on his input we use Rational Rose to generate a broad outline of the requirement and then go in depth to the specific needs. This process is iterative and time consuming since it needs customer interaction at each steps.

2. As i said we use rational Rose (mostly) and in some cases Visual Modeller.

3. The tools are useful in the sense that once the Use cases are ready it is easy to comprehend, since it is Universal (UML notation) for all parties involved. Also it is easier in long term since even the Design is made using Rose. Once again considering that human resource is unreliable (people leave organization), this becomes very important. Since everything is in UML the person stepping in finds it easy to follow. Also if Rose is used in whole lifecycle of the project Coding, Testing and Documentation becomes very easy.

4. But the drawback is that a mistake at one place at one stage proves very costly. So thorough knowledge of the tool is essential. This initially is a huge burden (especially in large organizations). Also people generally donot agree to follow a restricted procedure easily (since it is a extra burden to put everything in UML notation!!!).

Hope this satisfies you.
Feel free to ask.

Bye
Abdij
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MindoCommented:
Hello,

I'm a student and i work part-time for an American company here in Lithuania. There are about 100 developers working here.

1. We communicate with our clients mostly by writing a Functional Specification, the so-called spec. Also, the project leader collects all the questions from developers and communicates with the client by e-mail, NetMeeting or going to their office. Programmers can directly ask questions too, since the project leader can't cover everything. Our Functional Specification is a Word document illustrated with UML notation. This document mostly has use case diagrams in it commented with text. After our customer and we agree upon the project, we begin developing it.

2. We use the UML MagicDraw 3.5. This tool is made by our company and software journals give the 3rd place among all the modelling tools. I won't talk about the details of this product, one can read about it at www.magicdraw.com It's a lot cheaper that Rational Rose and has some advantages over it. Since we have done this tool ourselves, we are using it. Lots of our programmers have been working on this tool, so they know how to get most out from it. Since UML is easy, new people can easily learn new things and begin working.

3. Yes, the MagicDraw UML is successful. We're using it for 2 years already. If we see disadvantages of it, our team can work on it and improve our modeling tool. Also, we receive feedbacks from our customers who are satisfied with it. You can read the details at the www.magicdraw.com site.

4. Since our tool was written completely in Java, it's pretty slow and requires a good PC. The advantage is that it runs on any platform. Experience shows that the failure is not in the modelling tool. People who are working as analysts must be really experienced to get most of it. New people aren't fluent enough in software and they can't do advanced things.

Cheers :-)
0
yonatCommented:
> 1. What requirments capture approach do other s/w companies use

I've used several, and the most successful was to show the customers a mockup/demo/prototype/partial release (depending on the stage of the project) and get their feedback on it. The advantage here is that the requirements are more "real" - many customers have difficulty knowing what they need until they see something concrete. The drawbacks are that some customers don't want to spend that much time on sw development (this happens usually when the customer is not the user) and that not all requirments can be captured like this (security, robustness, etc.).

The Scrum development process makes this mathod explicit - see http://www.controlchaos.com/ for more info.

> 2. What tools are they using

Lots, but the sucessful ones were paper and/or simple word processor documents. I know some people like complex database based systems, but I doubt their benefit outweighs the cost of yet another tool to learn and maintain.

> 3. Are the tools successful

Paper and word processors? Sure! Just look at Xerox and MS quotes!

> 4. Where does the tool fail

I don't know, I have only seen people fail, not tools. :-)

But if you are refering to requirements database tools, I think they are not the best way to deal with complexity. If this interests you, add a comment and I'll try to expand.
0
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.

iarlaAuthor Commented:
Hi Yonat

The reason I don't like to use word documents only approach is that I want to a maitain a data dictionary. I also want version support on the data dictionary. I have seen projects where documents are written duplicating information in other documents. That is why I would vouch for database tool.

Hi abdii + Mindo

Does Visual Moduler or MagicDraw have data dictionary support?

Oh just as an aside

I use Select Enterprise in the development process.





 
0
MindoCommented:
Yes, MagicDraw has a Data Dictionary. I think the term "Data Dictionary" is pretty old and isn't frequently used among software developers. Data Dictionary in MagicDraw is stored in it's special format, the user doesn't have to care about it, since he can browse through data through the easily manipulated tree.
0
iarlaAuthor Commented:
Hi Mindo

You are associating the term "data dictionary" with SSADM or SDT techniques.

The term data dictonary is one of the core elements of any CASE tool. Any case tool without a data dictonary is basically a drawing tool.

If I want a drawing tool for UML I could use Visio business modeler
 
0
MindoCommented:
Huh?

Ok, tell me, what's a Data Dictionary. I had a talk with my colleagues about it. Isn't this a term which is frequently talked about at universities and never used in practice later? Or maybe it's inherited from the 1970-ies C and COBOL programming times?

Well, if you're talking about these old tools, then i can say that here we do not use them. Maybe it's bad, i don't know.

What is SSADM and SDT? I didn't know i'm associating the term with it :-)
0
iarlaAuthor Commented:
If you check out the definition of data dictionary (www.whatis.com)

"A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who might need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. This process is called data modeling and results in a picture of object relationships. After each data object or item is given a descriptive name, its relationship is described (or it becomes part of some structure that implicitly describes relationship), the type of data (such as text or image or binary value) is described, possible predefined values are listed, and a brief textual description is provided. This collection can be organized for reference into a book called a data dictionary.

When developing programs that use the data model, a data dictionary can be consulted to understand where a data item fits in the structure, what values it may contain, and basically what the data item means in real-world terms. For example, a bank or group of banks could model the data objects involved in consumer banking. They could then provide a data dictionary for a bank's programmers. The data dictionary would describe each of the data items in its data model for consumer banking (for example, "Account holder" and ""Available credit"). "



0
iarlaAuthor Commented:
Most projects I work on tend to a relational DB backend. ER modeling is generally required as well as OO modeling
0
MindoCommented:
Yes, the MagicDraw has a Data Dictionary. There are about 10 types of diagrams, any diagram can have a lot of items and if you select any of the items, there's a short window in the corner with a title, "Documentation". Maybe there should be written "Data Dictionary". A programmer can write anything he wants here. This way any item in the document can be documented, no matter how small it is.
0
abdijCommented:
Hi,
 Even Rational and Visula Modeller do have Data Dictionaries the sort Mindo has mentioned Magic Draw has. Rational Rose has 9 UML diagrams. Each object of the Diagram (class, relation, attributes, operations, parameters to operations ) can be documented. When you click on the item you get the associated documentation. I have personally not used Visual Modeller, though some projects in my organisation use them. If possible i will enquire with them and reply. But surely there will be a way to incorporate the basic idea. I am sure.

Bye
Abdij
0
iarlaAuthor Commented:
Hi abdij

Does Visual Modeler come free with the MSDN?. Does Visual Modeler support component + deployment type diagram is UML?

0
abdijCommented:
Hi,
 Yes Visual Modeller comes free with MSDN (Visual Studio). Regarding Component+deployment, i have not pesonally used it but my friends say, there is a concept of creating package. They assure me that whatever Rose does Visual Modeller does too, atleast to some extent.

Hope this helps
Bye
Abdij
0
iarlaAuthor Commented:
Although this question was quiet broad
I have opted for Rational Rose. I would like to thank all who contributed
0
abdijCommented:
Hi,
 All the best.

Bye
Abdij
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C++

From novice to tech pro — start learning today.