UNIVERSIDAD AMAZONICA DE PANDO AREA DE CIENCIAS Y TECNOLOGIA Programa de Ing. De Sistemas. Courseware materials are to be used in conjunction with Software Engineering: A Practitioner's Approach. Software must be adapted to meet the needs of new computing environments or technology.
UNIVERSIDAD AMAZONICA DE PANDO AREA DE CIENCIAS Y TECNOLOGIA Programa de Ing. De Sistemas. Courseware materials are to be used in conjunction with Software Engineering: A Practitioner's Approach. Software must be adapted to meet the needs of new computing environments or technology.
UNIVERSIDAD AMAZONICA DE PANDO AREA DE CIENCIAS Y TECNOLOGIA Programa de Ing. De Sistemas. Courseware materials are to be used in conjunction with Software Engineering: A Practitioner's Approach. Software must be adapted to meet the needs of new computing environments or technology.
1 Software Engineering: A Practitioners Approach, 6/e
Chapter 1 Software and Software Engineering
copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.
2 Softwares Dual Role Software is a product Delivers computing potential Produces, manages, acquires, modifies, displays, or transmits information Software is a vehicle for delivering a product Supports or directly provides system functionality Controls other programs (e.g., an operating system) Effects communications (e.g., networking software) Helps build other software (e.g., software tools) 3 What is Software? 4
Software is a set of items or objects that form a configuration that includes programs documents data ... What is Software? software is engineered software doesnt wear out software is complex 5 Wear vs. Deterioration These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 6 Software Applications system software application software engineering/scientific software embedded software product-line software WebApps (Web applications) AI software 7 SoftwareNew Categories Ubiquitous computingwireless networks Netsourcingthe Web as a computing engine Open sourcefree source code open to the computing community (a blessing, but also a potential curse!) Also (see Chapter 32) Data mining Grid computing Cognitive machines Software for nanotechnologies These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 8 Legacy Software software must be adapted to meet the needs of new computing environments or technology. software must be enhanced to implement new business requirements. software must be extended to make it interoperable with other more modern systems or databases. software must be re-architected to make it viable within a network environment. 9 Why must it change? Software Evolution Ley del cambio continuo (1974): Los sistemas de tipo electrnico deben adaptarse en forma continua, de lo contrario se volveran menos satisfactorios a travs del tiempo. Ley de complejidad creciente (1974): Cuando un sistemade tipo electronico est en evolucin, su complejidad se incrementa a menos que se realice el trabajo necesario para mantenerla o reducirla. La ley de la autoregulacin (1974): El proceso de evolucion de un sistema de tipo electrnico se autoregula con la distribucin del producto y las mediciones del proceso cercanas a la normal. La ley de la conservacin de la escalabilidad organizacional (1980): La tasa de actividad global efectiva promedio en un sistema de tipo electrnico en evolucin, no vara a lo largo del perodo de vida del producto.
10 Software Evolution La ley de la conservacin de la familiaridad (1980): Cuando un sistema de tipo electrnico est en evolucin y se quiere un desarrollo satosfactorio, todos los involucrados con el sistema, como los desarrolladores, el personal de ventas y los usuarios, deben mantener el dominio sobre su contenido y comportamiento. El crecimiento excesivo disminuye ese dominio. Ley del crecimiento contnuo (1980): El contenido funcional de los sistemas de tipo electrnico debe incremetarse en forma contnua para mantener la satisfaccin del usuario a lo largo del perodo de vida del sistema. Ley de la calidad decreciente(1996): La calidad de los sistemas de tipo electrnico debe incrementarse en forma contnua para mantener la satisfaccin del usuario a lo largo del perodo de vida del sistema. Ley del sistema de retroalimentacin (1996): Los procesos de evolucin de los sistemas de tipo electrnico constituyen sistemas de retroalimentacin con niveles ciclos y agentes multiples y deben tratarse de forma que se obtengan mejoras significativas sobre cualquier base razonable.
11 Software Myths Affect managers, customers and practitioners Are believable because they often have elements of truth, but Invariably lead to bad decisions, therefore Insist on reality as you navigate your way through software engineering 12