软件工程基础
2012-1
清华大学出版社
马尔
441
无
本书最新版不仅融合了软件工程领域近年来所取得的技术发展和实践,而且还阐述了如何把这些技术应用到实际的软件开发工作中,在每章中,还给出了大量很有启发性的示例,以帮助读者对有关内容的分析、理解和掌握,是“软件工程”课程的理想教材。
作者:(印度)马尔(Rajib Mall)
preface
preface to the first edition
list of figures
1. introduction
1.1 the software engineering discipline—its evolution and
impact
1.2 software development projects
1.3 what is wrong with the exploratory style of software
development?
1.4 emergence of software engineering
1.5 notable changes in software development practices
1.6 computer systems engineering
summary
exercises
2. software life cycle models
2.1 why use a life cycle model?
2.2 classical waterfall model
2.3 iterative waterfall model
2.4 prototyping model
2.5 evolutionary model
2.6 spiral model
2.7 comparison of different life cycle models
summary
exercises
3. software project management
3.1 responsibilities of a software project manager
3.2 project planning
3.3 metrics for project size estimation
3.4 project estimation techniques
3.5 empirical estimation techniques
3.6 cocomo--- a heuristic estimation technique
3.7 halstead's software science--an analytical technique
3.8 staffing level estimation
3.9 scheduling
3.10 organization and team structures
3.11 staffing
3.12 risk management
3.13 software configuration management
3.14 miscellaneous plans
summary
exercises
4. requirements analysis and specification,
4.1 requirements gathering and analysis
4.2 software requirements specification (srs)
4.3 formal system specification
4.4 axiomatic specification
4.5 algebraic specification.
4.6 executable specification and 4gl
summary
exercises
5. software design
5.1 outcome of a design process
5.2 how can we characterize a good software design?
5.3 cohesion and coupling
5.4 layered arrangement of modules
5.5 approaches to software design
5.6 object-oriented versus function-oriented design
approaches
summary
exercises
6. function-oriented software design
6.1 overview of sa/sd methodology
6.2 structured analysis
6.3 data flow diagrams (dfds)
6.4 extending dfd technique to make it applicable to
6.5 structured design
6.6 detailed design
6.7 design review
summary
exercises
7. object modelling using uml
7.1 overview of basic object-orientation concepts
7.2 unified modelling language (uml)
7.3 uml diagrams
7.4 use case model
7.5 class diagrams
7.6 interaction diagrams
7.7 activity diagrams
7.8 state chart diagram
7.9 postscript
summary
exercises
8. object-oriented software development
8.1 patterns
8.2 some common design patterns
8.3 an object-oriented analysis and design methodology.
8.4 interaction modelling
8.5 applications of the analysis and design process
8.6 ood goodness criteria
summary
exercises
9. user interface design
9.1 characteristics of a good user interface
9.2 basic concepts
9.3 types of user interfaces
9.4 fundamentals of component-based gui development
9.5 a user interface design methodology
summary
exercises
10. coding and testing
10.1 coding
10.2 code review
10.3 software documentation
10.4 testing
10.5 testing in the large versus testing in the small
10.6 unit testing
10.7 black-box testing
10.8 white-box testing
10.9 debugging
10.10 program analysis tools
10.11 integration testing
10.12 testing object-oriented programs
10.13 system testing
10.14 some general issues associated with testing
summary
exercises
11. software reliability and quality management
11.1 software reliability
11.2 statistical testing
11.3 software quality
11.4 software quality management system
11.5 iso 9000
11.6 sei capability maturity model
11.7 personal software process (psp)
11.8 six sigma
summary
exercises
12. computer aided software engineering
12.1 case and its scope
12.2 case environment
12.3 case support in software life cycle
12.4 other characteristics of case tools
12.5 towards second generation case tool
12.6 architecture of a case environment
summary
exercises
13. software maintenance
13.1 characteristics of software maintenance
13.2 software reverse engineering
13.3 software maintenance process models
13.4 estimation of maintenance cost
summary
exercises
14. software reuse
14.1 what can be reused?
14.2 why almost no reuse so far?
14.3 basic issues in any reuse program
14.4 a reuse approach
14.5 reuse at organization level
summary
exercises
15. emerging trends
15.1 client-server software
15.2 service-oriented architecture (soa)
15.3 software as a service (saas)
summary
exercises
references
index
版权页:插图:17. Perform structured analysis and structured design (SA/SD) for a software to be developed for automating various bookkeeping activities of a small bookshop. From a discussion with the owner of the bookshop, the following user requirements for this Bookshop Automation Software (BAS): have been arrived at: BAS should help the customers query whether a book is in stock. The users can query the availability of a book either by using the book title or by using the name of the author. If the book is not currently being sold by the bookshop, then the customeris asked to enter full details of the book for procurement of the book in future. Thecustomer can also provide his e-mail address, so that he can be intimated automaticallyby the software as and when the book copies are received. If a book is in stock, the exactnumber of opies available and the rack number in which the book is located shouldbe displayed. If a book is not in stock, the query for the book is used to increment arequest field for the book. The manager can periodically view the request field of thebooks to arrive at a rough estimate regarding the Current demand for different books.BAS should maintain the price of various books. As soon as a customer selects hisbooks for purchase, the sales clerk would enter the ISBN numbers of the books. BASshould update the stock, and generate the sales receipt for the book. BAS should allowemployees to update the inventory whenever new supply arrives. Also upon requestby the owner of the book shop, BAS should generate sales statistics (viz. book name,publisher, ISBN number, number of copies sold, and the sales revenue) for any period.The sales statistics will help the owner to know the exact business done over any periodof time and also to determine inventory level required for various books. The inventory level required for a book is equal to the number of copies of the book sold over a periodof one week multiplied by the average number of weeks it takes to procure the book fromits publisher. Everyday the book shop owner would give a command for the BAS toprint the books which have fallen below the threshold and the number of copies to beprocured along with the full address of the publisher.
《软件工程基础(第3版)(英文版)(影印版)》是大学计算机教育国外著名教材系列之一。
无