Software Engineering: Principles and PracticeDeveloping software today often involves working on programs that are very large, as a member of a team that will most likely collaborate with other individuals in other disciplines and other teams, and which may interact over several years. Learning the principles and practice of software engineering is as much about understanding this context as it is about specific tools and techniques. Software Engineering: Principles and Practice reaches beyond a superficial survey of the discipline, offering the opportunity to weigh up decisions that have to be made in practice. The book has been updated to cover the latest developments such as UML and Software Architecture. Van Vliet informs his reader from a wealth of resources and draws out several important themes: * that everthing changes and that change is an essential feature of the field * that human and social aspects are central even in topic areas that sound technical * that one cannot limit discussion to todays well-established practices but must always look ahead * that we can learn valuable lessons from the short history of this subject on why techniques or technologies didn't work and why there are no silver bullets Written for use on a wide variety of software engineering courses and modules, the book is also for people actively involved in software development and maintenance - programmers, analysts, project managers - who want to keep abreast of the problems incurred by large-scale software development, and what solutions have been proposed. Web support includes: · Instructors Manual · Examples · Interactive Projects · Hypertext and CASE Tools · Links to related Web resources |
Common terms and phrases
abstract data types abstraction activities algorithmic analysis application architectural style aspects assess automation Capability Maturity Model change requests chapter chief programmer COCOMO complexity components configuration items configuration management coordination mechanisms cost drivers cost estimation models cycle database decomposition denote depicted described diagram document effort entities environment example Figure Gantt chart goals hierarchical identified IEEE implementation incremental input interface involved language lines of code maintenance man-months management style measure ment metrics module needed nodes object-oriented objects organization output phase possible problem procedures process model project plan prototyping quality assurance quality factors relation requirements engineering requirements specification result reusable reuse risks schedule software architecture software development process software development project software engineering software factory software product software quality software system spiral model standard structure SWAT team tasks team members techniques testing tion user requirements various waterfall model