File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes SCEA Part 2: QoS requirements (Performance, Scalability...) and UML Diagrams Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "SCEA Part 2: QoS requirements (Performance, Scalability...) and UML Diagrams" Watch "SCEA Part 2: QoS requirements (Performance, Scalability...) and UML Diagrams" New topic
Author

SCEA Part 2: QoS requirements (Performance, Scalability...) and UML Diagrams

Saurabh Gokhale
Greenhorn

Joined: Dec 07, 2008
Posts: 25
Hi,
While working on UML diagrams as part of SCEA Part 2 submission, how can a stress be given on the non-functional characteristics of the system like
■ Performance
■ Scalability
■ Reliability
■ Security
■ Availability
■ Maintainability

Which diagrams (Class, component, sequence etc) should be stressed more to display information about these requirements?

As per my understanding:
■ Performance --> Class diagram (by specifying performance specific class details) and sequence diagram (displaying performance logging mechanism)
■ Scalability --> Deployment diagram (Displaying array / cluster of hardware)
■ Reliability/ Availability --> Deployment diagram (displaying parallel / fail over architecture)
■ Security --> Class diagram, sequence diagram (displaying a flow when invalid/ unsecure request is received) and deployment diagram (showing network artifacts like LDAP and HTTPS traffic)
■ Maintainability --> Class Diagram (displaying good design pattern structure for easy maintainability)

Can some one shed more light if I am going in wrong direction?
Remko Strating
Ranch Hand

Joined: Dec 28, 2006
Posts: 893
I don't know what you are doing, but just one diagram just one abstraction. Don't make your models to complicated. The meaning is than someone else will understand you.

So if you want to show something about performance just model only performance and explain why. Don't put performance modelling in a class model which is used to explain how the software is put together. Nothing more.

This is the way I generally work, but I didn't the assignment.


Remko (My website)
SCJP 1.5, SCWCD 1.4, SCDJWS 1.4, SCBCD 1.5, ITIL(Manager), Prince2(Practitioner), Reading/ gaining experience for SCEA,
Saurabh Gokhale
Greenhorn

Joined: Dec 07, 2008
Posts: 25
Hi Remko ... thanks for the reply.

But I am not sure I completely understood your point.
So if you want to show something about performance just model only performance and explain why. Don't put performance modelling in a class model which is used to explain how the software is put together. Nothing more.

Are you saying that I should have a separate UML diagrams to depict these characteristics instead of adding them into the existing ones (especially existing class diagram) which would complicate the existing diagram?

I was thinking of displaying a Performance measuring Servlet (example: PerformanceServlet) as part of my class diagram hierarchy.
P Das
Ranch Hand

Joined: Jun 30, 2008
Posts: 123
You can document extensively in your assumptions how you have implemented the NFR's in the diagrams (or could not, due to a tradeoff).


Pranab Das, PMP, SCEA
Saurabh Gokhale
Greenhorn

Joined: Dec 07, 2008
Posts: 25
Thanks Das,

Yes, assumptions is definitely a good section to detail about these NFRs

Thanks for the suggestion.

Saurabh
Bigwood Liu
Ranch Hand

Joined: Feb 26, 2003
Posts: 240
NFRs are met by your solutions, not only by diagrams but also by more detailed explanation to address there requirement.
Gaurav Tripathi
Ranch Hand

Joined: Aug 25, 2010
Posts: 94
You can also make some traceability matrix like patterns vs NFRs. For example Filter pattern can mapped with Security and you need to explain or give justification of it like how security requirement will be met.

Also, your deployment view should address NFRs like availability, security etc


- Gaurav (http://visitgaurav.blogspot.com and http://in.linkedin.com/in/gauravtripathi)
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: SCEA Part 2: QoS requirements (Performance, Scalability...) and UML Diagrams