jueves, 29 de enero de 2009

Metodo De Desarrollo De Sistemas Electronicos (Relacion con el Metodo Cientifico y La Metodologia del Diseno de Software)

Al necesitar desarrollar un sistema electronico cualquiera, podemos relacionar los pasos del Metodo Cientifico y la Metodologia del Diseno de Software para su creacion, ya que estos pueden ser aplicables y compatibles, ademas no existe una metodologia exacta para el desarrollo de un sistema electronico.


Comparacion


Metodo Cientifico Metodologia del diseno de Software
  • Observacion = Analisis del problema
  • Induccion = Analisis del problema
  • Hipotesis = Diseno Preliminar-Programacion - Implementacion
  • Verificacion
  • Refutacion o Aceptacion = Prueba
  • Teoria

Veamos un ejemplo para relacionar el desarrollo de un Sistema Electronico con estos pasos:



  • Observacion - Induccion (Analisis del problema)

Por ejemplo necesitamos que en un cuarto de maquinas se instale un abanico extractor de aire, para esto observamos las diferentes posibilidades, analisamos el problema que en este caso seria la acumulacion de calor en el cuarto.

  • Hipotesis (Diseno Preliminar-Programacion-Implementacion)

En este paso creamos una lluvia de ideas para encontrar la mejor solucion al problema (un circuito), comenzamos a disenar diferentes sistemas, en este caso utilizaremos un circuito astable con un temporizador 555, que tendra por entrada un termistor, y a la salida del 555 un relay que activara el abanico extractor. Al referirnos a astable quiere decir que durara apagado cierto tiempo y despues al detectar un pulso de entrada se encendera, el pulso de entrada lo dara un dispositivo detector de temperatura, para esto utilizaremos un termistor (resistencia que al calentarse puede dar un pulso positivo o negativo, dependiendo del dispositivo). El circuito debe funcionar de la sig. manera, cuando el termsitor se caliente activara el temporizador por un tiempo (este puede escogerse de acuerdo a lo necesario), el temporizador mandara la senal que activara al relay y este a su vez hara que el abanico se encienda, al transcurrir el tiempo programado en el temporizador este dejara de funcionar y apagara todo el sistema, volviendose a encender asta que el termistor vuelva a detectar otra variacion de calor. Aqui nosotros desarrollamos nuestra teoria de como "supuestamente" debe funcionar este prototipo. Aqui aplicamos todos los pasos, disenamos un circuito, lo programamos y despues lo implementamos. Aqui podemos destacar las partes por las que se compone nuestro circuito mediante este diagrama

  • Verificacion

En este paso Examinamos de nuevo que todo lo planteado en la hipotesis (en este caso el circuito) contenga todos los datos necesarios para su funcionamiento, es decir se hace una revision del circuito.

  • Refutacion o Aceptacion (Prueba)

En este paso simplemente ponemos en marcha el circuito comprobando su correcto o incorrecto funcionamiento de acuerdo a las variables establecidas (tiempo, temperatura, voltaje, etc.), si el circuito funciona correctamente es Acepta y puesto en marcha, mas sin embargo es todo lo contrario, es decir, incorrecto se hace una retroalimentacion hasta la hipotesis, para ubicar posibles errores en nuestro sistemas, o si es necesario cambiar nuestra hipotesis o mejor dicho todo nuestro circuito por otro mas util.

  • Teoria

Aqui simplemente se afirma lo que supusimos en nuestra Hipotesis, el correcto funcionamiento de nuestro sistema o circuito desarrollado teniendo asi por finalizado nuestro objetivo y solucionado nuestro problema.





lunes, 26 de enero de 2009

El metodo cientifico y la Metodologia del diseno de Software

Cuadro Sinoptico comparando metodo cientifico y metodologia del diseno de software




Método científico

Observación, es aplicar atentamente los sentidos en un objeto,


Inducción, efecto de extraer, a partir de determinadas observaciones o experiencias particulares.


Hipótesis, Planteamiento mediante la observación siguiendo las normas establecidas por el método científico.


Verificación, solo se examina si es correcto o no el experimento.


Refutación o aceptación, si la verificación fue aceptada el experimento término si no se realiza una retroalimentación hasta continuar con la hipótesis.


Metodología del diseño de software

Análisis del problema Es una similitud entre observación e inducción porque en el se plantea el problema y para ello tuvo que ver una observación previa.


Diseño preeliminar-Programación-Implementación es un anteproyecto el cual puede ser considerada como hipótesis por que a partir de ella se lleva acabo la experimentación.


Prueba si es aceptada el experimento termina que es muy similar a la refutación yo aceptación.




Etapas del proceso

La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes:Análisis de requisitosMientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales.

Especificación, Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa.

Diseño y arquitectura, Se refiere a determinar como funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.

Programación, Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.

Prueba Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo.Hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas.
Documentación, Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

Mantenimiento, Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento.

Metodología (ingeniería de software)

La rama de la metodología, dentro de la ingeniería de software, se encarga de elaborar estrategias de desarrollo de software que promuevan prácticas adoptativas en vez de predictivas; centradas en las personas o los equipos, orientadas hacia la funcionalidad y la entrega, de comunicación intensiva y que requieren implicación directa del cliente.
Método científico

El método científico está sustentado por dos pilares fundamentales. El primero de ellos es la reproducibilidad, es decir, la capacidad de repetir un determinado experimento en cualquier lugar y por cualquier persona. El segundo pilar es la falsabilidad. Es decir, que toda proposición científica tiene que ser susceptible de ser falsada (falsacionismo). Esto implica que se pueden diseñar experimentos que en el caso de dar resultados distintos a los predichos negarían la hipótesis puesta a prueba.Según James B. Conant no existe un método científico. El científico usa métodos definitorios, métodos clasificatorios, métodos estadísticos, métodos hipotético-deductivos, procedimientos de medición, etcétera. Según esto, referirse al método científico es referirse a este conjunto de tácticas empleadas para constituir el conocimiento, sujetas al devenir histórico, y que pueden ser otras en el futuro. Ello nos conduce tratar de sistematizar las distintas ramas dentro del campo del método científico.

Francis Bacon definió el método científico de la siguiente manera:


1. Observación: Observar es aplicar atentamente los sentidos a un objeto o a un fenómeno, para estudiarlos tal como se presentan en realidad.


2. Inducción: La acción y efecto de extraer, a partir de determinadas observaciones o experiencias particulares, el principio particular de cada una de ellas.


3. Hipótesis: Planteamiento mediante la observación siguiendo las normas establecidas por el método científico.


4. Probar la hipótesis por experimentación.

5. Demostración o refutación (antítesis) de la hipótesis.6. Tesis o teoría científica (conclusiones).

Fuente: Luis Miguel Salazar Burgos (http://apuntessig01a31.blogspot.com/)

viernes, 23 de enero de 2009

El Software Propietario

Espezaremos este blog con una valiosa informacion acerca del software de tipo propietario, empezemos explicando del porque es una buena opcion tomar como opcion este tipo de software, muchos de nostros creemos que no vale la pena pagar por un software, pero en realidad es algo muy necesario dejando fuera las supuestas desventajas que tambien nos ofrece.
Un software propietario tiene la capacidad de brindarte todo el soporte tecnico que necesites, ya que al adquirirlo tenemos la seguridad que nos ofrece la compañia productora, aunque en ocasiones no es neceario puesto que este tipo de software por lo comun es muy facil de utilizar y en caso de dudas tienes quien te apoye con informacion, ya sea mediante paginas de internet, o ayuda mediante lineas telefonicas, etc.
En realidad al comprar un software de tipo propietario no debe considerarse un gran gasto, puesto que es cuestion solo de observar todo lo que nos ofrece, un mejor acabado en las aplicaciones, algunas aplicaciones exclusivas, el soporte de todo tipo de hardware, y lo mas interesante es el saber que se esta adquiriendo un producto de alta calidad y sobre todo muy especializado, y no un supuesto software creado por una comunidad el cual en ocasiones no encuentras quien te de soporte tecnico puesto que son contadas las personas que lo saben manejar.. Sin duda alguna la mejor opcion ante todas.

lunes, 19 de enero de 2009

Bienvenida

Hola a todos sean bienvenidos, espero que esta informacion que publique sea de total importancia para ustedes.