You are on page 1of 29
ta la Educacion Superior rai: 5) FUNDAMENTOS DEL DISENO DE SOPTWERE. G Cristian Lopez Julio, 2019 Ck 25,250.60. Profesor: José Castillo Introduccion En el ambito de los proyectos de softwares siembre ha existide una constante preocupacién acerea del posible éxito de los mismes, y una de las inquietudes mas importantes de la ingenieria de software 98 el garantizar el éxito, La ingenieria de software apunta a proveer metodologias y técnicas que ayuden a desarrollay sistemas de software a tiempo, y a su vez, que aseguren que el desarrollador cumpla con las expectativas de calidad y permanezca dentro del presupuesto, FUNDAMENTOS DEL DISENO DE SOFTWARE. io es el primer paso de la fase de desarrollo de cualquier producto sistema de ingenieria. Definicién de diserie segdn Taylor “Proceso de aplicar distintas técnicas y principios con ell propésito de definir un dispositive, proceso o sistema con jos suficientes detalles como para permitir su FUNDAMENTOS DEL DISENO DE SOFTWARE. A disetio da software, al igual qua los métodos de disatto de todas las inganisrtas, camblan contimananta al apavecay muayos métodos, mejores andlisis y ampliay los corvaeiy 1 problama as qua al disavbo da » Wa 52 encueniva an una saya relativamente temprana an su evolucién, La idea de realizar disario da softs suygid a princi § aries 60, por lo qua a las matodvlogias ja profunedidadl y bilided qua tian al disaito an otras ingantavias, as cla disatbo da software para poder avaluar la calidad dal sofisava, jective dla este tema es presenter los concaptes fundamentales que sa pusden aplicay a todos los disetios de programas, Una vez que se han establechis los requisites del software, al disaie es la primera de tres actividades tonleas Diseiio, Codificacion y Prueba. FUNDAMENTOS DEL DISENO DE SOFTWARE. El disefio es técnicamente la parte central de la ingenierla del software, Durante el disefio se desarrollan, revisan y se documentan los refinamientos progresives de las estructuras de datos, de la estructuva del programa y de los detalles procedimentales. El disefio da como resultado representaciones cuya calidad puede ser evaluada, Mediante algunas metodologias de diseiio se realiza el disefio de datos, el disefio arquitecténico y al disefio procedimental. FUNDAMENTOS DEL DISENO DE SOFTWARE. « El disefio de datos: Transforma el modelo de campo de informacién, creado durante el andlisis, en las estructuras de datos que se van a requerir para implementar el software, « El disefio arquitecténico: Define las relaciones entre los principales elementos estructurales del programa, " El disetio procedimental: Transforma los elementos estructurales en una descripcién procedimental del software, FUNDAMENTOS DEL DISENO DE SOFTWARE. Los fundamentos del disefio ayudan a responder preguntas tales como: ° 2Que criterios puedo utilizar para dividir el software en componentes individuales? ° 3Cémo se separan los detalles de una funcién o de la estructura de los datos de la representacidn conce del software? © jExisten criterios uniformes que definam la calidad técnica de un disetio de software? DISENO ORIENTADO A OBJETO. El disefie orientade a objetos es la disciplina que define los objetos y sus interacciones para resolver un problema de negocio que fue identificado y documentado durante el andlisis orientade a objetos (AQO). Trasforma el modelo de andlisis qeado, usando andlisis orientado a objetos. La mayoria de los componentes de los sistemas, estén organizados en subsistemas los datos y operaciones que manipulan los datos se encapsulan en objetos. E] DOO debe describir la organizacién especifica de los datos, atributo y detalles de cada operacién. DISENO ORIENTADO A OBJETO. Un DOO 9 Disefio Orientado a objetus se define como Una arquitectura multicapa, OLa especificacién de subsistemas que realizan funciones y proveen soporte de infraestructuya, Una deseripeidn de objetos (Clases). Una deseripeién de los mecanismos de comunicacién, Se utilizan dos pasos para realizar ui DOO, * Disetio de sistema : Crea un arquitectura del producto definiendo una serie de capas, que cumplen funciones e identifica las clases encapsuladas, " Diserio de objetos: Se centra en los detalles internos de cada clase, dafinicién de atributos, Operaciones y detalles de los mensajes, © GARANTIAS DE CALIDAD DE SOFTWARE (S0A) Garantla de calidad del sofivare (SQA) consist en los medios de la supervisién tecnologia de dotacién légica los procesos y los métedos asaguraban calidad, Hace esto por medio de intervenciones de sistema de gerencia de la calidad debajo de cud! se craa ef sistema de software, Estas intervenciones son movides hacia atrés por unes o mas estindares, generalmente ISO 9000. GARANTIAS DE CALIDAD DE SOFTWARE (SQA) La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sindénimo de eficiencia, flexibilidad, correccién, —_confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad., La calidad del software es medible y varia de un sistema a otvo o de un programa a otro, La calidad del software es ef grado con ef que un sistema, component2 © proceso cumple los requerimientos especificados y las necesidades o axpectativas dal cliente o usuario, GARANTIAS DE CALIDAD DE SOFTWARE (SQA) oe " . " La SQA (Software Quality Assurance) engloba: Un enfoque de gestion de calidad . Tecnologia de Ingenieria de Software efectiva (métodos y herramientas). Revisiones técnicas formales que se aplican durante el proceso del software, Una estrategia de prueba multiescalada, Un control de la documentacién del software y de los cambios realizados Un procedimiento que aseguire un ajuste a los estindares de desarrollo de software. Mecanismos de medicién y de generacién de informes, GARANTIAS DE CALIDAD DE SOFTWARE (SQA) ES una actividad de proteccién, que se aplica a lo largo de todo ef proceso def software (Control de proceses), en definitive abarca todo ef desarrollo de software, andlisis, disetio, control de cddigo fuente, revisiones de cédiga etc... La garantia de la calidad del software (SQA) es UN pa de acciones planiticado y sistamdtico qua se requieren para asegurar la calidad del software, GARANTIAS DE CALIDAD DE SOFTWARE (SQA) ES una actividad de proteccién, que se aplica a lo largo de todo ef proceso def software (Control de proceses), en definitive abarca todo ef desarrollo de software, andlisis, disetio, control de cddigo fuente, revisiones de cédiga etc... La garantia de la calidad del software (SQA) es UN pa de acciones planiticado y sistamdtico qua se requieren para asegurar la calidad del software, TECNICAS DE PRUEBAS DE SOPTWARE Tipicamente encontraremes el comportamiento del sistema, subsistema © componente software descrito en especificaciones de requisitos 9@ casos de uso, aunque también puede no estar documentadol"que funcione como el sistema al que sustituye’), Es decix, con las funciones establecemas “lo que el sistema hace”. Estas pruebas se definen a partir de funciones 0 caracteristicas {como decimos, bien descritas en documentos 9 bien interpretadas por los probadores) y su interoperabilidad con sistemas especificos, pudiendo ejecutarse en todos los niveles de pruebas (componentes, integracién, sistema, etc). TECNICAS DE PRUEBAS DE SOPTWARE NIVELES DE PRUEBAS. » Pruebas de unidad, vacion, > Pruebas de unidad, La prueba de unidad es la primera fase de las pruebas dindmicas y se realizan sobre cada médulo del software de manera independienta, El objetivo es comprobar que el middulo, entendido como uma unidad) funcional, estd correctamente codificada, TECNICAS DE PRUEBAS DE SOPTWARE > Prusbas de integracién. Su objetivo es identificar erroras introducides por la combinacién de programas 0 componentes probades unitariamente, para asegurar que la comunicacion, enlaces y los datos compartides ocurran apropiadamente. Se disevian para desculwir erroves o completitud en las especificaciones de las interfaces. » Pruebas de sistema, Esta prueba tiene como objetivo vevrificar que se han integrado adecuadamente todos los elementos del sistema y que realizan las operaciones apropiadas funcionando come un todo, Es similar a la prueba de integracién pero con un aleance mucho mas amplio. TECNICAS DE PRUEBAS DE SOPTWARE > Pruebas de caja blanca Las pruebas de caja blanca (tambiém conocidas como pruebas de caja de cristal 9 pruebas estructurales) se centran en los detalles procedimentales del software, por lo que su disefio esta fuertemente ligado al codigo fuente, » Pruebas de caja negra Se denomina caja negra a aquel elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas 0 respuestas que produce, sin tener en cuenta su funcionamiente intemo, MANTENIMIENTO DE SOFTWARE. En ingenisria del software, el mantenimiento de software es la modificacién de un producto de software después de la entrega, para corregir ervores, mejorar el rendimiento, u otros atributos) El mantenimiento del software es una de las actividades mas comunes en la ingenierla de software, El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistermas (SDLC, sigla en inglés de system development life cycle), que se aplica al desarrollo de softwaye. La fase de mantenimiento es la fase que viene después del desplieque limplementacion) del software en el campo. MANTENIMIENTO DE SOFTWARE. A medida que pasa el tiempo, las aplicaciones de software deben ser sometidas a process de modificaciém que extiendan su vida util o mejoren sus caracteristicas, las aplicaciones pueden necesitar modificaciones por distintas razones, que determinan diferentes tipos de mantenimiento ya sea para una correccién de bugs, adaptacién a nuevos entomoes teenolégicos @ agregado de funcionalidad, esta actividad se repite periddicamente desde que empieza a utilizarse hasta su abandono definitive. Algunos de esos diferentes tipos de mantenimiento som Mantenimiento preventive, Mantenimiento predictive, Mantenimiento corrective, Mantenimianto adaptative, Mantenimiento evolutive, Mantenimiento perfectivo. eee " MANTENIMIENTO DE SOFTWARE. > Preventive El mantenimiento preventive de software es el proceso por el cual se mejora y optimiza el software que se ha instalado, este mantenimiento se realiza para la prevencién de posibles problemas que puedan llegar a surgir a medida que se utiliza el computador, > Predictive Evalda al flujo de ejecucién del programa para predeciv com certeza el momento en el que se producird la falla, y asi determinar cuando es adecuado realizar los ajustes cowespondientes, MANTENIMIENTO DE SOFTWARE. > Corrective, Corriga los defectos encontrades en el software, y que originan un comportamiento distinto al deseade. Estas fallas pueden ser de procesamiento, rendimiento (por ejemplo, uso ineficiente de los recursos de hardware), programacién linconsistencias en la ejecuciém), seguridad o estabilidad, entre otras, » Adaptativo. Si se requiere cambiar el entorne de uso de la aplicacién (que incluye al sistema operativo, a la plataforma de hardware 9, en el caso de las aplicaciones web, al navegador), puede ser indispensable modificarla para mantener su plena funcionalidad en estas nuevas condiciones, MANTENIMIENTO DE SOFTWARE. > Evolutive. Es un caso especial donde la adaptacién resulta practicamente obligatoria, ya que de lo contrario el programa quedayla obsolete con el paso del tiempo. Por ejemplo, el cambio de versién en un navegador (muchas veces impuesto sin el consentimiento del usuario) suele obligar a realizar ajustes en plugins y aplicaciones wela, > Perfactive, Por distintas razones, el usuario puede solicitar el agragado de nuevas funcionalidades o caracteristicas no contempladas al momento de la implementacién del software. El mantenimiento perfective adapta la aplicacién a este requerimiento. &f permanente mantenimiento del software puede asegurar su funcionalidad durante muchos atios, ahorrando ef tempo y ef costo econdmico de una migracién total hacky una nueva aplicacion, METODOS DEL ANALISIS DE REQUERINIENTOS. Su objetivo as encontrar que tiene que hacer el sistema y no como debe hacerlo, El objeto del andlisis de requerimiento es definir y priovizar las necesidades del negocio, Requerimiento Los requerimientos especifican que es lo que el sistema debe hacer {sus funciones) y sus propiedades esenciales y deseables. Los requerimientos son declaraciones que identifican atributos, capacidades, caracteristicas y/o cualidades que necesita cumplir un sistema fo un sistema de software) para que tenga valor y utilidad para el usuario, En otras palabras, los requerimientos muestran qué elementos y funciones son necesarlas para un proyecto, METODOS DEL ANALISIS DE REQUERINIENTOS. Es el conjunto de técnicas y procedimientos que nos permiten conocer los elementos necesarios para definir un proyecto de software, Es una tarea de ingenieria del software que permite especificar las caracteristicas operacionales del software, indicar la interfaz del software con otros elementos del sistema y establecer las restrieciones que debe cumplir el software. La especificacién de requerimientos suministra al téenico y al cliente, los madios para valorar el cumplimiento de resultados, procedimientos y datos, una vez que se haya construido. La tarea de andlisis de los requerimientos es un proceso de descubrimiento y refinamiento, el cliente y el desarvollador tienen un papel active en la ingenierfa de requerimientos de software, Conclusion La importancia de la ingenieria de software esté en fomentar un enfoque sistemético para el desarrollo, la implementacién y el mantenimiento del software a través del ciclo de la vida del sistema de software. Es muy diferente escribir programas pequeiios y eficientes que desarvollar sistemas de software, El disefio del Software tiene um impacto directo sobre la capacidad del sistema para cumplir 0 no el total de requerimientos establecidos. Un error de diseiio en esta fase puede acarrear problemas en todo el proyecto y provocay que este caiga en una espiral de continuos cambios y de rehacer constantemente el trabajo, Bibliografia mo tps://emapsaublic hes ida LOSKSYIH-OCYG-SEBN /FundamantowDlsena pdt Tipo: Pagina Wab SlidaSinars) Links tips /esslidudhara nat/PomaldFlamadFde fundamantos-de-disso-de-soltara Sushar: Cartsco Flames Ronald Foca : Abril, 2013, Bisatio orientado a obtata Tipo: Pagina Wab (Wapedia) rajaltd/DiseiSC3iB 19 orbantade.a obidins iitp//exlideshans. t/ Ronald Alanvesde/iundamantos-ds-disse-de-softiwvars Pustor: Carico Flames Ronald Fadia : Alsrll, 2018 Tipo: Booumante POF Links Niipx/jvescuemagistereon/uplvads_ coursex/Comunidad Emaylster 63082 S82pdl Bibliografia ina Web Blog: ; pier ssosegspot com N0 igre cltdad da accra. 13d jal Vargas :Cctubra, 2010 Tipo: Pagina ‘Wob (WordPread) Unite hnttps:/roboltaman.wondor Autor: Robart L Fadia: Bare, 2011 omnia) sarmitseds-calidad cbs coftaare/ “nisaa Flamas Ronald Abi, 2013 Tipa Pagina Web Glidanav3) Links Littps://es ld eshane.not/outalinacondave Aunidad 10 tucnieas-de-prucbachatior: Oltuar jada Fedia: Enso, 2015 /istownscional3s ovarblog.com/arilds-mantonbniwrta-—ray Seton Injormaclonald ot Pagina Hab Sld-tnars) /jasdidasravanat/ladharsaatundamanios 7 mmatodes Aa analtals da xequarivalanios aloe ‘eanara Lad

You might also like