Software Engineering A PRACTITIONER’S APPROACH phần 4 pdf

89 413 0
Software Engineering A PRACTITIONER’S APPROACH phần 4 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PART TWO MANAGING SOFTWARE PROJECTS 240 9.4. Design a project database system that would enable a software engineer to store, cross reference, trace, update, change, and so forth all important software con- figuration items. How would the database handle different versions of the same pro- gram? Would source code be handled differently than documentation? How will two developers be precluded from making different changes to the same SCI at the same time? 9.5. Do some research on object-oriented databases and write a paper that describes how they can be used in the context of SCM. 9.6. Use an E-R model (Chapter 12) to describe the interrelationships among the SCIs (objects) listed in Section 9.1.2. 9.7. Research an existing SCM tool and describe how it implements control for ver- sions, variants, and configuration objects in general. 9.8. The relations <part-of> and <interrelated> represent simple relationships between configuration objects. Describe five additional relationships that might be useful in the context of a project database. 9.9. Research an existing SCM tool and describe how it implements the mechanics of version control. Alternatively, read two or three of the papers on SCM and describe the different data structures and referencing mechanisms that are used for version control. 9.10. Using Figure 9.5 as a guide, develop an even more detailed work breakdown for change control. Describe the role of the CCA and suggest formats for the change request, the change report, and the ECO. 9.11. Develop a checklist for use during configuration audits. 9.12. What is the difference between an SCM audit and a formal technical review? Can their function be folded into one review? What are the pros and cons? FURTHER READINGS AND INFORMATION SOURCES One of the few books that have been written about SCM in recent years is by Brown, et al. (AntiPatterns and Patterns in Software Configuration Management, Wiley, 1999). The authors discuss the things not to do (antipatterns) when implementing an SCM process and then consider their remedies. Lyon (Practical CM: Best Configuration Management Practices for the 21st Century, Raven Publishing, 1999) and Mikkelsen and Pherigo (Practical Software Configuration Management: The Latenight Developer's Handbook, Allyn & Bacon, 1997) provide prag- matic tutorials on important SCM practices. Ben-Menachem (Software Configuration Management Guidebook, McGraw-Hill, 1994), Vacca (Implementing a Successful Con- figuration Change Management Program, I. S. Management Group, 1993), and Ayer and Patrinnostro (Software Configuration Management, McGraw-Hill, 1992) present good overviews for those who need further introduction to the subject. Berlack (Soft- CHAPTER 9 SOFTWARE CONFIGURATION MANAGEMENT ware Configuration Management, Wiley, 1992) presents a useful survey of SCM con- cepts, emphasizing the importance of the repository and tools in the management of change. Babich [BAB86] provides an abbreviated, yet effective, treatment of prag- matic issues in software configuration management. Buckley (Implementing Configuration Management, IEEE Computer Society Press, 1993) considers configuration management approaches for all system elements— hardware, software, and firmware—with detailed discussions of major CM activities. Rawlings (SCM for Network Development Environments, McGraw-Hill, 1994) is the first SCM book to address the subject with a specific emphasis on software development in a networked environment. Whitgift (Methods and Tools for Software Configuration Management, Wiley, 1991) contains reasonable coverage of all important SCM top- ics, but is distinguished by discussion of repository and CASE environment issues. Arnold and Bohner (Software Change Impact Analysis, IEEE Computer Society Press, 1996) have edited an anthology that discusses how to analyze the impact of change within complex software-based systems. Because SCM identifies and controls software engineering documents, books by Nagle (Handbook for Preparing Engineering Documents: From Concept to Completion, IEEE, 1996), Watts (Engineering Documentation Control Handbook: Configuration Man- agement for Industry, Noyes Publications, 1993), Ayer and Patrinnostro (Documenting the Software Process, McGraw-Hill, 1992) provide a complement to more-focused SCM texts. The March 1999 edition of Crosstalk contains a number of useful articles on SCM. A wide variety of information sources on software configuration management and related subjects is available on the Internet. An up-to-date list of World Wide Web references that are relevant to SCM can be found at the SEPA Web site: http://www.mhhe.com/engcs/compsci/pressman/resources/scm.mhtml 241 [...]... encompasses information strategy planning (ISP), business area analysis (BAA), and application specific analysis that is actually part of software engineering Product engineering is a system engineering approach that begins with system analysis The system engineer identifies the customer's needs, determines economic and technical feasibility, and allocates function and performance to software, hardware,... the next major area of effort for analysis The analyst must define all externally observable data objects, evaluate the flow and content of information, define and elaborate all software functions, understand software behavior in the context of events that affect the system, establish system CHAPTER 11 F I G U R E 1 1.1 Analysis as a bridge between system engineering and software design A N A LY S I S... provide a method for grading each so that a quantitative "feasibility number" may be developed 10.10 Research the accounting techniques that are used for a detailed cost/benefit analysis of a computer-based system that will require some hardware manufacturing and assembly Attempt to write a "cookbook" set of guidelines that a technical manager could apply 10.11 Develop a system context diagram and system... Dependency traceability table Indicates how requirements are related to one another Subsystem traceability table Categorizes requirements by the subsystem(s) that they govern Interface traceability table Shows how requirements relate to both internal and external system interfaces In many cases, these traceability tables are maintained as part of a requirements database so that they may be quickly searched... engineering and software design (Figure 11.1) Requirements engineering activities result in the specification of software s operational characteristics (function, data, and behavior), indicate software' s interface with other system elements, and establish constraints that software must meet Requirements analysis allows the software engineer (sometimes called analyst in this role) to refine the software. .. allocation and build models of the data, functional, and behavioral domains that will be treated by software Requirements analysis provides the software designer with a representation of information, function, and behavior that can be translated to data, architectural, interface, and component-level designs Finally, the requirements specification provides the developer and the customer with the means... programs (software) that performs this transformation However, in a broader context, the application architecture might incorporate the role of people (who are information transformers and users) and business procedures that have not been automated The technology infrastructure provides the foundation for the data and application architectures The infrastructure encompasses the hardware and software that... systems (and software) , the term specification means different things to different people A specification can be a written document, a graphical model, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these Some suggest that a “standard template” [SOM97] should be developed and used for a system specification, arguing that this leads to requirements that are... functions and procedures that enable the business area to meet its objectives and goals BAA, like ISP, defines Business Process Engineering data objects, their relationships, and how data flow But at this level, these characteristics are all bounded by the business area being analyzed The outcome of BAA is to isolate areas of opportunity in which information systems may support the business area Once an information... activities that address each of the system components separately: software engineering, hardware engineering, human engineering, and database engineering Each of these engineering disciplines takes a domain-specific view, but it is important to note that the engineering disciplines must establish and maintain active communication with one another Part of 256 PA R T T H R E E C O N V E N T I O N A L M E T . is actually a set of concurrent activities that address each of the system components separately: software engineering, hardware engineering, human engineering, and database engineering. Each. the preferred approach is realized. The resultant system model (at any view) may call for a completely automated solution, a semi-automated solution, or a nonautomated approach. In fact, it is often possible. PART TWO MANAGING SOFTWARE PROJECTS 240 9 .4. Design a project database system that would enable a software engineer to store, cross reference, trace, update, change, and so forth all important

Ngày đăng: 13/08/2014, 08:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan