Average customer rating:
|
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Craig Larman Manufacturer: Prentice Hall PTR ProductGroup: Book Binding: Hardcover Similar Items:
ASIN: 0131489062 |
Amazon.com
Good software starts with a good design, and the subtitle of Applying UML and Patterns, "An Introduction to Object-Oriented Analysis and Design (OOA/D) and the Unified Process" reinforces that that's what this book is about.The first edition of Applying UML and Patterns became a standard. The second edition uses the unified process (UP) as the iterative process within which OOA/D is introduced, and extends the case study used in the first edition. Other changes have been made to reflect the growing consensus on the most effective ways to work with OOA/D and patterns.
Although you will learn UML, this isn't what Applying UML and Patterns is all about. It's designed to teach you to think of software as a collection of objects with properties and to manipulate the relationships between them. This is far more profound.
The case study enables Craig Larman to carry the design through to Java code. In practice, you will need a basic understanding of OO programming to benefit from Applying UML and Patterns, though you needn't know Java--you can implement the designs in the OO language of your choice with equal facility.
When it comes right down to it, Applying UML and Patterns is all about providing you with a language in which to think about software design. This is quite different from learning a language in which to code a design.
A facility with OOA/D will enable you to design and discuss programs independent of code, to produce more elegant and maintainable software, and to take a 30,000-foot view of the way your software interacts with the world. In effect, it can shift your viewpoint from that of a mechanic to that more sophisticated viewpoint of an engineer. Recommended. --Steve Patient. Amazon.co.uk
Book Description
People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it, `Applying UML and Patterns' has been my unreserved choice. Martin Fowler, author, UML Distilled and RefactoringThe first edition of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design quickly emerged as the leading OOA/D introduction; translated to many languages and adopted in universities and businesses worldwide. In this second edition, well-known object technology and iterative methods leader Craig Larman refines and expands this text for developers and students new to OOA/D, the UML, patterns, use cases, iterative development, and related topics.
The book helps newcomers to OOA/D learn how to think in objects by presenting three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities, principles, and patterns that are most critical to success. It introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation. All case study iterations and skills are presented in the context of an agile version of the Unified Process -- a popular, modern iterative approach to software development. Throughout, Larman presents the topics in a fashion designed for learning and comprehension.
Among the topics introduced in Applying UML and Patterns are: * requirements and use cases, * domain object modeling, * core UML, * designing objects with responsibilities, * Gang of Four and other design patterns, * mapping designs to code (using Java as an example), * layered architectures, * architectural analysis, * package design, * iterative development, * the Unified Process.Foreword by Philippe Kruchten, the lead architect of the Rational Unified Process.
Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both. John Vlissides, author, Design Patterns and Pattern Hatching
This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better. Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects
Customer Reviews:
A great reference, had to get the UML 2.0 edition.......2007-10-06
First book for anyone learning to create business software.......2007-08-11
Review of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Editi.......2007-07-19
The single best book for your OO development team.......2007-07-06
Excellent Work!.......2007-04-23
Average customer rating:
|
The Rational Unified Process: An Introduction, Third Edition
Philippe Kruchten Manufacturer: Addison-Wesley Professional ProductGroup: Book Binding: Paperback Similar Items:
ASIN: 0321197704 |
Book Description
The Rational Unified Process embodies the best practices of provenThis concise book offers a quick introduction to the concepts,
structure, content,and motivation of the Rational Unified
Process. This revolutionary software development process provides a
disciplined approach to assigning, managing, and completing tasks
within a software development organization and is the first
development process to exploit the full capabilities of the
industry-standard Unified Modeling Language. The Rational Unified
Process is unique in that it captures many of the proven best
practices in modern software development and presents them in a form
that can be tailored to a wide range of projects and organizations.
The Rational Unified Process will help software development teams
produce, within a predictable schedule and a reasonable budget, the
highest-quality software possible to meet the needs of end
users. Throughout the book, the author shares his inside knowledge of
the process, focusing his coverage on key aspects that are critical to
mastering this proven approach to software development.
In this book you will discover:
What the Rational Unified Process is--and what it is not
The concepts used in the Rational Unified Process, as well as its structure
The best practices that have been synthesized in this process
How this process can provide the guidance you need for your specific project responsibilities
Customer Reviews:
All fluff, no substance.......2005-09-16
Not a book to teach you how to use RUP.......2004-06-14
A good overview of the entire RUP framework..........2004-05-10
Contents
This book is a relatively high-level overview of the entire RUP process.
The book is divided into the following chapters: Software Development Best Practices; The Rational Unified Process; Static Structure: Process Description; Dynamic Structure: Iterative Development; An Architecture-Centric Process; A Use-Case-Driven Process; The Project Management Discipline; The Business Modeling Discipline; The Requirements Discipline; The Analysis and Design Discipline; The Implementation Discipline; The Test Discipline; The Configuration and Change Management Discipline; The Environment Discipline; The Deployment Discipline; Typical Iteration Plans; Implementing the Rational Unified Process; Summary of Roles; Summary of Artifacts; Acronyms; Glossary; Bibliography; Index
Review
The Rational Unified Process, or RUP, is a software engineering methodology that attempts to map out and document all parts of a software development project. It's extremely comprehensive, but it's also adaptable to whatever level of effort is appropriate for your situation. This book, The Rational Unified Process - An Introduction, is a good start to begin your understanding of RUP.
First off, let me say this is not an easy read. It's a good book with all the information you need to know to start using RUP, but the information is dense and highly detail oriented. Like most developers, I'm more oriented towards coding and testing. But realistically, you need to know what the system should do before you get to the coding piece. RUP helps to put all that into a formal framework so that the necessary things will get done in the proper order.
While the entire RUP framework might feel overwhelming, the author makes sure to let you know that you can adapt the RUP to meet your situation. If you are adding a function to an existing system, you will be more focused on use cases, development, and deployment processes. The author does a good job in segmenting the information so that you can more easily focus on your needs.
You should also not consider this the end-all volume on RUP that you will ever need. Kruchten doesn't try to detail specific techniques like use cases or UML. You will learn where they fit in to RUP, but you will need additional information on how to implement use cases or UML diagrams. Consider this the volume that allows you to place everything in a mental framework so that you can figure out what you will need to know going forward.
Conclusion
If you are considering or in the process of implementing RUP, this is a book you should be studying. It's not an easy read, but it will give you the overview you need to understand the process and concepts.
If you are interested in RUP, this is the place to start........2004-05-08
* The project management discipline.
* The business-modeling discipline.
* The requirements discipline.
* The analysis and design discipline.
* The implementation discipline.
* The test discipline.
* The configuration and change management discipline.
* The environment discipline.
* The deployment discipline.
While the steps used in the analysis differs from discipline to discipline, the following are common to all:
* Purpose.
* Roles and artifacts.
* Workflow.
* Tool support.
* Summary.
The tool support section is particularly helpful if you are evaluating the RUP for possible use in your organization. IBM/Rational has many tools that can aid you in your efficient use of the RUP. In fact, without software tools to aid you, much of the material in this book would be of theoretical interest only.
Large software projects require an overall organizing process to be imposed on them if there is to be a chance for successful completion. The RUP is currently one of the best such processes and this book will show the fundamentals of the process and how it can work for you.
Definitive.......2004-04-15
To be frank, I found the "Made Easy" book to a be a bit more fun than this one. Probably, because this book is more descriptive, whereas the "Made Easy" one is more normative. Having said that, I feel this book is the definitive book to have if you
are working with the RUP, and a heck of a useful book to read even if you're not. Especially now that everything Rational has gained more leverage (because of the acquisition of Rational Software by IBM that gives RUP an arguably more powerful marketing mechanism and exposure, let alone its plausible gradual integration into the methodologies used by the 150,000-people-strong IBM Global Services organization), this book becomes even more relevant.
There is a foreword by Grady Booch (one of the 3 amigos) that goes though a can-never-remember-how-many thousand mile view of the whole landscape, followed by a chapter by the author, who briefly goes through all the nice concepts (iterative development, architecture, etc.) that permeate the RUP. There is also a brief history of the RUP in this chapter that I found quite illuminating. I always like to know the historal context; it usually helps explain the rationale behind ideas and constructs.
The next chapter, entitled "Static Structure", discusses the constituent concepts of the RUP, namely role, activity, artifact, workflow, discipline, deliberately ignoring for the moment the temporal dimension (for the most part). It is chapter 4, "Dynamic Structure", where the core concept of iterative development is expounded, and the expected contrast with the traditional waterfall is made (hence explaining the rationale for coming up with the perhaps-not-intuitive-at-first-glance idea of iterative development). Phases and milestones are explained.
If there are three pillars of the RUP, these are (i) iterative development, (ii) executable architecture, and (iii) use-case driven development. Hence, it comes to no surprise that the next two chapters deal with architecture and use cases. In chapter 5 a mention is made, among other things, to the author's important work on the 4+1 Views of Architecture that underlies the RUP. Chapter 6 is a condensed discussion of the role and merit of use cases in a software development process in general, and RUP in particular.
This concludes Part I of the book. Part II consists of 9 chapters, one for each RUP so-called discipline (Project Management, Business Modeling, Requirements, Analysis and Design, Implementation, Test, Configuration, Environment, Deployment). The "Made Easy" book follows a similar pattern, with the difference, congruent with I've already mentioned above, that this book tends to treat the Disciplines in a descriptive rather than normative manner.
There is a pretty good "Summary of Roles" appendix at the end, and I liked the Glossary too, as the definitions contained therein are very precise but at the same time very comprehensible too. Finally, there is a rich annotated bibliography section, which, if you're at all like me, you'll find rather useful (There's also a poster of the RUP at the back if you're into that sort of thing).
All in all, I haven't at all regretted the 38.50 and the time I've spent reading the book; and imagine that I was familiar with this stuff already. If this happens to be the first book you read on RUP (as it should normally be) then the benefit for you will be even greater.
Average customer rating:
|
CMMI Distilled: A Practical Introduction to Integrated Process Improvement, Second Edition
Dennis M. Ahern , Aaron Clouse , and Richard Turner Manufacturer: Addison-Wesley Professional ProductGroup: Book Binding: Paperback Similar Items:
ASIN: 0321186133 |
Customer Reviews:
Excellent read for an overview of ÇMMI........2007-07-15
Not for me, I'm afraid.......2006-12-26
Read it with a manager's mindset.......2006-05-19
Introduction - yes, implementation - no.......2005-11-17
A summary of CMMI, not a practical introduction.......2004-08-26
Average customer rating:
|
Introduction to Programming with Fortran: with coverage of Fortran 90, 95, 2003 and 77
Ian Chivers , and Jane Sleightholme Manufacturer: Springer ProductGroup: Book Binding: Paperback Similar Items:
Accessories:
ASIN: 1846280532 |
Book Description
An Introduction to Programming with Fortran is a comprehensive introduction to Fortran, and is essential to the complete beginner who wants to learn the fundamentals of programming using a modern, powerful and expressive language; as well as those wanting to update their programming skills by making the move from earlier versions of Fortran.
It contains lots of clear and simple examples highlighting the key language features of the most recent versions of Fortran – Fortran 2003, 95 and 90. The authors also provide examples based on ISO TR 15580 and ISO TR 15581 as these are quite widely supported as well and cover the ISO TR on Enhanced Modules, which is of particular importance to large code suites.
The examples used throughout the book highlight common problems that occur when programming, and give a solution in Fortran, producing a very effective, hands-on approach.
Details of a variety of internet-based sources are also included, which will prove invaluable to those seeking further information and support.
Customer Reviews:
Excellent.......2007-02-13
Good introduction to FORTRAN.......2006-10-07
slow moving field with lots of legacy code.......2006-01-30
Average customer rating:
|
Automated Software Testing: Introduction, Management, and Performance
Elfriede Dustin , Jeff Rashka , and John Paul Manufacturer: Addison-Wesley Professional ProductGroup: Book Binding: Paperback Similar Items:
ASIN: 0201432870 |
Amazon.com
Written for those with some background in software engineering, Automated Software Testing: Introduction, Management, and Performance delivers a rigorous guide to the state of the art in managing automated testing in a text that will benefit anyone who tests software for a living.First and foremost, Automated Software Testing presents a methodology for test managers called Automated Testing Lifecycle Management (ATLM). This soup-to-nuts tour of testing takes you from initial planning, budgeting, and staffing to building a test plan and choosing test tools to executing tests and even improving your testing process the next time around. Though somewhat thickly written--with plenty of software engineering terminology--this book can also be useful to more practically minded readers because of its many sample test documents. (Besides numerous lists and charts outlining the steps in the ATLM process, the book presents a sample test plan, budget estimates, and staffing guides.)
A truly standout feature is the book's survey of currently available automated tools that can be used throughout the testing cycle, as well as how to choose the right ones for your next project. For many software testers and managers, this section alone is probably worth the price of the book.
As this book points out, test engineering is a growth field. While schools and businesses work hard to meet the demand for qualified testing professionals, this title can provide a solid guide to the best thinking on automated testing solutions that will save time and money as well as improve software quality. --Richard Dragan
Topics covered: Theory and practice of automated software testing, the Automated Testing Lifecycle Management (ATLM) process, test analysis, planning, design and execution, white-box and black-box testing, metrics, and choosing testing tools.
Customer Reviews:
Best Automation Testing Book Ever.......2006-09-01
Cut out the bull.......2002-12-03
Excellent Book for implementing Automation.......2001-09-28
You'll Need This Guide to Implement Automated Testing.......2001-04-26
Little did our test team know beforehand that new automated tools require evaluation: what technologies are your applications using? what levels of test planning and scripting skills will be required for each tool? what other tools may be necessary sooner or later? and, does your test tool vendor of choice market such complementary tools? And much, much more.
"Automated Software Testing" guides readers through each step in the planning, selection, and implementation process to assure that automated software testing will be developed in a systematic manner.
See the table of contents. You will find that for less than the cost of a testers time for two hours, your business will be investing in knowledge that will save perhaps hundreds of thousands of dollars over the life of your applications.
A Compilation of Generalizations.......2001-03-15
Average customer rating:
|
Introduction to the Team Software Process(sm) (The SEI Series in Software Engineering)
Watts S. Humphrey Manufacturer: Addison-Wesley Professional ProductGroup: Book Binding: Hardcover Similar Items:
ASIN: 020147719X |
Amazon.com
Aimed at the computer science student, Introduction to the Team Software Process provides a textbook-style introduction to the author's Team Software Process (TSP), a rigorous group-based design process that stresses planning, metrics, scripts, accountability, and ultimately, higher code quality. Although best suited for a semester- or two-semester-length course, this book provides a useful model for any team development effort.This textbook focuses squarely on the team-based nature of successful software development. The author, who also invented the Personal Software Process (PSP), outlines the steps for "staffing" a classroom-based software project with different multiple member roles, such as team leaders and development managers. The Team Software Process (TSP) outlined here stresses accountability through numerous scripts and metrics. (An appendix features over 80 pages of scripts and forms that would be used over the course of the semester.) Not only does the author provide a thorough guide to choosing the right team role that fits your personality and skills, but several sections offer some "motivational speaking" on the advantage of "discipline," both as a person and software engineer.
This book does a particularly good job of defining a team's role for each stage in the development process, beginning from the initial planning stages to requirements definition, implementation, testing, and postmortem followup. There are hints for dealing with missed deadlines, staffing, and design problems.
The reality is that teams are used throughout the software industry, but many computer science students do not get much experience working in successful teams. As a first encounter with team development, Introduction to the Team Software Process provides a model for serious implementation of a smart, rigorous software method that can put readers on the right track with group development. --Richard Dragan
Topics Covered: Team Software Process (TSP) basics and scripts, building production software teams, team goals, team roles, planning, risk management, quality plan, requirements, design principles, product implementation, integration and system testing, test planning, defect tracking, documentation, conducting postmortems, team leaders, development managers, planning managers, quality/process managers, support managers.
Customer Reviews:
Excellent Process for Software Devleopment.......2005-03-31
totalitarian control is not the answer.......2004-05-19
Outstanding Reference for Software Engineers.......2000-10-23
Good introduction to creating software in a team.......2000-08-30
The processes are written as scripts. These are very easy to follow and take the guesswork out of how to do each step in the lifecycle.
This is a process book therefore there is not a lot of technically-oriented information in the book. For example, the book tells you that you must design your software. It does not give many guidelines on what a good (object-oriented, client-server, real time, etc.) design might look like. In addition, some of the data bookkeeping is long and involved. A good tool would help with this.
Overall, this is a good tutorial and a good reference book. I used this book as a graduate student, and I continue to pull ideas out of it for use in my work.
Average customer rating:
|
Apache Jakarta and Beyond: A Java Programmer's Introduction
Larne Pekowsky Manufacturer: Addison-Wesley Professional ProductGroup: Book Binding: Paperback Similar Items:
ASIN: 0321237714 |
Customer Reviews:
Excellent introduction to Apache Jakarta and beyond.......2005-12-31
Nice coverage of the top jakarta tools for webapps.......2005-03-24
Average customer rating:
|
Language Development: An Introduction (with Audio CD) (6th Edition)
Robert E. Owens Manufacturer: Allyn & Bacon ProductGroup: Book Binding: Paperback Similar Items:
ASIN: 0205433189 |
Book Description
In recognition of the tremendous variation across children and language, the fifth edition of this readable book devotes much more space to individual developmental differences and cultural differences. Discussion of other cultures has been included wherever possible. In addition, the sections on bidialectalism and bilingualism have been expanded to reflect more accurately the realities of everyday life in the United States. Developed within a chronological framework, every aspect of syntax, morphology, semantics, phonology, and pragmatics is examined. For anyone interested in language development.Customer Reviews:
Easy to Understand.......2007-02-13
Good info, hard read.......2007-01-04
Too much information.......1999-07-22
Average customer rating:
|
How to Design Programs: An Introduction to Programming and Computing
Matthias Felleisen , Robert Bruce Findler , Matthew Flatt , and Shriram Krishnamurthi Manufacturer: The MIT Press ProductGroup: Book Binding: Hardcover Similar Items:
ASIN: 0262062186 |
Book Description
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills--critical reading, analytical thinking, creative synthesis, and attention to detail--that are important for everyone, not just future computer programmers.Customer Reviews:
Excellent Book for Rookies and Veterans.......2006-12-26
A Recipe for Programming.......2006-07-06
Everyone should learn to design programs.......2004-06-03
The joy of learn programming.......2003-11-15
Should be read by Everyone who wants to program........2001-09-27
Both things happened quite often, though.
The problems are mainly because they don't know how to "design" their programs properly. Being able to progam doesn't mean being to design/organize a good code at all. And being good at finding/inventing algorithms for problem solving doesn't mean that either.
One another thing, I (maybe just only me, I don't know) think that C shouldn't be taught as the first language (at least, not anymore). This is mainly because, in C, you can hardly express yourself. Also, C codes look cryptic to those new to programming. And you must know a lot, and practice a lot, (that takes a lot of time, friend) to be able to express what you want.
And also, several times, I saw many people just playing around with the * and & (well, the pointer-dereferencing, and address-taking symbol in C/C++), adding one more, deleting one off, to see which will make their programs work. (Sometime, it just works by miracle...)
This book, using Scheme (a modern dialect of Lisp) as the language of choice. I, personally, agree of choosing it. Scheme was designed in the way such that programmers can focus on what they want to express, rather than imprementation details. From my own experience, I became a better programmer after learning it. (I was already a C++ programmer by that time. I just have to use Lisp on my study/research).
One thing that I like is that, it focused on how to "design" programs, not just how to program, while college classes are mostly focused on how to write programs. No matter how students write their codes, if it could run, then it is fine.
Then, I think, a lot of people do have ability to program, a lot are good at it. However, the number of people who knows how to design programs are much lesser. And this would result in something like those silly examples at the beginning of this review. Therefore, this book had emphasized on quite an important thing.
And the last thing to say about this one is: MIT Press' textbooks are very high-quality, and this one is not an exception. It is very easy to read and to understand. And, even the html version is available at the book's official homepage, it is nice to have the printed version.
How to "design" programs is very important for every CS major people, and is important to everyone else in general (to program your "everyday life schedule", etc). Whether you want to become a professional programmer (write codes for living, etc) or not.
Average customer rating: |
Born to Talk: An Introduction to Speech and Language Development (4th Edition)
Lloyd M. Hulit , and Merle R. Howard Manufacturer: Allyn & Bacon ProductGroup: Book Binding: Hardcover Similar Items:
ASIN: 0205453317 |
Books:
Recommended Books