Ensayo de Software
Ensayo de Software
Ensayo de Software
Tema:
Principios del software
Presentado por:
Maciel Cruz De la Cruz
Profesor:
Carlos Rafael Luna
demostrará si nuestro software, al enfrentarse a los fuertes vientos del cambio, está
Aquí te responderé a preguntas como: ¿Cuáles son los principios del software?
específicas que los programadores deben seguir durante el desarrollo si quieren escribir
un código limpio, comprensible y fácil de mantener. No hay una varita mágica por
en el código ideal, pero hay algunos consejos y sugerencias que pueden ayudar al
programador a determinar si está haciendo las cosas bien y tratar de evitar las
situaciones que a modo de ejemplo hemos narrado en el apartado anterior, y que seguro,
Principios S.O.L.I.D.
hacer que los diseños de software sean más comprensibles, flexibles y mantenibles. Los
diseño orientado a objetos, los principios SOLID también pueden formar una filosofía
adaptativo.
cohesión. Queremos aumentar la cohesión entre las cosas que cambian por las mismas
razones y disminuir el acoplamiento entre las cosas que cambian por diferentes razones.
Este principio trata sobre limitar el impacto de un cambio. Si existe más de una razón
para cambiar una clase, probablemente tenga más de una responsabilidad. Otro posible
testear y mantener. Es decir, hace que el código sea menos flexible. El proceso de
una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo
ejemplo, la resolución de una ecuación de segundo orden), este puede ser realizado por
«mediano» y «gran porte». Existen varias metodologías para estimarlo, una de las más
Considerando los de gran porte, es necesario realizar complejas tareas, tanto técnicas
como de gerencia, una fuerte gestión y análisis diversos (entre otras cosas), la
complejidad de ello ha llevado a que desarrolle una ingeniería específica para tratar su
creación del software de mediano y gran porte, ya que en caso contrario lo más seguro
es que el proyecto no logre concluir o termine sin cumplir los objetivos previstos, y con
variedad de fallos inaceptables (fracasan, en pocas palabras). Entre tales «procesos» los
desarrollar, a criterio del líder (si lo hay) del equipo de desarrollo. Algunos de esos
procesos son Programación Extrema (en inglés extreme Programming o XP), Proceso
FDD, XP, etc.), y casi independientemente de él, siempre se debe aplicar un «modelo de
28 % fracasan, un 46 % caen en severas modificaciones que lo retrasan y un 26 % son
totalmente exitosos.
Cuando un proyecto fracasa, rara vez es debido a fallas técnicas, la principal causa
desarrollo. Entre otras, una fuerte tendencia, desde hace pocas décadas, es mejorar las
gestión misma de los proyectos) son los ingenieros en software, es su orientación. Los
procesos ya elaborados.
Es común para el desarrollo de software de mediano porte que los equipos humanos
como sigue:
Diseño
Codificación
Mantenimiento
En las anteriores etapas pueden variar ligeramente sus nombres, o ser más globales, o
contrariamente, ser más refinadas; por ejemplo, indicar como una única fase (a los fines
«implementación» lo que está dicho como «codificación»; pero en rigor, todas existen e
progreso que estén diseñados para acomodarse a una evolución temporal o progresiva,
donde los requisitos centrales son conocidos de antemano, aunque no estén bien
requisitos bien conocidos y definidos desde el inicio. Los evolutivos son modelos
iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta
llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase de
operación.
y, según el modelo de proceso adoptado, puede casi terminar para pasar a la próxima
etapa (caso de Modelo Cascada Realimentado) o puede hacerse parcialmente para luego
Las bondades de las características, tanto del sistema o programa a desarrollar, como
bien lograda que esté esta etapa. Esta es, probablemente, la de mayor importancia y una
realice.
Involucra fuertemente al usuario o cliente del sistema, por tanto, tiene matices muy
subjetivos y es difícil de modelar con certeza o aplicar una técnica que sea «la más
cercana a la adecuada» (de hecho, no existe «la estrictamente adecuada»). Si bien se han
aplicarse conjuntamente buenos criterios y mucho sentido común por parte del o los
Como se dijo, la habilidad del analista para interactuar con el cliente es fundamental; lo
común es que el cliente tenga un objetivo general o problema que resolver, no conoce
en absoluto el área (informática), ni su jerga, ni siquiera sabe con precisión qué debería
operar. En otros casos menos frecuentes, el cliente «piensa» que sabe precisamente lo
El analista debe tener la capacidad para lidiar con este tipo de problemas, que
incluyen relaciones humanas; tiene que saber ponerse al nivel del usuario para permitir
cliente sabe con certeza e incluso con completitud lo que requiere de su futuro sistema,
El software requiere ser estudiado detenidamente ya que son muchos elementos que
computador.