This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
At the end of Chap. 2 of the Allen and Bambara book, there is the following question:
2. Which of the following are nonfunctional requirements?
A. Scalability, availability, extensibility, manageability, and security
B. Performance, reliability, elaboration, transition, documentation, and security
C. Specification, elaboration, construction, transition, use cases, and security
D. Performance, availability, scalability, and security
E. Reliability, availability, scalability, manageability, and security
It lists the correct answers as D).
However, in the same book chapter 2) under Capabilities of an Architecture it states:
As mentioned, capabilities are the nonfunctional, observable system qualities including scalability, manageability, performance, availability, reliability, and security, which are defined in terms of context.
To me, this indicates that the answer should be E) rather than D).
In any case, what are the non-functional requirements anyway? The book then goes on to define the following 11 system quality measures:
It seams that also A is correct , So IMO the correct answers are: A, D,E. Only B and C are evidently wrong.
According to Cade/Sheil book the list of non-functional requirements is following:
The rest from you list like "capacity" can be treated rather as system characteristics, not a non-functional requirement.
Anyway you should not worry to much about this type of questions. the real exam contains more interesting, scenario-type questions.
So, for you it is enough to understand the definition of every non-functional requirement.
BTW, such mock tests quite often contain wrong or not clear answers. I used ePractize and the percentage of doubtful questions/answers was at quite high level (about 5-10 %).
I had no more than 70-75 % results on ePractize tests, but reached 87% on real exam
SCJP 5, SCWCD 1.4, SCBCD 5, SCEA part1
Joined: Jul 09, 2004
Thanks a lot for your response. It helps clear up things quite a bit.
You wont have a question like this on the actual exam - I'm pretty sure. The questions are on how you apply your knowledge of the "...abilities" to a given situation instead of just a knowledge of what they are or in which category they belong to.
I came across this issue today and was very confused. As mentioned in the question the book I use (OCM Java EE 6 Enterprise Architect Exam Guide) mentions a list of "Capabilities and System Qualities":Availability,Reliability,Manageability,Flexibility,Performance,Capacity,Scalability,Extensibility,Validity,Reusability,Security.
In the section that summarizes the chapter he also draws up list of "The nonfunctional / QoS requirements".
Until I read this question I understood that this list was considered non-functional requirements for the exam, so my answer to this question was A, D, E.
The justification for the alternative "A" be considered wrong is as follows:
"There is the mention of extensibility (Ability to easily add or extend functionality) and manageability (Ability to monitor the health of the system). Hence, choice A is incorrect."
The justification for the alternative "E" be considered wrong is as follows:
"While scalability and reliability may be related (Will Perform the system to operate reliably When more users on it?), There is the mention of reliability in the question. Hence, choice E is incorrect."