Jump to content

CLA Preperation Guide


Recommended Posts

I really dont know if this is the right place to post this topic. I have few points in CLA preperation guide that are not clear. I wish it will be useful for me and also fo future CLA. The Points that I feel requires more clarity are:

  1. NI recommends to develop architecture which is state persistence and Restoration. Can you tell me what do these to mean
  2. "Develop Architecture to handle Configuration Data". Can you explain this point
  3. Design a scalable interface that can ease transition from simulation? what do they mean by Scalable interface

Thanks

Link to comment

QUOTE (RAJKU @ Mar 22 2009, 12:34 PM)

This means that your system should be able to remember the state that it was in when you exit it and that it can restore this state when you run it again. In some cases you don't want to preserve the state and in others cases you do. However a good architecture would allow you to maintain this information between executions. In addition, your architecture should be such that different tasks within your system can obtain state information about the running system. Again, not everything needs to be exposed but there is some information that you may need to expose to all parts of your system.

QUOTE (RAJKU @ Mar 22 2009, 12:34 PM)

  1. "Develop Architecture to handle Configuration Data". Can you explain this point


Your system should not rely on hard coded configuration data (IP address, instrument data, timing parameters, etc.) and should provide a means of defining this information external to the application. Your system should allow this type of information to be loaded from a file or a database or some other means. Basically, your system should be designed in such a manner that changes to components of your system do not necessarily mean you need to change your code.

QUOTE (RAJKU @ Mar 22 2009, 12:34 PM)

  1. Design a scalable interface that can ease transition from simulation? what do they mean by Scalable interface

Essentially your system should be designed to allow it to grow. If you originally wrote it to work with it testing or controlling a single device then it should be relatively easy to have it work with multiple devices. Again, like the other answers this one means that your design is not so rigid that adding or changing anything in it is a difficult task.

I don't mean any offence by what I am going to say next so please don't take it as such. But these are pretty basic questions when it comes to a system architect. I have to ask are you really ready for the CLA exam? Perhaps you need to get some more large scale application development experience under your belt before you are ready for this exam.

Link to comment

QUOTE (Mark Yedinak @ Mar 23 2009, 02:35 AM)

I don't mean any offence by what I am going to say next so please don't take it as such. But these are pretty basic questions when it comes to a system architect. I have to ask are you really ready for the CLA exam? Perhaps you need to get some more large scale application development experience under your belt before you are ready for this exam.

Thanks Mark. The reason why I posted is I wanted to confirm what I am assuming or understood is correct.

Link to comment

HI Mark this is not directed at you but your post stuck a nerve with me.

When reply to "NI recommends to develop architecture which is state persistence and Restoration. "

QUOTE (Mark Yedinak @ Mar 22 2009, 08:35 PM)


This means that your system should be able to remember the state that it was in when you exit it and that it can restore this state when you run it again. In some cases you don't want to preserve the state and in others cases you do. However a good architecture would allow you to maintain this information between executions. In addition, your architecture should be such that different tasks within your system can obtain state information about the running system. Again, not everything needs to be exposed but there is some information that you may need to expose to all parts of your system.


...

I don't mean any offense by what I am going to say next so please don't take it as such. But these are pretty basic questions when it comes to a system architect. I have to ask are you really ready for the CLA exam? Perhaps you need to get some more large scale application development experience under your belt before you are ready for this exam.

[set Rant = True]

I did not study software officially so I don't even know where or what it was I was suppposed to read that would have taught me that. Now I have designed and developed app that meet your explanation but I never knew there was a fancy title that went with it. Sometimes I think NI writes up there req's like they are college course descriptions in that they are nebulus to anyone that has not taken the course but are really rather mundande once someone explains what all of the fancy words mean.

Done venting, thank you,

Ben

(CLA but I am always wondering "How did I pull that one off?" and "Are they going to write me out of the gang NEXT time?")

Link to comment

QUOTE (neBulus @ Mar 23 2009, 01:17 PM)

HI Mark this is not directed at you but your post stuck a nerve with me.

When reply to "NI recommends to develop architecture which is state persistence and Restoration. "

[set Rant = True]

I did not study software officially so I don't even know where or what it was I was suppposed to read that would have taught me that. Now I have designed and developed app that meet your explanation but I never knew there was a fancy title that went with it. Sometimes I think NI writes up there req's like they are college course descriptions in that they are nebulus to anyone that has not taken the course but are really rather mundande once someone explains what all of the fancy words mean.

Done venting, thank you,

Ben

(CLA but I am always wondering "How did I pull that one off?" and "Are they going to write me out of the gang NEXT time?")

Don't worry Ben I didn't feel like you were directing that at me. Anyway, this does highlight a difference between formally trained SW Engineers and self taught ones. I will be the first to admit that it isn't absolutely required for someone to have formal training in order to work at the level of a good system architect nor is it a requirement in order to get certified. However, it does highlight the need to be able to talk a common language. One important thing a person learns through formal training is the language of the trade. It can vary a bit from industry to industry and there are multiple names for the same concepts in some cases but for the most part the terminology is fairly well understood.

I am not sure if NI should water down the terminology or create its own. For instance, I race sailboats and we had an old crew member who used all of their own terms for everything on the boat. Worse yet they taught those new terms to new crew members she taught. In the end this was a nightmare since noone could communicate. Everything took considering longer since there was so much translation involved. Fortunately she didn't teach too many people on the boat and eventually left our crew. However the people she taught were at a significant disadvantage if they went to another boat using the standard terms. It is important the common language be used to discuss the various concepts used within SW engineering. This is true with any specialty that has its own "language".

Mark

Link to comment
  • 3 weeks later...

Thank you very much for asking these questions. Incidentally, these are exactly the same questions I had about the CLA Preparation guide. I disagree that not knowing what these terms mean indicates that you are not ready for the CLA exam. I'm sure you can gather what the meaning of the words are, and even what meaning they have in software design. However, these line items are very unclear:

1.) State persistance and restoration of what? The entire application or individual VIs? A "state" could be a state in a state machine, or an abstract application state.

2.) Configuration data could mean a .INI file of config settings. However, if you look through the LabVIEW Advanced coursebook, Configuration refers to architect-level Configuration for other developers, e.g. File Locking, Version Control, Revision and Requirements Tracking, etc. For example, you can modify both your Project as well as individual VIs to handle "Configuration" as it relates to Requirements Tracking, and this is how it is discussed in the coursebook--there's nothing about application configuration using config.ini files. I'm still not sure what they are referring to in the preparation guide.

3.) Why do they refer to scalability and simulation in the same bullet point? Those could be considered completely unrelated, and when they pair them together, it leads me to believe that I should be building a scalabale simulation module. Is that the case? It wouldn't make much sense.

So, I think that the fact that you identified these three questions as being confusing among all the others, this may indicate that you are more prepared for the CLA than you think. You are on the level of asking questions about the fine points and discrepencies in the preparation guide, which to me indiciates a high degree of understanding.

No stupid questions, just stupid answers, right?

QUOTE (RAJKU @ Mar 22 2009, 01:34 PM)

I really dont know if this is the right place to post this topic. I have few points in CLA preperation guide that are not clear. I wish it will be useful for me and also fo future CLA. The Points that I feel requires more clarity are:

  1. NI recommends to develop architecture which is state persistence and Restoration. Can you tell me what do these to mean
  2. "Develop Architecture to handle Configuration Data". Can you explain this point
  3. Design a scalable interface that can ease transition from simulation? what do they mean by Scalable interface

Thanks

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.