C class software


















Asked 12 years, 4 months ago. Active 3 years, 2 months ago. Viewed k times. Improve this question. Ben Gartner Ben Gartner Obligatory question: Do you have to write object-oriented code? If you do for whatever reason, that's fine, but you will be fighting a rather uphill battle. It's probably for the best if you avoid trying to write object-oriented code in C. It's certainly possible - see unwind's excellent answer - but it's not exactly "easy," and if you're working on an embedded system with limited memory, it may not be feasible.

I may be wrong, though - I'm not trying to argue you out of it, just present some counterpoints that may not have been presented. Strictly speaking, we don't have to. However, the complexity of the system has made the code unmaintainable. My feeling is that the best way to reduce the complexity is to implement some OOP concepts. Thanks for everyone who responding within 3 minutes. You guys are insane and quick!

This is just my humble opinion, but OOP doesn't make code instantly maintainable. It may make it easier to manage, but not necessarily more maintainable. If you're going to be restructuring the app anyway, I would consider spending some time trying to come up with a more maintainable procedural structure. This source, which was in a deleted answer of mine, may also be of help: planetpdf.

Show 1 more comment. Active Oldest Votes. Improve this answer. Community Bot 1 1 1 silver badge. It would seem that the latter might be a bit nicer on inheritance, but I can see arguments both ways Chris: Yeah, that's a hard question. Because the struct references itself, it requires a declaration before it is defined. This is explained with an example here in Lundin's answer.

What happens when Rectangle has a function that not all Shapes do. A circle would not implement this but a rectangle might. How do you access a function that's not a part of the parent class that you inherited from? I had to do it once too for a homework. I followed this approach: Define your data members in a struct. Define your function members that take a pointer to your struct as first argument. This is what I've done in the past, but with the addition of faking scope by placing function prototypes in either the.

I like this, the struct declaration allocates all the memory. For some reason I forgot this would work well. I think you need a typedef struct Queue Queue; in there. Why not request a demo, so you can see first-hand how intuitive our solutions are, and the dramatic productivity gains they can deliver? Launching Electronic Signatures. Learn More. Class Trust recognised for being industry-first innovation in cloud-based trust accounting.

Class ranks in AFR top innovative companies list. Understanding SMSF resilience in a time of constant change. Download now. Learn more. Standardise and automate your trust accounting and administration. Solutions to empower your accounting firm. Class Super. I could demonstrate that its software is class A or class C. This example is a dummy one but it shows that the context is very important. Class shall be set with the knowledge of physicians and the intended use of the medical device.

To make things more complex, there is no one-to-one correspondence between classes of medical devices and classes of software. You may have a class A software in a maintenance function of a class III medical device.

It is true however that there is a high probability that low class software are found in low class devices and high class software in high class devices. Let me give you an analogy: the wheelbarrow was invented a long time ago to transport things more easily.

The wheelbarrow helps our muscles do their job faster. Software is the wheelbarrow of our brain. Our brain needs a level of confidence to trust the results given by its software wheelbarrow.

If we had no confidence, we could convert the electric tension of the temperature sensor to a temperature value with an abacus. The radiologist could take every measurement of the MRI and draw the points on a sheet of paper with different color pens to build an image.

The surgeon could use manual micrometric screws to move its instruments instead of software controlled instruments, during a surgery. The more you have to rely on software to treat the patient, to monitor its vital constants or to give a diagnosis, the higher the class.

In class C, all paragraphs of the IEC shall be applied when developing the software inside the thermometer. In class A, only a few paragraphs of the IEC shall be applied.

Class B is in between no surprise. So, think twice before you assign a class to your software. Edit: I continued the discussion in this article.

Edit of read this new article about IEC Amd1 where the new software security classification system is explained. Hi Mitch, i understand the diferents safety classification but my question is how to explain and argue it?

At first look is a class C: "Death or Serious Injury". For example you show an image of a wrong patient, and the radiologist make a fatal mistake in the diagnostic that cause the death of the "original" patient bad treatment applied, etc A real "reasonable" classification will be B, but how to argue that the sw could only cause "Non serious injury" and not "Death or Serious Injury" when the cause "wrong image" is the same.

That kind of software is class B because it is not used alone in the diagnosis. It is always inserted in a chain of decisions for example, assessment by pairs, biopsy The software in its environment can not be the cause of a severe injury.

There are always other measures of protection to prevent a problem if it is buggey or crashes. One could argue that it could even be class A. However, I consider this is a good preventive measure to set it class B, should other measures of protection in the chain of decisions be ineffective enough and lead to very unprobable injury.

This is the toughest case, obviously. IMHO, I prefer to keep it like that, for the unwanted day I'm connected to a medical device with software inside! It just says: Due to complexity of the project or to enable persons with varying levels of technical responsibilities to clearly understand design information, the design specification may contain both a high level summary of the design and detailed design information. FDA uses the word may. So, it's up to you to define if detailed design is mandatory?

I use "more or less" because the definition of levels of concern of FDA doesn't exactly match the definition of classes in IEC Table 3 contains a line about mandatory tasks about detailed design. The tasks depends on the level of concern of software. Guess what? These tasks match those of IEC The only problem is in the definition of classes and levels of concern.

But this is very unlikely.



0コメント

  • 1000 / 1000