Book a Demo

Author Topic: software development process  (Read 6147 times)

andregatti

  • EA Novice
  • *
  • Posts: 9
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
software development process
« on: October 27, 2005, 05:00:43 am »
can anybody recommend a software development process for real time applications?

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: software development process
« Reply #1 on: October 27, 2005, 10:37:25 pm »
Why do you expect it to be different from any other deveopment process?  I know the underlying technology (e.g.; Operating System, Programming Languages, etc.) will be different, but the development process?  Can you elaborate your concerns more?
Verbal Use Cases aren't worth the paper they are written upon.

andregatti

  • EA Novice
  • *
  • Posts: 9
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: software development process
« Reply #2 on: October 28, 2005, 04:18:04 am »
I'm not sure it is different. Up to now, we have been using structure programming, and now we are changing to OO programing.
What I can say, is that maybe you need more testing than common applications, in the sense that you have to add the fact of time. For example this module must finish the execution before a specific time.

I have been reading a little about RUP (Rational Unified Process), but we are still looking for other options.

Kevin Brennan

  • EA User
  • **
  • Posts: 95
  • Karma: +0/-0
    • View Profile
Re: software development process
« Reply #3 on: October 28, 2005, 06:47:29 am »
This looks like it would be a useful reference for you, and it includes a process. Catalysis also has supposedly been successfully user for real-time applications.

(Note: I have no direct experience in this field, so can't endorse either).
Sr. Consultant at blue sands Inc. and Vice President, Body of Knowledge at the IIBA. All opinions are my own.

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: software development process
« Reply #4 on: October 28, 2005, 08:47:35 am »
Kevin;  Those references look very good!

Andregatti;  I switched over to RUP/UML in 2000.  I like them a lot; they are the mainstay of my practice.  Even so, I still reach back to the old tools, or invent new ones, to cope with certain specific situations.  ;)  Both RUP and UML, as well as other methodologies and modeling tools, are advisory; stay as close to them as you can (both to keep everyone in sync and that there is a lot of thought and reasoning that went into their design that will keep you out of trouble), but, with knowledge and understanding, modify and extend them as appropriate to your needs.

Just for the sake of rigor, may I ask what you mean by Real-time?  In my working definition, a Real-time system is one that reacts to domain related events in time to effectively control operations therein and thereby achieve the goals of the application within that domain.  (Sorry, somewhere around here I have a less verbose definition, but that is the essence of it.)

By that definition, If the goal of a payroll system is to keep employees loyal and properly incented, it would appear that a payroll system that generates a pay check every two weeks could be considered real-time. ;D  Of course, a two-week cycle time for an autopilot on a sail boat is not good, nor is a few seconds sufficient for a machine vision system that is inspecting parts as they fly through the center of a circular fluorescent light tube and making decisions to accept or reject the part.

My concern here is that the term Real-time is often used by my clients as a synonym for On-line interactive which is "a different kind of a horse altogether".

What are the cycle-time requirements of your proposed system?
« Last Edit: October 28, 2005, 08:51:53 am by jeshaw2 »
Verbal Use Cases aren't worth the paper they are written upon.

raf952

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
Re: software development process
« Reply #5 on: October 28, 2005, 09:08:49 am »
Quote
can anybody recommend a software development process for real time applications?

Can you give a general description of the types of applications you're talking about?

As someone mentioned, "real time" is sometimes a misused term. I've worked on Air Traffic Control systems--which are not real-time. I've also worked on satellite guidance systems which are.

What sort of things are you doing, and what are the timing constraints you're working within?

raf

andregatti

  • EA Novice
  • *
  • Posts: 9
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: software development process
« Reply #6 on: October 28, 2005, 09:51:10 am »
Right now we are developing the software for radars. The idea is to start using a software development process, implementing OO, in all the projects (instruments for satellites, radars, etc). In many cases the resources are limited and there are very hard time restrictions in task schedules.
What is more, all must be very well documented.

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: software development process
« Reply #7 on: October 28, 2005, 10:18:55 am »
So, in addition to Real-time, there is a need for the products to be embedded in hardware (as firmware) and tight memory constraints too?

If so, I'm thinking an up front Proof of Concept & technologies project is in order as a risk management activity.
Verbal Use Cases aren't worth the paper they are written upon.

davisford

  • EA User
  • **
  • Posts: 63
  • Karma: +0/-0
    • View Profile
Re: software development process
« Reply #8 on: October 28, 2005, 12:36:36 pm »
bruce powell-douglass has a whole process for this called ROPES.  look it up on the web.  i haven't used it.

i develop in both the embedded and real-time domain.  my advice: be familiar with the different process strategies people try to promote -- take the best pieces of each that you think makes common sense.  try it yourself -- refactor out what doesn't, and move fast.  you'll get there much sooner than trying to take some off-the-shelf thing and scratch your head when it says, "now create the <whatever> model from the <something_else> thing"..