{"id":437,"date":"2013-02-10T07:34:43","date_gmt":"2013-02-10T06:34:43","guid":{"rendered":"http:\/\/proyectosguerrilla.com\/blog\/?p=437"},"modified":"2013-05-14T19:31:37","modified_gmt":"2013-05-14T17:31:37","slug":"las-cinco-etapas-en-la-ingenieria-del-software","status":"publish","type":"post","link":"http:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/","title":{"rendered":"Las cinco etapas de ingenier\u00eda del software"},"content":{"rendered":"<h2>\u00bf Es necesaria la ingenier\u00eda del software ?<\/h2>\n<p><a href=\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-443 alignright\" title=\"Memoria de ferrita : Emblema de la Ingenieria inform\u00e1tica\" alt=\"Ingenieria del software\" src=\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?resize=129%2C120\" width=\"129\" height=\"120\" \/><\/a><br \/>\nDesafortunadamente he visto muchos proyectos de software fallar estrepitosamente por no seguir ninguna metodolog\u00eda. Con muy buenas intenciones se empieza r\u00e1pidamente a construir con s\u00f3lo una idea aproximada de lo que se quiere desarrollar y con un plan a\u00fan m\u00e1s impreciso de c\u00f3mo hacerlo. Aplicar las etapas de la ingenier\u00eda del software acostumbra ser una buena idea que te permite estructurar el producto y enfocar su construcci\u00f3n con \u00e9xito.<\/p>\n<blockquote><p>La <em><strong>ingenier\u00eda del software<\/strong><\/em> es el proceso formal de desarrollo de software en el que las necesidades del usuario se traducen en requerimientos, estos se transforman en dise\u00f1o que se implementa en c\u00f3digo que se prueba, documenta y se certifica para su uso operativo. Seg\u00fan la definici\u00f3n del IEEE la ingenier\u00eda del software se define como \u00ab(1) la aplicaci\u00f3n de un m\u00e9todo sistem\u00e1tico, disciplinado y cuantificable al desarrollo, operaci\u00f3n y mantenimiento de software, esto es, la aplicaci\u00f3n de la ingenier\u00eda al software\u00bb y \u00ab(2) el estudio de los m\u00e9todos de (1)\u00bb<\/p><\/blockquote>\n<p>El proceso requiere una metodolog\u00eda con 5 etapas:<\/p>\n<ol>\n<li><em><strong>\u00a0An\u00e1lisis de requerimientos<\/strong><\/em>: Se extraen los requisitos del producto de software. En esta etapa la habilidad y experiencia en la ingenier\u00eda del software es cr\u00edtica para reconocer requisitos incompletos, ambiguos o contradictorios. Usualmente el cliente\/usuario tiene una visi\u00f3n incompleta\/inexacta de lo que necesita y es necesario ayudarle para obtener la visi\u00f3n completa de los requerimientos.\u00a0 El contenido de comunicaci\u00f3n en esta etapa es muy intenso ya que el objetivo es eliminar la ambig\u00fcedad en la medida de lo posible.<\/li>\n<li><strong><em>Especificaci\u00f3n<\/em><\/strong>: Es la tarea de describir detalladamente el software a ser escrito, de una forma rigurosa. Se describe el comportamiento esperado del software y su interacci\u00f3n con los usuarios y\/o otros sistemas.<\/li>\n<li><strong><em>Dise\u00f1o y arquitectura<\/em><\/strong>: Determinar como funcionar\u00e1 de forma general sin entrar en detalles incorporando consideraciones de la implementaci\u00f3n tecnol\u00f3gica, como el hardware, la red, etc.\u00a0 Consiste en el dise\u00f1o de los componentes del sistema que dan respuesta a las funcionalidades descritas en la segunda etapa tambi\u00e9n conocidas como las <em>entidades de negocio<\/em>. Generalmente se realiza en base a diagramas que permitan describir las interacciones entre las entidades y su secuenciado.<\/li>\n<li><em><strong>Programaci\u00f3n<\/strong><\/em>: Se traduce el dise\u00f1o a c\u00f3digo. Es la parte m\u00e1s obvia del trabajo de ingenier\u00eda de software y la primera en que se obtienen resultados \u00abtangibles\u00bb. No necesariamente es la etapa m\u00e1s larga ni la m\u00e1s compleja aunque una especificaci\u00f3n o dise\u00f1o incompletos\/ambiguos pueden exigir que, tareas propias de las etapas anteriores se tengan que realizarse en esta.<\/li>\n<li><em><strong>Prueba<\/strong><\/em>: Consiste en comprobar que el software responda\/realice correctamente las tareas indicadas en la especificaci\u00f3n. Es una buena praxis realizar pruebas a distintos niveles (por ejemplo primero a nivel unitario y despu\u00e9s de forma integrada de cada componente) y por equipos diferenciados del de desarrollo (pruebas cruzadas entre los programadores o realizadas por un \u00e1rea de test independiente).<\/li>\n<li><em><strong>Documentaci\u00f3n<\/strong><\/em>: Realizaci\u00f3n del manual de usuario, y posiblemente un manual t\u00e9cnico con el prop\u00f3sito de mantenimiento futuro y ampliaciones al sistema. Las tareas de esta etapa se inician ya en el primera fase pero s\u00f3lo finalizan una vez terminadas las pruebas.<\/li>\n<li><em><strong> Mantenimiento<\/strong><\/em>: En esta etapa se realizan un mantenimiento correctivo (resolver errores) y un mantenimiento evolutivo (mejorar la funcionalidades y\/o dar respuesta a nuevos requisitos).<\/li>\n<\/ol>\n<p>Los m\u00e1s atentos\u00a0hab\u00e9is\u00a0contado 7 en lugar de 5. No es un error. La sexta etapa, documentar, se tiene que llevar a cabo absolutamente en todas y aunque no es una etapa propiamente dicha pero es tan importante que debe ser mencionada expl\u00edcitamente.<\/p>\n<p>Por \u00faltimo la etapa del mantenimiento, sobretodo para ampliar el sistema con nuevas funciones, debe tener las \u00absub-etapas\u00bb 1 a 5 si se quiere abordar con garant\u00edas.<\/p>\n<p>\u00bf Qu\u00e9 opinas ? \u00bf Es posible desarrollar con garant\u00edas sin seguir estas etapas ?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bf Es necesaria la ingenier\u00eda del software ? Desafortunadamente he visto muchos proyectos de software fallar estrepitosamente por no seguir ninguna metodolog\u00eda. Con muy buenas intenciones se empieza r\u00e1pidamente a construir con s\u00f3lo una idea aproximada de lo que se quiere desarrollar y con un plan a\u00fan m\u00e1s impreciso de c\u00f3mo hacerlo. Aplicar las etapas [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[15],"tags":[],"class_list":["post-437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ingenieria-del-software"],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla<\/title>\n<meta name=\"description\" content=\"Ingenier\u00eda del software\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla\" \/>\n<meta property=\"og:description\" content=\"Ingenier\u00eda del software\" \/>\n<meta property=\"og:url\" content=\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/\" \/>\n<meta property=\"og:site_name\" content=\"Proyectos de Guerrilla\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-10T06:34:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-05-14T17:31:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"207\" \/>\n\t<meta property=\"og:image:height\" content=\"192\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Xavi\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xavi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/\",\"url\":\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/\",\"name\":\"Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla\",\"isPartOf\":{\"@id\":\"http:\/\/proyectosguerrilla.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192\",\"datePublished\":\"2013-02-10T06:34:43+00:00\",\"dateModified\":\"2013-05-14T17:31:37+00:00\",\"author\":{\"@id\":\"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/f97cefacd8c34bb1b40ffc72a8ef0127\"},\"description\":\"Ingenier\u00eda del software\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192\",\"contentUrl\":\"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192\",\"width\":207,\"height\":192},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/proyectosguerrilla.com\/blog\/#website\",\"url\":\"http:\/\/proyectosguerrilla.com\/blog\/\",\"name\":\"Proyectos de Guerrilla\",\"description\":\"sobre sistemas, operaciones y la cadena de suministro...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/proyectosguerrilla.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/f97cefacd8c34bb1b40ffc72a8ef0127\",\"name\":\"Xavi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6bbefba5612b0cc0d82ccfc0fd77da9171a0be226e3eeb7907d368421d47b58f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6bbefba5612b0cc0d82ccfc0fd77da9171a0be226e3eeb7907d368421d47b58f?s=96&d=mm&r=g\",\"caption\":\"Xavi\"},\"description\":\"Apasionado por las nuevas tecnolog\u00edas y la optimizaci\u00f3n. Poniendo mi granito de arena para mejorar como funciona el mundo.\",\"sameAs\":[\"https:\/\/x.com\/bigboss314\"],\"url\":\"http:\/\/proyectosguerrilla.com\/blog\/author\/xavi\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla","description":"Ingenier\u00eda del software","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/","og_locale":"es_ES","og_type":"article","og_title":"Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla","og_description":"Ingenier\u00eda del software","og_url":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/","og_site_name":"Proyectos de Guerrilla","article_published_time":"2013-02-10T06:34:43+00:00","article_modified_time":"2013-05-14T17:31:37+00:00","og_image":[{"width":207,"height":192,"url":"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192&ssl=1","type":"image\/gif"}],"author":"Xavi","twitter_misc":{"Escrito por":"Xavi","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/","url":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/","name":"Las cinco etapas de ingenier\u00eda del software - Proyectos de Guerrilla","isPartOf":{"@id":"http:\/\/proyectosguerrilla.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage"},"image":{"@id":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192","datePublished":"2013-02-10T06:34:43+00:00","dateModified":"2013-05-14T17:31:37+00:00","author":{"@id":"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/f97cefacd8c34bb1b40ffc72a8ef0127"},"description":"Ingenier\u00eda del software","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/proyectosguerrilla.com\/blog\/2013\/02\/las-cinco-etapas-en-la-ingenieria-del-software\/#primaryimage","url":"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192","contentUrl":"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192","width":207,"height":192},{"@type":"WebSite","@id":"http:\/\/proyectosguerrilla.com\/blog\/#website","url":"http:\/\/proyectosguerrilla.com\/blog\/","name":"Proyectos de Guerrilla","description":"sobre sistemas, operaciones y la cadena de suministro...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/proyectosguerrilla.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/f97cefacd8c34bb1b40ffc72a8ef0127","name":"Xavi","image":{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/proyectosguerrilla.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6bbefba5612b0cc0d82ccfc0fd77da9171a0be226e3eeb7907d368421d47b58f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6bbefba5612b0cc0d82ccfc0fd77da9171a0be226e3eeb7907d368421d47b58f?s=96&d=mm&r=g","caption":"Xavi"},"description":"Apasionado por las nuevas tecnolog\u00edas y la optimizaci\u00f3n. Poniendo mi granito de arena para mejorar como funciona el mundo.","sameAs":["https:\/\/x.com\/bigboss314"],"url":"http:\/\/proyectosguerrilla.com\/blog\/author\/xavi\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/proyectosguerrilla.com\/blog\/wp-content\/uploads\/2013\/03\/EscIngInf.gif?fit=207%2C192","jetpack_shortlink":"https:\/\/wp.me\/p2P1Bl-73","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/posts\/437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/comments?post=437"}],"version-history":[{"count":28,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/posts\/437\/revisions"}],"predecessor-version":[{"id":454,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/posts\/437\/revisions\/454"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/media\/443"}],"wp:attachment":[{"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/media?parent=437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/categories?post=437"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/proyectosguerrilla.com\/blog\/wp-json\/wp\/v2\/tags?post=437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}