Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger o≠ or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology.
Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance.
Other topics discussed include:
The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.
[ Harel - 88a ] D. Harel , H. Lachover , A. Naamad , A. Pnueli , M. Politi , R. Sherman , A. Shtul - Trauring . ... W. Reisig . Petri Nets : An Introduction . Berlin : Springer - Verlag , 1985 . [ Rumbaugh - 88 ] James Rumbaugh .
Computer Performance Evaluation: Modelling Techniques and Tools : 10th International Conference, Tools '98 Palma de Mallorca, Spain, September 14-18, 1998...
It is an indicator for possible rescheduling between the baselines . It also helps us sort the story cards , which are on a finer - grained level . Does What With Whom / What Who What For How to Check Paul Bahr Implementation ...
See The Limits to Growth by Donella H. Meadows , Dennis L. Meadows , Jorgen Randers , and William W. Behrens III ( 1972 ) . 3. Peter M. Senge , The Fifth Discipline : The Art and Practice of the Learning Organization ( Doubleday ...
工期通常小时或示,但大型项目也可用周或月示工期的单。 5.制进计划项目进计划是软件开发过程中的重要计划。在制过程中,应该分虑各面的,并得者的认同,进是可行的。制进计划的常用有甘图、关键路和计划评审技术。甘图(Gantt chart)又横道图、状图, ...
Mackinnon, Tim, Steve Freeman, and Philip Craig. 2000. “Endo-Testing: Unit Testing with Mock Objects,” eXtreme Programming and Flexible Processes Software Engineering-XP2000 Conference. Maguire, Steve. 1993. Writing Solid Code.
For almost three decades, Roger Pressman's Software Engineering: A Practitioner's Approach has been the world's leading textbook in software engineering. The new seventh edition represents a major restructuring and...
Innovation Through Understandingsm The toughest part of innovation? Accurately predicting what customers want, need, and will pay for. Even if you ask them, they often can't explain what...
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means...
In 2005, Microsoft quietly announced an initiative to bring dynamic languages to the .NET platform. The starting point for this project was a .NET implementation of Python, dubbed IronPython. After...