UML

Dear experts.
We do not currently use UML in our project methodology/requirements so I'm interested to see how you handle this. How do you incorporate changes to the requirements in the UML?  Do you guys know how exactly does UML help solicit better requirement? Any thought?
drmopcoAsked:
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.

NopiusCommented:
It's quiet unusual to express requirements by means of UML.
UML is for design while requirements are for testing.

Requirements are gathered before design is started.
You may use UML in some requirements (sequenses, use cases) but not all.
And it will be quiet complex to test such requirements (because they are just graphical representaion of what should happen).

I advise don't mix design and requirements.
0
drmopcoAuthor Commented:
so the UML used to create and document the processes of software systems in design phase??
Am I hitting the right target?
0
nayernaguibCommented:
One of the types of behavioral UML diagrams, namely "Use Case Diagram", can be used to model functional requirements of a system.

There are many other types of behavioral and structural diagrams. These diagrams together help the software engineer model every stage of the software development life cycle. Even physical system deployment can be modeled using a UML diagram called Deployment Diagram.

_______________

  Nayer Naguib
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

nayernaguibCommented:
This introduction might help:

  http://www.agilemodeling.com/essays/umlDiagrams.htm

Every diagram is discussed in some detail.

_______________

  Nayer Naguib
0
drmopcoAuthor Commented:
Is it a choice of that programmer to use UML? I thought that it would be directed from above.
0
NopiusCommented:
drmopco, I can tell you many common requirements that are better to experess in textual form, than in UML..
For example:
- program should run under Windows 2000;
- there should be 'File', 'Edit' and 'Help' menu items at the top of main program Window.
- program should provide translation to language 'X' for all menu items.
... there are lots of such requirements ...

I've worked in SEI CMM level 4 software development company. They use UML, but not for requirements...
Of couse you may use UML, but how could you test UML diagram then?
Each requirement has an unique ID (it will be traced and mapped to design and to tests cases). Suppose you have a UML diagram as one of your requirements. To be specific it will be a 'use case'. Result of test for covering some requirement is 'PASS' or 'FAIL'. How you will test such requirement?  
0
suprapto45Commented:
Hi,

In my opinion, as what nayernaguib said; to see the high-level requirement, Use case diagram is the best. It shows you how the overall system works, what actors are involved and etc.

Regarding the requirement changes, I believe that UML may help you in documenting it, modelling it and not-really-help in the implementation part.

Just my opinion ;)

David
0
nayernaguibCommented:
A Use Case can be used to model "functional requirements". No use case is supposed to specify the platform, GUI elements, etc...
Rather, you can use a Use Case to model functionality required by the system, such as login capability, search requests, completing transactions, and so on.

As for your other question, I think using UML should be enforced by management rather than leaving it for the taste of the programmer. This allows for document flow among departments, and as the name suggests, a "unified" language for software design.

_______________

  Nayer Naguib
0
drmopcoAuthor Commented:
Thank you for all your valuable time. I heard that UML is used by programmers. In most compaines, would not UML be used by a developer and the code writer would have to be able to understand the UML output.  Is this a good idea to creation of the UML data would be done by a different office/section than the writing the code?
0
suprapto45Commented:
Hi,

Normally, the UML diagram is created either by SYstem analyst or software architect to design the application before the implementation. However, the programmer must also understand UML to see how he is supposed to implement the design model into application. Some UML diagrams are also allowing the user to generate the codes (in Java or .NET) - if I am not mistaken

There was a perception that UML is tedious and just wasting more time and money than cutting the project's lifecycle. However, for the big companies, documentation is essential to avoid collision and redundancy of codes.

I hope that helps

David
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
drmopcoAuthor Commented:
Thank you for clear explanation all of you.
0
suprapto45Commented:
;)

Glad we could help

David
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
Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.