Enxeñaría de software: Diferenzas entre revisións

Contido eliminado Contido engadido
VolkovBot (conversa | contribucións)
m r2.7.2) (Bot: Engado: ku:Endezyariya nivîsbariyê
Tfeliz (conversa | contribucións)
m pequenos erros
Liña 4:
Actualmente, estas [[tecnoloxía]]s e prácticas engloban [[linguaxe de programación|linguaxes de programación]], [[bases de dados]], ferramentas, [[plataforma]]s, [[biblioteca]]s, [[patróns]] e procesos.
 
Os fundamentos científicos para a enxeñaría de software comprenden o uso de modelos abstractos e precisos que permiten ao enxeñeiro especificar, proxectar, implementar e manter sistemas de software, avaliando e garantindo as súas calidades. Ademais disto, a enxeñaría de software debe ofrecer mecanismos para se planexarplanificar e xestionar o proceso de desenvolvemento.
 
A Enxeñaría do Software está composta por tres elementos:
Liña 20:
== Definición ==
 
Segundo [[Fritz Bauer]], "Enxeñaría de software é a creación e a utilización de sólidos principios de enxeñaría a fin de obter software de maneira económica, que sexa confiable e que traballe eficientemente en máquinas reais". O propio significado de [[enxeñaría]] xa traitrae os conceptos de creación, construción, análise, desenvolvemento e mantemento.
 
A '''enxeñaría de software''' concéntrase nos aspectos prácticos da produción dun sistema de ''software'', mentres que a [[ciencia da computación]] estuda os fundamentos teóricos dos aspectos computacionais.
Liña 26:
A [[enxeñaría de sistemas]] é unha área máis ampla por tratar de todos os aspectos de sistemas baseados en [[computador]]es, incluíndo ''hardware'' e enxeñaría de procesos ademais do ''software''.
 
Dito de outro modo, a Enxeñaría do Software trata sistematicamente toda-lastódalas fases do [[ciclo de vida]] do software.
 
== Produción de software ==
Liña 37:
* '''Evolutivo''' - especificación, proxecto e desenvolvemento son entrelazados.
* '''En espiral''' - evolución a través de varios ciclos completos de especificación, proxecto e desenvolvemento.
* '''Componentizado''' - reusoreúso a través de montaxe de [[compoñente software|compoñentes]] xa existentes.
* '''Formal''' - implementación a partir de modelo matemático formal.
* '''[[RAD]]'''
Liña 56:
A [[xestión de proxectos]] preocupase en entregar o sistema de ''software'' no prazo e de acordo cos requisitos establecidos, levando en conta sempre as limitacións de orzamento e tempo.
 
A xestión de proxectos de software caracterizase por tratar sobre un produto intanxible, moi flexible e cun proceso de desenvolvimentodesenvolvemento con baixa padronización.
 
=== PlanexamentoPlanificación ===
 
OA planexamentoplanificación dun proxecto de desenvolvemento de ''software'' inclúe:
 
* organización do proxecto (incluíndo equipos e responsabilidades).
Liña 69:
Esas actividades sofren as dificultades típicas de desenvolvemento de ''software''. A produtividade non é linear en relación ao tamaño da equipe e o aumento de produtividade non é inmediato debido á custos de aprendizaxe de novos membros. A diminución de calidade para acelerar o desenvolvemento constantemente prexudica a produtividade futura.
 
A estimativa de dificultades e custos de desenvolvementos son moi difíciles, alén doda surximentoaparición de problemas técnicos. Eses factores conseguen unha análise de riscos coidadosa.
 
=== Análise ===
Liña 80:
* de usuario ou de sistema
 
É común que o cliente non saber o que el realmente desexa, que haxa problemas na comunicación e aínda que haxa mudanza constante de requisitos. Todos eses factores son recrudecidosagravados pola intanxibilidade sobre característicos de sistemas de ''software'', principalmente sobre o custo de cada requisito.
 
=== Modelado ===
Liña 111:
=== Ferramentas ===
 
Outro punto importante é o uso de ferramentas '''CASE''' (do inglés ''Computer-Aided Software Engineering''). Esa clasificación abranxeabrangue toda ferramenta baseada en computadores que auxilian actividades de enxeñaría de ''software'', desde de análise de requisitos e Modelado ata programación e testes.
 
Os [[Ambiente de Desenvolvemento Integrado|ambientes de desenvolvemento integrado]] ('''IDEs''') teñen maior destaque e soportan: