Programming Books
Related Subjects:
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250

Used price: $35.68

add it to your collectionReview Date: 2007-11-15
Lots of useful Information for experienced requirements engineersReview Date: 2007-02-22
Writing these documents is not a big deal, however to make the customers read
"Use Case"-documents and provide feedback is much more difficult. But without feedback
it is not possible for a developer to write correct requirement documents.
I ordered this book because I liked the word "collaboration" in its title. It implies
the importance of working together with the customer in order to get the requirements right.
As I expected the author concentrates much more on the process to elicit proper requirements
rather than on the notations of requirements models such as UML. The best way to collaborate
with customers is to have structered meetings the so called workshops.
The book is divided into following three parts: "1. Overview of Requirements Workshops",
"2. Requirements Workshop Framework", "3. Requirements Workshop Design Strategies". Especially
the 2nd part contains a lot of detailed information and sometimes it is difficult not to get
lost. But part one and three are quit easy to follow.
Only in part one is a chapter which describes the different requirements models.
They are categorized according to their view, focus and level of detail. After reading this chapter you
know when to use which model. "Use Case"-Models are the most popular requirements models.
However, there are software projects in which other requirements model are more appropriate.
This chapter gives you an overview of the 19 different models.
Although a brief summary of every model is provided there is no example. If you want to know
the details of these different models you have to look for other sources of information.
The rest of the book concentrates on the prepartion and facilitation of workshops. A lot of useful
advice is given on how to manage people, content and processes in a workshop. Most of the
content of the book is aimed at facilitors of workshops. If you have nobody in your company who
has the necessary skillset to facilitate workshops, the author recommends to hire someone from
a consulting company, who can do this for your workshops.
On the author's website there several useful templates and guidelines which help you make your
workshops more successfull.
This book is a recommended reading for everyone who is responsible for the success of a software project.
How to do requirements workshops that work?Review Date: 2006-12-10
The author provides a framework for organizing requirements workshops. The framework is based on getting six Ps right. The Ps are "Purpose, Participants, Principles, Products, Place and Process". For each step it describes typical things that need to be done. First establish a share purpose. Find the right participants for the workshop. Set the principles and ground rules. Decide what work products to create (the book provides an excellent overview of work products used in requirement analysis). Define the requirements for the location and decide where to hold the workshop and decide the process to hold it.
In each steps, the author provides great tips and insights from her experience in facilitating workshops. In the later part, some strategies of requirement analysis are presented and the book ends with some case studies.
Overall, the book is well written an easy to read. The requirement workshop framework, at times seems overly complex and certainly would need to be tailored to the specific situation. However, I think this could not have been prevented when talking about a generic way of holding requirement workshops.
In Agile Development, requirement workshops are one way of doing requirement analysis and spreading the requirement analysis over the whole project. For these kind of workshops, this book is probably the only reference, eventhough the book itself does not cover this very well. Therefore "requirements by collaboration" is a must read for anyone who wants to do requirements workshops.
Excellent book for practionersReview Date: 2006-02-07
More Effective Group CollaborationReview Date: 2004-09-28

Used price: $39.58

One more gushing fanReview Date: 2008-07-15
Only suggestion I have for a subsequent edition is to include one full blown case study.
Excellent book on Software ArchitectureReview Date: 2008-06-16
Simply Excellent!Review Date: 2008-05-06
A Must Read for Software Architects!Review Date: 2008-03-02
Brings many things togetherReview Date: 2006-07-13
If you are a systems analyst or a software development manager, this shouldn't be on your book shelf - it should be on your desk for regular reference.

Used price: $21.50

A concise and friendly referenceReview Date: 2002-02-27
Must Have for SQL Server DBAReview Date: 2002-09-03
Brian Knight covers a LOT of different items and goes into sufficient detail on all topics. Probably the best real world book on SQL Server administration out there. I've worked with SQL Server for over 5 years and have been a senior DBA over a large enterprise SQL Server farm but I still learned a great deal from this book.
Good resourceReview Date: 2003-07-21
Great book, but not so much 911 in it reallyReview Date: 2002-03-25
It helped me solve some of the problems I was having with our productive server and helped me understand some basics a bit better than before. It does not contain everything you need to know, but gives you some ideas how you have to look for further information and what you have to look for.
It contains some good reference material, but not all of the hidden features. As with every book under 1000 pages this is not THE bible for the DBA but is a complementary book that will provide some invaluable information not found elsewhere. This book was well worth the price..
SQL Server 2000 Database Admin MUST HAVE !!!Review Date: 2002-03-21

Used price: $46.21

This is the bookReview Date: 2008-07-15
Let me put it simply. There comes a time in every software developers' life when he contemplates the age old question of, "If I were to be stranded on an island and I could bring only 3 things with me, what would they be?" Well, this would be one of the 3 items. (The other two would be Windows Internals by Russinovich and some other obvious classic like the Windows via C/C++ by Richter, or UNIX Network Programming by Stevens). This book is easily on the same playing field as such classics as those, and its only flaw is that it is not 1,000 pages because when a book like this comes along, you really just don't want it to end. There is so much useful information in here.
The chapter on LPC debugging is worth the price of the book alone, as LPC is completely undocumented and you literally will not find this type of information anywhere else. Every single chapter in this book is filled with gems, and with the plethora of average books being released recently, it really took me by surprise to read such a well thought out book that hits all the right topics in all the right ways.
That being said, it is advanced. Yes, I realize the title says it, but too many books come out with the word Advanced in the title that are merely Intermediate. You need some assembly language, you need to be comfortable with native code, you need to not be frightened at the thought of debugging something for which you have no source code. But for those that meet the pre-requisites, this is a must-have in every sense of the word for the serious developers' bookshelf.
Must have for any serious Windows programmerReview Date: 2008-06-10
Hands on bookReview Date: 2008-05-04
Excellent, but does not cover Visual StudioReview Date: 2008-04-07
An indispensable resource for professional software developersReview Date: 2008-03-01
And this is a very concentrated book. It covers a very wide area of expertise. It is an indispensable companion for every real world programmer. It explains in detail some of the lesser-known areas of programming infrastructure, like stacks and heaps and the RPC (DCOM) infrastructure, the possible error symptoms and their analysis.
Did you know about the powerful tools in the Debugging Tools for Windows package? This book begins with an introduction to these tools. It shows you how to set up and use them. It introduces you to the user-mode and kernel-mode debuggers, the Global Flags, the Application Verifier and many other tools. All of them are available for free. And you can easily give them to your customers or to the IT department of your productive environment.

Used price: $45.00

Be prepared to see the world differently ... a book far beyond software management!Review Date: 2007-06-21
The book is a true eye opener for aspiring and "want-to-be" managers alike. Also, having posters on "true leadership" pinned to the office wall does not magically inhale the ability of leadership into the office occupant. Leadership is an ability rather than a skill as clarified by the author. It is just like playing an instrument: it only gets you so far if you do not have it in you and practice every day. Chapter 12 "The Impact of Leadership on Software Development" should be read by any manager (aspiring, "want-to-be", or acting alike), and in particular by those who confuse management with suddenly having power over people. Moreover, management does not and should not mean "tenure" along the lines of "now I have made it, now I can relax" or "now I am in power." Rather the "Old Fritz" (Friedrich II, Prussian King) statement, simple yet true, comes to mind: "I am the first servant of the country" ("Ich bin der erste Diener meines Staates"), and serves as a good guide.
The author puts forth an interesting concept for true autonomy founded on the philosophical considerations of the human mind, upon which the AI-(IF-THEN-ELSE)-community will most likely have to choke. In doing so, the author outlines nicely the profound difference between automation and autonomy, two terms, which are often confused, intermixed, or misunderstood, even by so-called experts in the field.
If management is done right, as exemplified/laid out in this book and practiced by its author in an exemplary fashion, managers would rather have to be pitied because of their huge added responsibility for their people/troops and the projects they manage/lead (in that order!). Special attention should be paid throughout the book and in particular throughout Chapter 12 to the "Machiavellian Prince," as this kind of "leader" unfortunately exists (and not in small numbers!), and, while striving only for personal power and gain, causes a lot of damage to otherwise noble causes.
Dynamite Answers!Review Date: 2007-03-30
The Congnitive Dynamics of Computer Science..etcReview Date: 2007-03-03
If you are thinking of becoming a manager of a software development project, you should check this book out, and You will be a step ahead of the game!
Software Development and the Hegelian DialecticReview Date: 2006-11-29
His approach to software development emphasizes two basic ideas. Unique is his application to the development process of the cognitive philosophies of the great Nineteenth Century German cognitive philosophers, principally Schopenhauer, Kant and Hegel, which De Gyurky has studied for years (- in the original Nineteenth Century High German). De Gurky also emphasizes to an extraordinary degree the active role of personal leadership required of the successful software development manager.
Far from being a purely theoretical work, the book is richly illustrated with pungent examples from De Gyurky's near-incredibly varied experience both in the US military as a Special Forces officer commanding a detachment of Montaignards in the mountains of Vietnam, as an action officer at NATO Headquarters, and as the civilian developer of very large military flight-schedule management systems as well as spacecraft software command and control systems.
All the examples are exquisitely pertinent to the software development process. But in addition, four detailed programmatic examples are presented, together with comments, figures and schedules. The author's application of the principles he developed is wholly consistent and unfailingly pertinent, if sometimes challenging, due to the likely unfamiliarity on the part of the typical software engineering reader with the application of the philosophical concepts.
In fact, the single characteristic of the book which may challenge the typical software developer is the accessibility of some of the concepts. Some of the most powerful concepts discussed, e.g., the dialectical process by which an ill-formed idea becomes an object that reflects the meeting of the minds of the design team, are likely to be unfamiliar. However this process has profound implications for the organization of the design team, its management, team-member responsibilities, and on and on. It might have been helpful if the author had expanded on these key concepts, perhaps in context closer to their original use. It would be demanding on the reader, but probably no more so than parts of the book itself.
This unique contribution is recommended to software developers interested in on-time, on-cost development of large software systems, and willing to invest in the intellectual effort required to understand the author's unique contribution. They will be well rewarded.
The Science and Ethics of Computer System DevelopmentReview Date: 2006-11-27
In this book, Mr. deGyurky has provided a completely different and refreshing, but no less important, viewpoint on systems development. As different as all the above mentioned books are, the one theme common to all of them is their focus on the "real" problem by differentiating between the truly important and the seemingly important - commonly referred to as separating the wheat from the chaff..
"The Cognitive Dynamics of Computer Science" focuses on strength of character as being indispensable to successful completion of complex systems development projects, which not only satisfy the "real" requirements, but ensure the system is delivered within an agreed to budget and schedule. This book draws on the philosophy of such estimable historical figures as Kant, Hegel and Schopenhauer, among others, in defining the behavioral characteristics of successful leaders and managers. Personal experiences in real world projects by Jet Propulsion Laboratory (JPL) provide a substantive backdrop for Mr. deGyurky's approach to managing systems development.
It is impossible to adequately relay the impact of such a book in so short a review, but I do come away with some points which derive more meaning because of my own experience: 1) Design from the user in, but develop from the inside out, in layers, 2) Don't implement until you have an initial design documented and understood by the development team - expect that to change, 3) Manage change through the Project Implementation Plan (PIP), which is the Project Manager's equivalent to the Software Development Folder, 4) Don't hire staff until you have their tasks well defined (control burn rate and you have controlled your budget), 5) Make sure you understand exactly what your customer wants through constant customer involvement, 6) make your customer's goal, your goal, then incentivize the entire development team to focus on that goal as the highest priority, 7) There shall be no implementation without documented, repeatable process and standards, which should be tailored to the individual project, but at no time should process and standards replace common sense in a dynamically changing development environment, 8) Employ tools and ensure the team is involved in their selection, 9) Ensure the development team is trained in methodology, process, standards, tools and system requirements, and 10) the manager should place the needs of his customer and his team ahead of his personal goals.
All of this is done in concert with the philosophical teachings of our great philosophers, who would encourage strict honesty and ethics in dealing with our customer, subordinates, colleagues, company management, even if it means being fired. Of course, one does not fit all the meaning of a 300-page book into such a short review, and one could easily list another 10 or more points of interest.
I agree with almost everything in this excellent book, but may differ on the role played by Computer Aided Software Engineering (CASE) and Computer Aided Design (CAD) in systems development. Since CASE tools became mature enough to use effectively, I personally selected my tools, then built my process and standards around them. This includes the way I modify process and standards (including DoD) to conform to streamlining development and associated documentation. The CASE tool, when used with discipline can ensure that interface errors are avoided during the design process, as provided through automatic leveling and validation as the system design progresses. Fixed price contracts caused me to gravitate to using the latest tools available and build around them each time.
I am certain that Autonomous Cognitive systems are in our future, but not without application of increasingly sophisticated CASE tools and compilers (Autonomous Cognitive Compilers), which can parse complex combinations of Boolean expressions with many operations per expression to simulate the human thought system in making decisions. Neither can these systems be built without addressing the transducers (sensors), which would connect to and provide stimuli to be interpreted and processed by any autonomous system as the 5 senses (sight, hearing, touch, smell and taste). I look forward to Mr. deGuyrky's next book, which may address this highly complex problem.
I would only close this review with one last comment, directed to JPL. Mr. deGyurky and his team were on the right track with Ada. It is unfortunate that JPL didn't adopt this very highly typed and disciplined high order language as their standard development language. I believe it would have saved more than one failed project. Based on my 40 plus years of developing computer systems, I would humbly suggest that JPL require mandatory use of Ada in all "Class A" development projects.


Packed with great info!Review Date: 2007-11-16
The centrality of quality specifications means significant gains for the broadest spectrum of stake-holders who stand to win with the System Of Interest (SOI). Take this specification as an example to clean up:
"The new system will use Foo language running on OS Bar and ensure top industry quality response time on web requests."
People in the field have seen specs like these. Hopefully you aren't writing them. There are what Gilb classifies as "Major defects" in this spec. Which web requests, the front page or all of them pulling from the various databases? Can the old system be incrementally upgraded instead of an entirely new development environment? Why use Foo and Bar if something else gets the job done better, faster, and with less resource utilization? Just how fast is "fast", anyway?
In Competitive Engineering you're told to get measureable quality requirements, record who requested that requirement, and exactly what "success" is defined as. That allows you to go back to the requester with notes such as "If we use OS Baz we'll get a 27% increase in CPU performance" and let them make a decision or escalate to the project funder. You're also encouraged to weed out "design constraints"; at least out of the mandatated and into the labelled area "Design Constraint". Wouldn't it be great if you got a specification that let you design the best you could without technical input from someone that can't use a web-browser?
See if you can understand my re-write of the above spec into Planguage.
Response Time on Front Page of Company Website.
Type: Performance Requirement
Version: 1.2
Status: Draft
Owner: F. Flintstone
Stakeholders: Marketing, Server Support, Corporate Intelligence, ,
Ambition: The front page of the corporate website should respond fast enough to keep the viewer's attention.
Description: Marketing research indicates the typical business website viewer makes an opinion on the website, and thus the company, within 20 seconds. Our corporate site pulls data from three different databases and a sizeable image library, taking an average of 26.87 seconds on a home DSL/Cable modem equivalent network. Marketing advantage can be gained if we can grab viewer attention noticibly faster than our two nearest competitors who average 23.43 and 26.09 seconds, respectively.
Vision: Enough accurate information provided quickly enough to keep the customer on our site.
Scale: Time, in Seconds, to a complete front page load on the equivalent of a 250K network connection.
Past [Front page, 1 Apr 07]: 26.87 seconds
Goal [1 November 07]: 19 seconds <- Marketing Director: BR
Stretch: 15 seconds
Wish: 9 seconds
Design Constraint: Supportability <- Server Support Manager WF Must utilize
Design Constraint: Security <- Corporate Intelligence BB Must meet
------------------------ end of spec example --------------------
Probably the only thing that might confuse you about that specification is the use of text within "<...>". Planguage uses that to denote a "fuzzy requirement"; something that is defined but not with the concreteness you'd like. In this example, however, it would be relatively simple to query B. Rubble for the specific guidelines her team seeks to enforce. The use of fuzzy requirements also allows for change over time; more OS versions may become supported while others are obsolete.
When I read part of an electronic copy of the text I had a problem. My antiquated home printer could not print it and if I used the work printer I view the output as a possession of my employer. The book is written as part instruction, part reference manual; I bought my own copy because I know I'm going to use it for the next few years and several employers.
Excellent Systems Engineering BookReview Date: 2007-08-28
It's a very good book.Review Date: 2007-01-16
Thinking... further ;o)Review Date: 2006-03-12
The main concept of Competitive Engineering is Planguage, a word created mixing plan and language. Communication is the basis for working together. This is why Tom Gilb emphasises first the creation of a common vocabulary. He states that his glossary could be considered as the best contribution of this book. Beneath the definition of a common language, for me the "hidden agenda" of the book is to help us to think... further. The common language is only a tool that helps us express our thoughts more precisely and completely.
Fortunately for us, Tom Gilb didn't only write a dictionary of system engineering. A large part of the book is devoted to the activities of system engineering and project management. Based on Planguage, Gilb gives us a framework to elicit clearer requirements. He emphasises a measurable vision ("bad numbers beat good words") and presents tools to achieve this objective. He also helps us separate requirements from design. He devotes an entire chapter to quality control. Finally, there is a presentation of the techniques of evolutionary project management that supports incremental development based on the priority and impact techniques described in previous parts of the book.
In every chapter you will find examples and case studies that help to visualise how the concepts translate into practice. There is also an "additional ideas" part that presents material for further thinking. Beneath the seriousness of the topic, Gilb also manage to place some lighter parts and you will find how to compare seriously apples with oranges.
At the end, your realise that you have a book where process is not opposed to people, structure is not opposed to flexibility, precision is not opposed to allowing change, documentation is not opposed to active refinement, Gilb's proposed solution is not opposed to customisation for your needs. It is just a book that gives you new inspiration to deliver better software solutions to your customer.
If you are interested in software process improvement, you can read this book from the beginning and find practical material to examine your current practices with a different vision. If you are a lonesome project manager or developer, you could begin by just using the index to get Gilb's view on your current activity or problem. Be cautious, because there are many chances that you will be tempted to read more material ;o)
After reading this book, I browsed again my old copy of "Principles of Software Engineering" that I bought when it was published in 1988. I saw that many ideas from "Competitive Engineering" were already presented in this book. Tom Gilb just applied to his ideas the same concepts he proposes for system engineering. He refined, expanded and structured them to get a better product. The printing industry has just prevented evolutionary delivery, but you can bet that he will find a way to include this in the future.
Best Practices in Systems Engineering and ManagementReview Date: 2006-04-06
The book's subtitle is "A Handbook for Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage". The term "Planguage" is central to an understanding of the book. Planguage, which is derived from a union of "plan" and "language", is the methodology for implementing CE. Much of the book is devoted to describing the generalized processes, rules, and vocabulary of Planguage. Tom notes, "Planguage should be viewed as a powerful way to develop and implement strategies that will help your projects to deliver the required competitive results." Fundamentally, the book presents a new take on best practices in systems engineering and management.
The book is useful on several levels. For organizations without a formal or documented process, tailoring of Planguage would jump start the process at a high level of maturity. For organizations that have achieved CMMI level 3 status, Planguage by itself is not as useful. However, many of the ideas of CE-the Planguage methods-are worth considering for enhancement of existing organizational processes. Tom states that CE is "about technological management, risk control, and breakthrough improvement in complex business systems, projects, and processes." CE is a believable approach for delivering complex projects on time and within budget.
The book passed my value-added test, when I realized that I was photocopying several pages for future reference, to be part of my "toolkit" of helpful tips and techniques. I particularly enjoyed reading the 10 often witty, summary principles in each chapter. Two examples are:
* The Principle of `Storage of Wisdom': "If your people are not all experienced or geniuses, You need to store their hard-earned wisdom in your defined process. Capture wisdom for reuse, Fail to write it, that's abuse!"
* The Principle of `The early bird catches the worm': "Your customers will be happier with an early long-term stream of their priority improvements, than years of promises, culminating in late disaster."
About 30% of the book is the Planguage Concept Glossary, which Tom views as a central contribution of the book. I focused my attention on the other, more interesting, parts of the book, which describe the main CE/Planguage methods of Requirement Specification (RS), Design Engineering (DE), Impact Estimation (IE), Specification Quality Control (SQC), and Evolutionary Project Management (EVO, also known as Evo). RS describes an approach for identifying all types of requirements while avoiding ambiguity and also planning for change. Functional and performance requirements are distinguished. DE deals with identifying, choosing, and prioritizing the order in which design ideas are implemented and delivered. In conjunction with Evo, DE selects the design ideas most likely to provide a significant benefit for early delivery.
SQC is an eminently practical approach for evaluating the quality of any technical document via sampling measurements. An hour of SQC early in a project can save almost 10 hours of rework. SQC also provides a means to assess the success of process improvement efforts. IE provides a realistic method for evaluating-in quantitative terms-the effectiveness of designs in meeting both the requirements, especially critical performance attributes, and the resource budgets.
Evo focuses on early, frequent delivery of project results via a series of high-value, small evolutionary steps. An ideal Evo approach would divide the project into a series of cycles. Each cycle would consume 2-5% of the total financial budget and 2-5% of the total project time-while delivering some measurable, required results to the stakeholders. The next cycle is selected to deliver the best stakeholder value for its cost (highest ratio of value to cost, or highest ratio of performance to cost). Although an ideal approach can't always be realized, Tom provides some convincing examples to argue that there is always a solution to making a project evolutionary (small steps with critical deliveries first).
Perseverance pays off with Competitive Engineering. The book is not a quick read, which Tom acknowledges. You have to carefully study some of the pages to understand the concepts being presented. The reward occurs when you glean the nuggets of wisdom from the numerous practical examples, case studies, and Planguage examples. Tom's way of presenting the CE concepts makes the book a useful addition to the systems engineer's library.

Used price: $25.95

Definitely a classic but not good for beginnersReview Date: 2007-10-24
comprehensive book for NP-completenessReview Date: 2007-09-21
Published in 1979 and still the bestReview Date: 2007-06-16
Arrived in time, good conditionReview Date: 2006-02-24
A Beautiful Book on a Beautiful SubjectReview Date: 2005-12-10

Used price: $22.67

Used price: $19.88

If you want to know what's happening out thereReview Date: 2003-02-28
Excellent.
excellent collectionReview Date: 2002-02-19
The description of practical experiences as well as more conceptual descriptions, are usefull to understand the complexity of achieving high levels of software reusability.
Managers and academics, will find a lot of material to help them decide if this is the way to go. Our research group in Web Engineering at the University of Sydney (weg.ee.usyd.edu.au) will us it extensively to improve our development practices.
An excelent walk through framework technologiesReview Date: 2002-03-01
articles on the subject, providing a thorough insight in both design and implementation issues regarding frameworks, also complemented with practical experience
about framework usage. Although the work is mainly concentrated on technical aspects, the articles are comprehensible enough to be taken as reference material by
a broad community, for example, software engineers, programmers, or technology managers. The books are useful for anybody planning to include
framework-based techniques in software development processes or planning to improve current object-oriented practices. It is also an excellent source for graduate
courses.
Volume 1 lays the fundamental concepts supporting object-oriented frameworks, and describes the problems and challenges that this
technology raises in software development. The book covers topics such as domain analysis, development concepts and approaches,
documentation, and management, among others. Of course, the compilation of articles makes some parts little redundant, but this is a minor detail compared with the
fruitful contributions made by the book. In particular, the articles on reusing hooks, hot-spot-driven development, composing modeling frameworks in Catalysis, and
composition problems, causes and solutions, are a sample of the outstanding level of this work. Each chapter adds at the end a number of related questions and
student projects aiming to reinforce concepts and promote further investigation. As a comment, novice readers should take the sections concerning hooks and
hot-spots carefully because these topics are presented in a slightly confusing way.
Volume 2 focuses on specific framework implementations, dealing with existing frameworks for different application domains, such as businesses, multi-agent
systems, languages and system software. In this book, the readers will find a level of detail much closer to specific implementations issues than in the previous
volume. Nonetheless, the writing style remains mostly clear and accessible for a quite broad audience. The case-studies and experience reports described by the
articles show an attractive industrial perspective of the framework approach, and more important, they go an step forward in the road of a more mature discipline for
software development. In addition, a
CD-Rom with concrete examples of these applications is included with the book.
Volume 3 completes this series with a number of domain-specific application frameworks developed by industry, showing how to apply the concepts and ideas of
the previous books in software products. In this line, it includes very interesting frameworks for manufacturing systems and distributed systems, among others. It also
goes through concrete software scenarios, illustrating the benefits of combining domain knowledge and object-orientation expertise. Although the level of the articles
is rather odd, the volume certainly provides the readers a realistic picture of the problems of building and adapting frameworks by learning from others' experience.
A CD-Rom is also included with this book.
Overall, these framework books collect the state-of-the-art on framework development, offering a comprehensive and
easy-to-understand guide for both academics and practitioners in the field. It is clear that framework technologies will not solve all the problems (perhaps they rise
more challenges than current approaches), however, taking advantage of the framework possibilities can make your development process more repeatable,
productive, and also less painful. The gains of this retrain are no doubt a good investment.
Great Reference and Compilation of Timely MaterialReview Date: 2000-01-06
Excellent guidelines to build OO Application FrameworksReview Date: 2002-02-27
First book, "Building Application Frameworks: Object-Oriented Foundations of Framework Design" introduces application frameworks, their benefits and problems. It addresses all the fundamental concepts behind OO application frameworks and provides guidelines for OO application framework development. It is organized in eight parts. Part one provides a complete overview of OO application framework technology describing what is an application framework, what are the problems and benefits of application frameworks and how to use, develop and evaluate an application framework. Part Two presents some historical application frameworks and discusses some general guidelines to increase the reusability of application frameworks. Part Three describes how to build a framework analysing a concrete domain. The rest of the book provides all the necessary information to completely build an application framework. It presents all the concepts managed in framework development, which are the different development approaches, how to test the resulting frameworks, the problems derived from integration and a question sometimes forgotten but very important, the framework documentation.
This book, "Domain-Specific Application Frameworks: Frameworks Experience by Industry" is focused in the experience of industrial and academic contributors in the development of OO application framework in different domains. Each chapter covers step by step the complete development of an application framework in manufacturing, distributed systems, real-time systems, telecommunication, multimedia, chemistry and data visualization domains. It includes the motivation developers founded to choose application framework technology, the problems they had to solve and the final solutions they developed.
Third book, "Implementing Application Frameworks: Object-Oriented Frameworks at Work", shows step by step how to implement application frameworks in different domains. It is organized in six parts covering examples about i) Business Frameworks with different examples in sales and administrative domains, ii) Artificial Intelligence, iii) Agent Application Frameworks, presenting interesting frameworks for speech recognition, neural networks and agents. iv) Specialized tool frameworks, v) Language Specific Frameworks, vi) System Application Frameworks, which present and analyse the application of OO frameworks in combination with other methodologies as component-oriented programming, language constructs or constraint programming and vi) Experiences in Application Frameworks. This last section is very useful because analyse the lessons learned using the application framework technology.

Used price: $22.26

Excellent resource for both quality control and ideasReview Date: 2007-04-03
Great gap between book knowledge and effective use...Review Date: 2004-12-06
Chapter List: Syntax; Structure; Semantics; Implementation; Recommended Reading; Index
There are obviously a large number of books that will teach you the semantics of writing and using XML. But just because you can create an XML file doesn't mean that you've done it well or effectively. Harold's book provides a bridge to being able to create XML files that will be usable in nearly all situations. The book starts out in the introduction with explanations of terms that are often confused (element vs. tag, text vs. character data vs. markup, etc.). Then there are four parts of the book that include a total of 50 tips that will improve the quality of your XML usage. Some tips are pretty basic, like "Include an XML Declaration". Others are more complex like "Verify Documents with XML Digital Signatures". But every one is practical and useful for making sure that your XML is widely useable by all potential applications.
Excellent bridge book to read after you've learned the basics of XML. This is a book that, when taken to heart and used, will cause your coworkers to thank you.
The best XML book I've readReview Date: 2004-10-22
Because the book is so diverse (an amazing feat considering the small page count), it is hard to single out any specific part as being a reason to read the book. The book doesn't just talk about schemas, the infoset, etc..., it digs down and really explains what is good and bad about the technologies and what the best ways to apply them are. All I can say is that I use XML day in and day out and have learned everything I know by trial an error. I've made many mistakes along the way. I've tried my best to learn from them, but Effective XML was the book that made everything click for me. The best part is that the book went well beyond just helping me see my errors. I've already applied some of the ideas to new work I've done recently and have been able to head off some of the problems I would have encountered.
Effective XML is by far the best XML book I've ever read, and quite possibly the best tech book I've read all year. I might even have to add it to my favorite tech books list. If you work with XML to any significant degree, I can't recommend this book highly enough.
How to Effectively Use XMLReview Date: 2006-02-07
The book is divided into four major sections: Syntax, Structure, Semantics, and Implementation. Each of the fifty Items packs a lot of information into a few pages. The Items span topics such as why you should Include an XML Declaration (Item 1), Make Structure Explicit through Markup (Item 11), Program to Standard APIs (Item 31), and Write in Unicode (Item 38). Even the Introduction is valuable because it sets the definitions for XML-related terms used in the rest of the book that the author has found to be used interchangeably or inconsistently.
Item 24, Choose the Right Schema Language for the Job, provides a typical example of the great information contained in Effective XML. This Item discusses the strengths and weaknesses of four schema languages: W3C XML Schema Language, DTDs, RELAX NG, and Schematron. The use of programming languages to handle situations that the schema languages can't handle is also discussed. The Item ends with a set of questions to think about when selecting the schema language to use.
I found the book very readable and like that the information is presented in digestible chunks. Effective XML isn't meant to hype XML but to identify what the actual capabilities of XML and its related technologies are and how best to use them. The book does an outstanding job at this task.
Full disclosure: I received a complimentary copy of the book for review.
I wish the XML Schema working group had a copy per memberReview Date: 2005-07-10
Instead it is a book on how to work with XML. How to design an XML application to take full advantage of the facilties of XML: schemas, processing instructions, XSL transforms, namespaces. It is all structured to slowly introduce you into the complexities, and deserves to sit up on the bookshelf with Effective C++, Java and Enterprise Java.
If you already know the basics of XML, it is actually quite a good way to learn about some of the more esoteric concepts -from the pragmatic perspective. Too many XML books rant about how wonderful some feature like XML schema's extension stuff is, why XML is the most universal format ever, SOAP and WS-* the best protocol for distributed systems ever, and XQuery everything you need for an XML database.
This book bursts the bubble of hype with rational analysis of what makes sense, and what doesn't. Item 28: Use only what you need, is my favourite: A review of the main XML specs and analysis of what really matters, which comes down to #35, navigate with XPath.
If you are designing an XML schema/system/application, you need this book. If you have to put up with architects telling you about WS-MetadataExchange, WS-Transfer and RDF, you need a copy to roll up and hit them over the head. And, if like me, you are involved in standards bodies that produce XML related things, you need to buy a copy for all the other participants, so that what you produce will actually work.
Remember that XML is a language designed for use by people and machines. The machines have the upper hand. But with this book, and some thinking, you can design XML applications that people can use.
Related Subjects:
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250