Autor Tema: Norma para Desarrollos de Software  (Leído 2067 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado donvalles

  • PIC10
  • *
  • Mensajes: 35
Norma para Desarrollos de Software
« en: 26 de Septiembre de 2014, 00:02:28 »
Hola amigos, les hago una consulta, quiero aprender a programar baseandome en una norma con sus procedimientos definidos desde el inicio hasta la aprobación del software, a ver si me entienden, por ejemplo:
1. Datos de entrada y Salida.
2. Analisis de Riesgo. (ejemplo : que sucederia si se reinicia el pic, entonces analizamos su riesgo - Alto - Medio - Bajo
3. verificar funcionamiento.
.....
.....
etc.

me gustaria saber si utlizan algo así y a los que tienen mucha experiencia en programación como hacen? .
Gracias.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #1 en: 26 de Septiembre de 2014, 04:04:44 »
Es muy interesante la pregunta.

¿Qué tamaño tiene el proyecto?
Me refiero a una estimación del número de programadores y el número de horas o líneas de código.
No es lo mismo un proyecto de 500 líneas que otro de  10 Millones.

¿Qué tipo de software es y en qué lenguaje?
Bases de datos, Driver, pequeño control por microcontrolador, Script de sistema operativo...
C, Ladder, Programación por bloques visuales, si tiene interfaz GUI, SQL, Ensamblador, etc.

Un saludo.
« Última modificación: 26 de Septiembre de 2014, 04:06:50 por Picuino »

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Norma para Desarrollos de Software
« Respuesta #2 en: 26 de Septiembre de 2014, 10:58:49 »
para mi, un proyecto está 50% hecho cuando el programa y el hardware están terminado, y el otro 50% cuando pasado un tiempo estimado, el proyecto funciona de acuerdo a lo planeado.

además pienso que para el mundo de la electrónica deberia aplicarse algo parecido a la regla de los cinco 9 (alta disponibilidad)

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #3 en: 26 de Septiembre de 2014, 11:25:33 »
También hay proyectos que no terminan NUNCA. El proyecto muere con la empresa o persona que lo desarrolla.

Por ejemplo Windows.  En ocasiones lanzan versiones que en realidad son betas, luego las llenan de parches. Cada cierto tiempo agrupan los parches y le llaman Service Pack, que en realidad es otra versión del S.O. encubierta. Cuando acumulan suficientes Service Pack, le lavan la cara, añaden maquillaje y lanzan el resultado con el nombre de otra versión.

Antonio Lopez acaba de terminar su retrato de la Familia Real Española (el anterior rey y sus hijos/as). Lleva 20 años pintándo el cuadro. Su filosofía es que el cuadro nunca está acabado, sólo se llega a los límites de lo que el pintor puede dar de sí.

http://cultura.elpais.com/cultura/2013/05/07/actualidad/1367950322_209557.html




Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #4 en: 26 de Septiembre de 2014, 11:36:10 »
Pero imagíno que lo que le interesa a donvalles es una metodología para desarrollar una primera versión.

Lo primero que se me ocurre que hay que hacer (no es algo sistemático) es definir los DATOS y las FUNCIONES.

Hay muchas maneras de hacerlo y todas dependen de lo que vas a programar. No es lo mismo hacer un diagrama de flujo para un algoritmo lineal que definir una red de petri para un programa concurrente. Depende de lo que vayas a hacer.  A partir de ahí se pueden buscar los mejores instrumentos.

En programación concurrente los franceses utilizan un método que me gusta mucho: Grafcet.
Es parecido a los grafos, redes de petri, programación paso a paso en neumática, etc. orientado a la programación de autómatas.

Bueno, pues incluso con esta herramienta de definición de la función del código se puede trabajar de distintas maneras.

Una aproximación puede ser la programación por funciones: Cada rutina se encarga de ejecutar una función, aunque involucre a varios elementos físicos del sistema que interactúan entre sí.
Otra aproximación es la programación por elementos: En este caso cada rutina se limita a manejar un sólo elemento físico del sistema. Para realizar funciones que involucren a varios elementos, es necesaria una sincronización entre las rutinas.


En programación tradicional (más lineal) hay una aproximación Top-Down para definir y analizar el proyecto y otra Bottom-Up . Lo tradicional es utilizar la primera, pero no es la mejor. Si programas en Forth estarás acostumbrado a la segunda aproximación.


Hay muchas herramientas. Por eso preguntaba los detalles del proyecto, porque la herramienta adecuada depende mucho de ellos.



Saludos.
« Última modificación: 26 de Septiembre de 2014, 11:39:46 por Picuino »

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Norma para Desarrollos de Software
« Respuesta #5 en: 26 de Septiembre de 2014, 15:37:05 »
Me han enseñado que las caracteristicas deseadas en un sistema embebido son
Disponibilidad:Se refiere a que el sistema esté preparado para recibir información o interactuar con el usuario.
Seguridad: Se refiere a que el sistema no pierda o cambie datos, ya sea por una falla hardware o software.
Fiabilidad: Se refiere a que el sistema pueda recuperarse correctamente ante posibles fallos, y que estos no ocurran constantemente.
Mantenibilidad: Se refiere a que el código pueda ser fácilmente extendido o actualizado.
Funcionalidad: Se refiere a que el sistema ejecute la labor para la cual está pensado.
Concurrencia: Se refiere a que el sistema pueda atender múltiples tareas.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado donvalles

  • PIC10
  • *
  • Mensajes: 35
Re: Norma para Desarrollos de Software
« Respuesta #6 en: 26 de Septiembre de 2014, 18:13:09 »
es necerio hacer un análisis de arbol de fallas, acabo de ver eso y fue inventado o aplicado por primera vez por la bell aglo asi. está muy bueno vale la pena mirarlo

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #7 en: 27 de Septiembre de 2014, 04:23:11 »
En cuanto a seguridad, existen protocolos específicos para la seguridad de máquinas y normativas aplicables a la UE. En diferentes países existirán sus homólogos.

En este manual de Scheider lo explican por encima:
http://www.schneiderelectric.es/documents/original-equipment-manufacturers/safety/manual_seg_maq_2011.pdf


En pocas palabras. Primero se evalúan los riesgos: identificar cada uno de los riesgos, su peligrosidad, su frecuencia, el tipo de persona que se ve sometida al riesgo (visitante, operario, técnico de mantenimiento)
A partir de las características del riesgo se toman diferentes medidas en cuanto a la categoría del sistema de control.

Un riesgo bajo sólo necesitará componentes de seguridad comprobada (hardware y software), así como buenas prácticas de diseño (diseño inherentemente seguro).
Un riesgo alto y frecuente, necesitará que el sistema de control sea de categoría 4. Son sistemas redundantes, con autocontrol y control mútuo, con verificación periódica automática de las funciones de seguridad y con un diseño que no produzca peligros en caso de fallo. Se debe utilizar software específico de seguridad.

Categorías de control según norma EN 954-1: http://www.schmersal.es/cms6/opencms/html/es/service/glossary.html?id=528
S7 F/FH Systems. Safety Lifecycle Engineering for Process Automation: http://w3.siemens.com/mcms/simatic-controller-software/en/programming-options/s7-f-fh-systems/Pages/Default.aspx
Seguridad Integrada para la industria manufacturera: https://www.swe.siemens.com/spain/web/es/industry/automatizacion/seguridad_industrial/industria_manufacturera/Pages/Seguridad_industrial.aspx
PLC de seguridad con conexión a Profinet: http://www.interempresas.net/Transporte/FeriaVirtual/Producto-PLC-de-seguridad-Siemens-Simatic-S7-315F-2PN-DP-19051.html

Saludos.
« Última modificación: 27 de Septiembre de 2014, 04:28:33 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #8 en: 27 de Septiembre de 2014, 04:42:20 »
Un ejemplo de programa en lenguaje CFC. Se pueden utilizar módulos preprogramados de Siemens, previamente certificados para funciones de seguridad:




Un saludo.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #9 en: 27 de Septiembre de 2014, 09:27:17 »
Este artículo de Wikipedia es bastante interesante. Como casi siempre, la versión en inglés es más completa (dejo las dos):

http://en.wikipedia.org/wiki/Software_development_process

http://es.wikipedia.org/wiki/Proceso_para_el_desarrollo_de_software




A esto habrá que añadir la parte correspondiente de desarrollo de hardware.

Saludos.
« Última modificación: 27 de Septiembre de 2014, 09:31:06 por Picuino »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Norma para Desarrollos de Software
« Respuesta #10 en: 27 de Septiembre de 2014, 10:02:16 »
Hola. Aparte de la metodología tienes reglas a la hora de programar, por ejemplo MISRA C. Wikipedia:

Citar
MISRA C is a set of software development guidelines for the C programming language developed by MISRA (previously Motor Industry Software Reliability Association). Its aims are to facilitate code safety, portability and reliability in the context of embedded systems, specifically those systems programmed in ISO C. There is also a set of guidelines for MISRA C++.

MISRA has evolved as a widely accepted model for best practices by leading developers in sectors including aerospace, telecom, medical devices, defense, railway, and others.[1][2][3]

Saludos
No contesto mensajes privados, las consultas en el foro

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Norma para Desarrollos de Software
« Respuesta #11 en: 27 de Septiembre de 2014, 10:46:20 »
He abierto un hilo más general sobre gestión de proyectos:

http://www.todopic.com.ar/foros/index.php?topic=43487.msg360271#msg360271

Saludos.


 

anything