Showing posts with label Software engineering. Show all posts
Showing posts with label Software engineering. Show all posts

12/25/2009

Review of Guide to Graphics Software Tools (Springer Professional Computing) (Hardcover)

Not only are his language skills extremely lacking, but his coding is sloppy and his teaching leaves MUCH to be desired.Don't think I'm just a disgruntled student who wants revenge on the professor,because I got an A- for the course and I slept through it.The book really is not all that good.The majority of the book itself is references to other resources.What's left is only four chapters that do not delve very deep into any of the concepts that they supposedly cover.It is not worth it to get this book.

Product Description
Current graphics software and hardware combine to allow multiple-level functionality and open up new application areas for scientists of all disciplines, and for computer scientists and engineers in particular. This integrated guide explains and lists readily available and widely used graphics software tools and their applications, while also serving as a shortcut to graphics theory and programming. It grounds readers in fundamental concepts and helps them use visualization, modeling, simulation, and virtual reality to complement and improve their work.

Features:

* Comprehensive and practical coverage of software graphics tools

* Provides a uniquely categorized compendium of 265 3-D graphics software tools

* Concise listings of platforms and pricing, applications, examples, functions, and related Web resources

* Shortcut to practical graphics principles and methods

* Includes a CD-ROM with extensive collection of source code and executables

* Extensive pointers to websites and other proven helpful sources

* Combines theory and OpenGL programming with an accessible approach

Readers will find the book an authoritative and useful catalogue of practical, working software tools and methods.

About the author: Jim Chen is director of the Computer Graphics Laboratory at George Mason University and editor of the visualization column, and the Visualization Portal (website), for the IEEE magazine, Computing in Science and Engineering.

Click Here to see more reviews about: Guide to Graphics Software Tools (Springer Professional Computing) (Hardcover)

12/14/2009

Review of Game Development with ActionScript (Paperback)

There are few author's that take the beginner's (dummy) route to teaching programming to the masses and this book shines brightly in that department. From start to finish, it seems that the author knows what I want to do and shows me thoroughly how to do it properly with different ways to tackle it. I highly recommend this book to anyone that wants to take FLASH MX to sky high heights and not just leave this wonderful program to websites.

Product Description
Lewis Moronta, Queens, New York, has been programming and working withcomputer graphics since 1996. Lewis began freelancing as a graphicdesigner in 1998 through his virtual studio,m80produxions.com. His website hosts many articles on math,programming, and computer graphics, including 3D animation. Lewisearned a degree in visual communications from Katharine Gibbs Schoolin New York in 2003. Lewis recently formed Ism Studios, a graphicdesign and animation studio that handles everything from graphicdesign to professional-level CGI.

About the Author
Lewis Moronta, Queens, New York, has been programming and working with computer graphics since 1996.His website hosts many articles on math, programming, and computer graphics, including 3D animation. Lewis earned a degree in visual communications from Katharine Gibbs School in New York in 2003. Lewis recently formed Ism Studios, a graphic design and animation studio that handles everything from graphic design to professional-level CGI.

Click Here to see more reviews about: Game Development with ActionScript (Paperback)

11/23/2009

Review of Systems Development Handbook, Fourth Edition (Hardcover)

This book is a compendium of monographs, each written by an industry expert, that cover all major topic areas in the development life cycle.It is divided into twelve sections ranging from Management and Planning to Post Development Administration.While the monographs have been carefully grouped, and the book benefits from consistent editing to form a coherent volume of practices, some of the topics are either weak or out-of-date.However, there are key topics that represent some of the best thinking in both software engineering and service delivery.Among the ones I found best are:

- All of Section I, covering project communications, requirements management and managing outsourcing risks.

- Section III, especially the emphasis on reuse, objects and metrics.A gem in this section is "Web-Based Customer Self Service: Justifying and Planning Applications".

- "Creating Effective Batch SQL Jobs" in Section IV addresses an often overlooked real world challenge.

- Sections IX (Quality and Productivity Initiatives) and X (Leveraging Staff Resources) are especially relevant to any organization.A highlight in Section X is "A Worksheet for Goals and Skills Assessment".

- Sections XI (Supporting Existing Software) and XII (Post Development Administration) add considerable value to this book by addressing a range of topics not normally found in books about development or software engineering - or are usually given brief treatment.These two sections should be read and taken to heart by the project and development teams delivering applications to service and support. It will bridge what in too many organizations is a wide chasm.

Each section is followed by a checklist, which can be used by practitioners to ensure that there are no major gaps in their own organizational processes.The best use of this book is as an organizational reference with a copy in for each project manager, process improvement group, and development group.

Product Description
The Systems Development Handbook provides practical guidance for the range of new applications problems, featuring contributions from many industry experts. The book provides step-by-step charts, tables, schematics, and a comprehensive index for easy access to topics and areas of related interest. Topics include cooperative processing; the transition to object-oriented development; rapid application development tools and graphical user interfaces (GUIs); database architecture in distributed computing; development tools and techniques, including design, measurement, and production; and more.

Click Here to see more reviews about: Systems Development Handbook, Fourth Edition (Hardcover)

11/02/2009

Review of Game Testing All in One (Game Development Series) (Paperback)

Traditional program testing has come a long way in 50 years but the complexity, time constraints and variety of situations facing game testers is at the edge of the software testing world.

The authors combine authentic experience with Computer Games and Game Testing in a logical, pragmatic and interesting way. They long ago reasoned that it is very costly (if not sometimes impossible) to test all possible paths through a game's options and through the application of some insightful statistical approaches present ways to reduce the total number of tests required under certain assumptions. To me this one insight was worth the cost of the book.

Beyond this outstanding statistical testing insight for the workers in the field, the expository material that coversGames is exceptionally good for the individual trying to put the whole field in perspective. In Part I they address "Being a Game Tester" (with a side venture later in the book to identify different game testing personalities) followed by a good discussion of "Why Testing is Important". Part II talks about the "Making of a Game" while Part III introduces the concepts and vocabulary of Testing. In Part IV the authors bring in the concept of Combinatorial Testing ( another statistical approach) and present it in a step by step way so that the tester can perform the testing suite without knowing all of the theory behind that approach. "Test Flow Diagrams", "Cleanroom Testing" and "Test Trees" adds very modern disciplined techniques to the testing tool process that will prove of value. Part V discusses some advanced testing ideas all of which are very practical in the fast evolving world of Games.

The authors seem to have been brought together and inspired to write just at the time when the field realizes that loosely structured ad-hoc testing may be costing more than the field can afford.


Product Description
"Game Testing All in One" focuses on testing fundamentals, including how to create a test plan as well as how to set up a test case tree. It walks you through game testing basics, including topics like artificial intelligence, performance, and collision. You will explore each of the major game genres and discuss key elements to consider when testing. This book will also provide you with strategies to find a job testing games. You will walk away with a fundamental understanding of how the game industry works from the test perspective.

From the Publisher
Covers the details of game testing from a current tester's perspective. Includes elements of a textbook such as exercises, Q&As and quizzes. The first book completely dedicated to the game test industry.

Click Here to see more reviews about: Game Testing All in One (Game Development Series) (Paperback)

10/19/2009

Review of Model-Driven Software Development (Hardcover)

Do not buy this book unless you want to have a collection of obvious things that do not add anything to you.


Product Description
Abstraction is the most basic principle of software engineering. Abstractions are provided by models. Modeling and model transformation constitute the core of model-driven development. Models can be refined and finally be transformed into a technical implementation, i.e., a software system.The aim of this book is to give an overview of the state of the art in model-driven software development. Achievements are considered from a conceptual point of view in the first part, while the second part describes technical advances and infrastructures. Finally, the third part summarizes experiences gained in actual projects employing model-driven development.Beydeda, Book and Gruhn put together the results from leading researchers in this area, both from industry and academia. The result is a collection of papers which gives both researchers and graduate students a comprehensive overview of current research issues and industrial forefront practice, as promoted by OMG's MDA initiative.

About the Author
Sami Beydeda is an IT officer at the Federal Finance Office (Bundesamt füer Finanzen), Germany. His research interests besides model-driven development include software testing and component-based development. He has written his PhD thesis on "The Self-Testing COTS Components (STECC) Method". Sami Beydeda is a program committee co-chair of TECOS 2004, TQACBS 2005, program committee member of COMPSAC 2004, SEA 2004, QATWBA 2004, QATWBA 2005, TQACBS 2005. Matthias Book is a research associate at the Chair of Applied Telematics / e-Business at the University of Leipzig in Germany. He is writing his PhD thesis on dialog flow control in web applications. His research interests include software engineering for distributed applications and especially model-driven design of web applications.Volker Gruhn is a full professor at the computer science department of the University of Leipzig, Germany. His research interests are component-based development, software processes for distributed systems, architecture of electronic commerce applications and workflow management. He has been chief technical officer of a German software house called LION from 1992 to 1996. In this position he was responsible for a software development department of 150 people. Volker Gruhn was a PC member of major software engineering conferences (ESEC95, ESEC97, ICSE2004) and several software process workshops and conferences. He was program chair of the 6th European Workshop on Software Process Technology and the 8th European Software Engineering Conference. Volker Gruhn has already organized a workshop at ICSE, the Engineering Distributed Objects Workshop during ICSE 99. In 1997 Volker Gruhn co-founded adesso AG, a German software house specialized in component-based software development. adesso AG currently has 170 employees.

Click Here to see more reviews about: Model-Driven Software Development (Hardcover)

Review of Software Engineering, Vol. 2: The Supporting Processes (Paperback)

This book is a mandatory reading for those who is going to take IEEE Computer Society Certified Software Developer (CSDP) test. Really it is nothing else but really well chosen collection of articles on various software engineering subjects. This book could be an excellent if not its low quality printing format which makes it hard to read. Mine got dirty on sides and all covered with pencil marks - not all books on my bookshelf received such VIP treatment :-)

Product Description
This second volume on software engineering processes includes reprinted and newly authored papers that describe the supporting life cycle processes in a manner that can prepare individuals to take the IEEE Computer Society Certified Software Development Professional examination. Volume 2 details the eight supporting life cycle processes that developers need to employ and execute in the engineering of software products. This required support plays an integral part and has a distinct purpose that affects the overall success and quality of the software project.

The eight supporting processes covered in this guide include the documentation, configuration management, quality assurance, verification, validation, joint review, audit, and problem resolution. In addition, this tutorial covers the four processes of the organizational life cycle. These are used to establish and implement an underlying structure made up of associated life cycle processes and personnel that will continuously improve upon the structure and process of the project. These organizational processes are management, infrastructure, improvement, and training.

Each chapter in this book starts by introducing the subject, supporting papers, and standards. The backbone for this publication is IEEE/EIA Standard 12207-1997, Standard for Information Technology - Software Life Cycle Processes.

From the Back Cover
This second volume on software engineering processes includes reprinted and newly authored papers that describe the supporting life cycle processes that can prepare individuals to take the IEEE Computer Society Certified Software Development Professional examination. Volume 2 details the eight supporting life cycle processes that developers need to employ and execute in the engineering of software products. This required support plays an integral part and has a distinct purpose that affects the overall success and quality of the software project.

The eight supporting processes covered in this include the documentation, configuration management, quality assurance, verification, validation, joint review, audit, and problem resolution. In addition, this tutorial covers the four processes of the organizational life cycle. These are used to establish and implement an underlying structure made up of associated life cycle processes and personnel that will continuously improve upon the structure and process of the project. These organizational processes are management, infrastructure, improvement, and training.

Each chapter in this book starts by introducing the subject, supporting papers, and standards. The backbone for this publication is IEEE/EIA Standard 12207-1997, Standard for Information Technology-Software Life Cycle Processes.

Click Here to see more reviews about: Software Engineering, Vol. 2: The Supporting Processes (Paperback)

Review of Software Engineering (Practitioners) (Paperback)

This book accululates the classic works of the accepted authorities in the field of Software Engineering. As a senior consultant for government and industry for software productivity improvement, I continuously refer to and recommend this book to my clients and co-workers. This book should be required reading for every computer science, MIS professional.Thank you for the effort it took to bring this all together.

Product Description
This first edition of the popular tutorial, Software Engineering, describes the current state of the practice of software engineering. This book begins with an overview of current issues and in particular the engineering of large complex systems. Its collection of landmark papers goes on to describe the problems that occur in developing software, and presents the concepts for system engineering of software intensive systems and of engineering software products as the solution to the "software crisis."

The text illustrates the phases of the software development life cycle: requirements, design, implementation, testing, and maintenance. Furthermore, it discusses the current practices in requirements and design, and defines software development methodologies, including a special emphasis on object-oriented tools and formal methods. The book also covers programming activities as they affect software engineering, details verification and validation throughout the software life cycle, and discusses software quality assurance, configuration management, and standards. In addition, the book covers project management and risk management concerns, and discusses the various life cycle process models including the spiral and incremental models.

From the Back Cover
This first edition of the popular tutorial, Software Engineering, describes the current state of the practice of software engineering. This book begins with an overview of current issues and in particular the engineering of large complex systems. Its collection of landmark papers goes on to describe the problems that occur in developing software, and presents the concepts for system engineering of software intensive systems and of engineering software products as the solution to the "software crisis."

The text illustrates the phases of the software development life cycle: requirements, design, implementation, testing, and maintenance. Furthermore, it discusses the current practices in requirements and design, and defines software development methodologies, including a special emphasis on object-oriented tools and formal methods. The book also covers programming activities as they affect software engineering, details verification and validation throughout the software life cycle, and discusses software quality assurance, configuration management, and standards. In addition, the book covers project management and risk management concerns, and discusses the various life cycle process models including the spiral and incremental models.

Click Here to see more reviews about: Software Engineering (Practitioners) (Paperback)

10/18/2009

Review of Software Product Lines: Experience and Research Directions (The Springer International Series in Engineering and Computer Science) (Hardcover)

The Software Product Line (SPL) engineering for software development is one of the emerging areas in software engineering field and Software Engineering Institute(SEI) is the leading group of this practice. The major concern of SPL engineering is how to develop software systems in a systematic way for large-scale software reuse.

This book is the proceedings of the first software product line conference (SPLC1) held at Denver, hosted by SEI. This book contains all the papers presented at the technical sessions of SPLC1. This book might be helpful for those who are considering the adaption of SPL concept to their organizations and those who want to know the SPL in practice.

Product Description
Software product lines are emerging as a critical new paradigmfor software development. Product lines are enabling organizations toachieve impressive time-to-market gains and cost reductions. With theincreasing number of product lines and product-line researchers andpractitioners, the time is right for a comprehensive examination ofthe issues surrounding the software product line approach. TheSoftware Engineering Institute at Carnegie Mellon University is proudto sponsor the first conference on this important subject. This book comprises the proceedings of the First Software Product LineConference (SPLC1), held August 28--31, 2000, in Denver,Colorado, USA. The twenty-seven papers of the conference technicalprogram present research results and experience reports that cover allaspects of software product lines. Topics include business issues,enabling technologies, organizational issues, and life-cycle issues.Emphasis is placed on experiences in the development and fielding ofproduct lines of complex systems, especially those that exposeproblems in the design, development, or evolution of software productlines. The book will be essential reading for researchers andpractitioners alike.

Click Here to see more reviews about: Software Product Lines: Experience and Research Directions (The Springer International Series in Engineering and Computer Science) (Hardcover)

10/17/2009

Review of Software Development on a Leash (Expert's Voice) (Paperback)

I have mixed feelings about this book. The main idea of it (as far as I understand) is achieving high degree of reuse by separating the software from its concrete application and expressing this application in "structural and behavioral metadata". Moreover, in your application, you must get rid of any dependecties on things that you do not control by wrapping it in your software layer and exposing it to the application as very abstract ("metamorphic") object model. The author provides some interesting examples for this and presents the basic building blocks of a software framework built around these ideas. As much as it might sound compelling this concept is not really new. What is worse is that methods and advice presented in the book are sometimes simply wrong or often have serious drawbacks which the author doesn't talk about.

For example the author really hates strong typing and recommends reducing the interface of _all_ your classes to just 3 members: "Item", "Ref" and "Action". This is bizarre. The view of strong typing as an enemy of the programmer is completely wrong; it was actually introduced to help control side-effects of changes to class interfaces. Another example is the virtual database layer the author proposes: while it is true that it lets the programmer switch the underlying database engine very easily it is based on relatively low-level SQL concepts and suffers from the least common denominator syndrome. I would say that for many, if not most, application a better way is to design a higher-level database abstraction layer that takes advantage of the engine capabilities. Usually it is not much more code and the performance difference might be enormous.

Finally there is the cost aspect. You cannot really adopt the method partially; either you are in or out. And you must really have almost unlimited resources to develop this kind of framework yourself. Which makes you think that it would be reasonable to get the framework developed by the author already. Which is just what the author wants and which is strongly reinforced with the last chapter of the book that literally sounds like a Ginzu knife sales pitch. Is it worth it? You have to decide yourself. For me the extreme programming advice: "Always build the simplest thing that works" has worked very well so far...

Product Description
<p><i>Software Development on a Leash</i> is designed as a roadmap for experienced developers and architects who are interested in implementing a turbocharged software development process that encourages reuse and innovation. Author David Birmingham's products have been successfully deployed in a variety of venues, including highly complex desktop environments, with rapid turnaround and high-intensity delivery deadlines.</p><p>This book contrasts the application-centric development approach to the architecture-centric development approach, introducing the concept of the <i>metamorphic superpattern</i>&emdash;the capability of a software program to dynamically adapt to changing application requirements without rebuilding the binary executable.</p><p>Birmingham invites the reader to deploy reusable structural and behavioral building blocks, along with some powerful frameworks to gain immediate traction in any setting. He includes a high-speed multidimensional toolkit to organize and deploy the building blocks, essentially weaving the application together at run-time rather than being hard-wired in program code.</p><p>Birmingham then ties the building blocks together with structural and behavioral metadata, allowing simple, interpreted macros to drive everything from database access, screen layouts, and many aspects of software development normally embedded directly into the software program&emdash;and reused! The rapid deployment effect this creates allows developers to perform simple surgical application changes or rapid, sweeping rework/enhancement&emdash;without changing compiled software.</p>

Click Here to see more reviews about: Software Development on a Leash (Expert's Voice) (Paperback)

Review of Framework-Based Software Development in C++ (Paperback)

This book is intended for those who already know C++ but also want to be exposed to the future trends of applying STL integrating with Object Oriented Database Systems and CORBA. Although STL, ODMG-93 and CORBA arecovered in an introductory manner, their relationship with the process offramework design is very appropriate.

Rogers writes well and the presentshis topics in an organized manner.After reading it completely, I enjoyedrereading individual chapters in a random order to glean more of hisinsight. I recommend the book to those programmers that want to look intothe future of effectively designing their products to be used in adistibuted environment.

Product Description
The first book that presents a software development methodology for building C++ class frameworks using emerging object standards: CORBA, STL, and ODMG-93. It may be viewed as a software developers handbook, one that explains how to use Object-Oriented Design the way in which it was originally intended.

Click Here to see more reviews about: Framework-Based Software Development in C++ (Paperback)

Review of Software Process Improvement with CMM (Hardcover)

I had the opportunity to read Mr. Raynus' book prior to final publication, and feel that it provides the best overview of process improvement with CMM now available. It is not a detailed analysis of the model; rather it linksthis valuable tool to overall software improvement. Mr. Raynus discussesother tools which must be used in this endeavor--common sense, a good graspof software metrics, and the ability to define goals and objectives. SWprofessionals will find his outlook to be a breath of fresh air--he hasbeen in the business, and knows how to put CMM in the right perspective. Throughout the book interesting parables and quotes are used to underscorethe need for good problem definition, and a sensible outlook.Then thespecifics of CMM are brought in to show how this powerful model can be usedto focus an organization's efforts.Also notable is the concise way Mr.Raynus organizes and explains the area of software metrics, which is theunderpinning for CMM. Finally, the author provides excellent case studymaterial, showing first-hand the ways an organization copes withmajor CMMimplementation--this alone is worth the price of the book.

It may soundlike an oxymoron to call this "an enjoyable CMM book"--softwareengineering isn't supposed to be fun! Even so, Mr. Raynus brings personality and a sense of humour to his task, as well as a lot ofconceptual and practical expertise. I for one strongly recommend the bookfor anyone working with, or considering, software improvement efforts withCMM.

Product Description
A practical, step-by-step approach for improving an organization's software development process, using the Software Engineering Institute's Capability Maturity Model (CMM).Gives software project managers & administrators a practical understanding of software process improvement with CMM & how it can be implemented.DLC: Computer software - development.

About the Author
Joseph Raynus is currently a principle at InfoDynamics, Inc., and has over 20 years leadership experience in Informational Technology products, services, and software improvement. Mr. Raynus is also a Certified CMM Evaluator, Software Engineering Institute, Carnegie Mellon University.

Click Here to see more reviews about: Software Process Improvement with CMM (Hardcover)

10/16/2009

Review of Software Development Rhythms: Harmonizing Agile Practices for Synergy (Hardcover)

How to manage a large software project is a perennial problem in practical programming. Here the authors offer advice based on the so-called agile approach. They heavily dump on the traditional waterfall method, as being too coarse grained and liable to lead to projects being too late or, equivalently, not meeting all the requirements.

One interesting touch they add is a recommendation to start your project with open source code, whenever possible. There are indeed differences between typical agile software processes and open source development projects, as the book acknowledges. Open source rarely has budget constraints [everyone's donating free time] or often even a schedule. How many commercial software projects, agile or not, can say this?

There is also a chapter devoted to pair programming. This has been the distinguishing feature of Extreme Programming, and much derided by critics. But the book's take on pair programming is a nuanced difference from that espoused by XP. Perhaps worth a careful read, even if you don't end up fully agreeing with the authors.

Product Description
This book is a comprehensive and thought-provoking introduction to some of the most advanced concepts in current software management. The authors demonstrate how software development rhythms can be harmonized to achieve synergies, making them stronger together than they would be apart. It offers readers practical guidance on how to take the themes and concepts presented in this book back to their own projects to harmonize their software practices and release the synergies of their own teams.

Click Here to see more reviews about: Software Development Rhythms: Harmonizing Agile Practices for Synergy (Hardcover)

10/14/2009

Review of Social Thinking--Software Practice (Hardcover)

This book is an interesting collection of essays on the soft elements of software engineering.Most of the essays deal with organizational and process aspects from a cross-functional perspective, and there is an emphasis on requirements and business/IT alignment in the overall theme of this collection.

Each of the five parts and 21 essays are grouped by a book structure that aligns to cross-functional cooperation from a software engineering point of view:
Part I Deconstructing
Chapter 1 -Developing and Embedding Autooperational Form Chapter 2 -On Foundational Categories in Software Development Chapter 3 -Making Use of Social Thinking: The Challenge of Bridging Activity Systems Chapter 4 -Challenging Traditions of Inquiry in Software Practice
Part II Informing
Chapter 5 -On Retrieving Skilled Practices: The Contribution of Ethnography to Software Development Chapter 6 -Representing and Modeling Collaborative Practices for Systems Development Chapter 7 -The Locales Framework: Making Social Thinking Accessible for Software Practitioners Chapter 8 -What Doesn't Fit: The "Residual Category" as Analytic Resource
Part III Grounding
Chapter 9 -On the Intertwining of Social and Technical Factors in Software Development Projects Chapter 10 -Software Practice is Social Practice Chapter 11 -"Yes-What Does That Mean?" Understanding Distributed Requirements Handling Chapter 12 -Doing Empirical Research on Software Development: Finding a Path between Understanding, Intervention, and Method Development
Part IV Organizing
Chapter 13 -Changing Work Practices in Design Chapter 14 -Information Systems Research and Information Systems Practice in a Network of Activities Chapter 15 -Reaching out for Commitments: Systems Development as Networking Chapter 16 -Participatory Organizational and Technological Innovation in Fragmented Work Environments Chapter 17 -Large-Scale Requirements Analysis as Heterogeneous Engineering
Part V Reorienting
Chapter 18 -Useware Design and Evolution: Bridging Social Thinking and Software Construction Chapter 19 -Discontinuities Chapter 20 -Localizing Self on the Internet: Designing for "Genius Loci" in a Global Context Chapter 21 -Intent, Form, and Materiality in the Design of Interaction Technology

Anyone who is concerned about business/IT alignment and software process improvement, especially readers who are working in a CMM Level 3 or above environment or in an IT or consulting organization that is a profit center will benefit from the many (if not all) of the ideas in this book.Even if some of the information is not actionable in your organization, it will cause you to view software engineering from multiple perspectives.

Product Description
Software practice--which includes software development, design, and use--needs to go beyond the traditional engineering framework. Drawing on a variety of social theory approaches, this book focuses on interdisciplinary cooperation in software practice. The topics discussed include the facilitation of collaborative software development, communication between developers and users, and the embedding of software systems in organizations.

About the Author
Yvonne Dittrich is Assistant Professor in the Software Development Group at IT University of Copenhagen.

Christiane Floyd is Professor in the Department of Informatics (Software Engineering Group) at the University of Hamburg.

Ralf Klischewski is Assistant Professor in the Department of Informatics (Software Engineering Group) at the University of Hamburg.

Click Here to see more reviews about: Social Thinking--Software Practice (Hardcover)

Review of Software Management (Practitioners) (Paperback)

First, if you're looking for a book on managing software projects, this is not it. It is a very difficult subject to learn from a book. In fact, large organizations typically have their own project management practices, and have classes to teach their PM's.

Project Management is difficult to learn on your own, and is a hard topic to cover academically. This book can be used in others ways. For example, as a reference for experienced PM's; it can confirm notions of practices, or be referenced for very narrow topics, as software estimations.

Some of the articles are old, and may be out of date, and may be used anecdotally.

This book contains facsimiles of articles ranging from HBR to the highly technical, and a broad range of topics from personnel, to organization, to management, to technical. I found it interesting, but not very useful in terms of practice.

Product Description
This Seventh Edition of Donald Reifer's popular, bestselling tutorial summarizes what software project managers need to know to be successful on the job. The text provides pointers and approaches to deal with the issues, challenges, and experiences that shape their thoughts and performance. To accomplish its goals, the volume explores recent advances in dissimilar fields such as management theory, acquisition management, globalization, knowledge management, licensing, motivation theory, process improvement, organization dynamics, subcontract management, and technology transfer.

Software Management provides software managers at all levels of the organization with the information they need to know to develop their software engineering management strategies for now and the future. The book provides insight into management tools and techniques that work in practice. It also provides sufficient instructional materials to serve as a text for a course in software management.

This new edition achieves a balance between theory and practical experience. Reifer systematically addresses the skills, knowledge, and abilities that software managers, at any level of experience, need to have to practice their profession effectively.

This book contains original articles by leaders in the software management field written specifically for this tutorial, as well as a collection of applicable reprints. About forty percent of the material in this edition has been produced specifically for the tutorial.

Contents:
* Introduction
* Life Cycle Models
* Process Improvement
* Project Management
* Planning Fundamentals
* Software Estimating
* Organizing for Success
* Staffing Essentials
* Direction Advice
* Visibility and Control
* Software Risk Management
* Metrics and Measurement
* Acquisition Management
* Emerging Management Topics

"The challenges faced by software project managers are the gap between what the customers can envision and the reality on the ground and how to deal with the risks associated with this gap in delivering a product that meets requirements on time and schedule at the target costs. This tutorial hits the mark by providing project managers, practitioners, and educators with source materials on how project managers can effectively deal with this risk."
-Dr. Kenneth E. Nidiffer, Systems & Software Consortium, Inc.

"The volume has evolved into a solid set of foundation works for anyone trying to practice software management in a world that is increasingly dependent on software release quality, timeliness, and productivity."
-Walker Royce, Vice President, IBM Software Services-Rational

From the Back Cover
This Seventh Edition of Donald Reifer's popular, bestselling tutorial summarizes what software project managers need to know to be successful on the job. The text provides pointers and approaches to deal with the issues, challenges, and experiences that shape their thoughts and performance. To accomplish its goals, the volume explores recent advances in dissimilar fields such as management theory, acquisition management, globalization, knowledge management, licensing, motivation theory, process improvement, organization dynamics, subcontract management, and technology transfer.

Software Management provides software managers at all levels of the organization with the information they need to know to develop their software engineering management strategies for now and the future. The book provides insight into management tools and techniques that work in practice. It also provides sufficient instructional materials to serve as a text for a course in software management.

This new edition achieves a balance between theory and practical experience. Reifer systematically addresses the skills, knowledge, and abilities that software managers, at any level of experience, need to have to practice their profession effectively.

This book contains original articles by leaders in the software management field written specifically for this tutorial, as well as a collection of applicable reprints. About forty percent of the material in this edition has been produced specifically for the tutorial.

Contents:

  • Introduction
  • Life Cycle Models
  • Process Improvement
  • Project Management
  • Planning Fundamentals
  • Software Estimating
  • Organizing for Success
  • Staffing Essentials
  • Direction Advice
  • Visibility and Control
  • Software Risk Management
  • Metrics and Measurement
  • Acquisition Management
  • Emerging Management Topics

"The challenges faced by software project managers are the gap between what the customers can envision and the reality on the ground and how to deal with the risks associated with this gap in delivering a product that meets requirements on time and schedule at the target costs. This tutorial hits the mark by providing project managers, practitioners, and educators with source materials on how project managers can effectively deal with this risk."
-Dr. Kenneth E. Nidiffer, Systems & Software Consortium, Inc.

"The volume has evolved into a solid set of foundation works for anyone trying to practice software management in a world that is increasingly dependent on software release quality, timeliness, and productivity."
-Walker Royce, Vice President, IBM Software Services-Rational

Click Here to see more reviews about: Software Management (Practitioners) (Paperback)

10/13/2009

Review of Open Source Software Law (Artech House Telecommunications Library) (Hardcover)

This is one of two books that are essential resources for software acquisition - "Software Agreements Line by Line" (ISBN 1587623692) for commercial software, and this one for open source.

The SCO debacle with respect to Linux, and earlier cases of open source challenges, such as that related to MySQL, underscore the importance of understanding what you can and cannot do under the provisions of the various open source license models.This book provides a thorough understanding of each of the major license models, a comparison of open source to commercial models, and topics such as intellectual property protection, governing laws, and related issues.

I like the way the author, a practicing attorney and respected expert in cyberlaw and Internet governance, places open source in context with background information on software patents, open source goals and the Open Source Definition.This is key to understanding the licensing models, including GNU GPL, Copyleft, Aladdin Free Public License, and Open Software License. It's also key to understanding the limitations and possible vulnerabilities inherent with these license models in particular, and open source models in general - especially regarding ownership of code, derivative works, and the legal ramifications.

An interesting chapter for anyone who is considering releasing an open source product, "Rolling Your Own Open Source License", covers these issues from the developer's perspective, and gives excellent advice for selecting the appropriate open source license model.

The appendices and associated CD ROM contain a wealth of reference material, ranging from significant provisions of UCITA and UETA (1999), to a summary of every major and some minor models not covered in detail in the body of the book. Two areas in the appendix that merits attention are Fundamentals of Copyright Law, and the Digital Millennium Copyright Act (DMCA), both of which are germane.

This book is augmented by the author's weblog, which is an invaluable resource and should be visited.The CD ROM that comes with this book is a searchable resource for quickly finding license template information and related laws.

Product Description
Provides a broad introduction to the area of software licensing in the information age. Helps professionals and students to understand the basic philosophy and key issues of open source license. Explains the legal framework that has been developed to support the increasingly popular Internet-based open source and free software community.

Click Here to see more reviews about: Open Source Software Law (Artech House Telecommunications Library) (Hardcover)

10/11/2009

Review of Encyclopedia of Software Engineering: 2 [IMPORT] (Hardcover)

This book is good enough for reference.

1
There are something like IEEE/IEC VHDL is , but IEEE/IEC Verilog-HDL is not.

A word of VHDL is in the requriments driven design, not in the co-design.

2
IEC FMEA are in 8 sentences, but IEC HAZOP are no sentences.
IEC FMEA and IEC HAZOP are both important analysis technologies in software development.

Are they rudiculous? Or incompletely integrated?




Click Here to see more reviews about: Encyclopedia of Software Engineering: 2 [IMPORT] (Hardcover)

10/10/2009

Review of Risk Management Processes for Software Engineering Models (Artech House Computer Science Library) (Hardcover)

When I first read this book in 1997 I thought it was interesting, but quirky.When I recently re-read it I had the benefit of four more years of experience and more scars from grappling with many of the issues that this book addresses. The 12 chapters in this 225-page book cover a spectrum of issues and factors that most books on software engineering risk management only lightly touch upon or overlook completely.

The chapters are sequenced as follow: 1-Introduction, 2-Industrial Espionage, 3-Software Engineering, 4-Software Metrics, 5-Security, 6-Process Maturity Models, 7-Asset Valuations, 8-Security Threats, 9-Security Controls and Tests, 10-Safeguards, 11-Economic Analysis, and 12-Reiterative Processes.

Chapter 2, Industrial Espionage leaps out at you and tells you that this is not a run-of-the-mill SW risk book.If the risks are not obvious, consider the threats to intellectual property that can manifest themselves when development is contracted out or contract labor is used to augment an in-house development team.If this book goes into a second edition I hope the author also includes patent issues as well, because the book was published in 1996 and since them two significant legal cases (State Street Bank vs. Signature Finance Group, Inc. [1998] and AT&T vs. Excel Communications, Inc. [1999]have set precedents that add further to this particular category of risk, and may merit a separate chapter on patent risks.

Each of the other chapters exposes risks--some obvious, and some not-so-obvious--inherent in software engineering models and their associated processes. Bear in mind that while this book introduces quantitative methods, it is no substitute for a book on software engineering risk management if you are new to the topic.The reason is this book covers the subtleties and often overlooked aspects, but is not an introductory text on the subject.

My favorite chapters are 4 (software metrics), 67 (asset valuations) and 11 (economic analysis) because those are areas in which I am interested.I also liked chapter 6 (process maturity models) because it exposes risks that need to be considered if you are in the process of selecting or implementing one of the models (CMM, SPICE, etc.).

Overall, this is a useful and interesting book if you have a great deal of prior experience in software engineering, SQA or process implementation.My only complaint--and it's minor--is Chapter 5 (Security) should have been grouped with the related chapters (8, 9, and 10). If you fall into the audience I cited above you'll benefit greatly from this book.

Product Description
The potential threats associated with software development are identified as the author explains how to establish an effective risk management program. The text details the six critical steps involved in applying the process and discusses various software metrics approaches which can be used to measure software quality.

About the Author
Judy Myerson earned her M.S.E.E. in computer and information sciences from an ivy league university. She is a computer/software engineer, a technical writer and consulting editor of computer manuals, technical reports, and textbooks. She has written numerous articles on data language and processing technologies for national trade publications.

Click Here to see more reviews about: Risk Management Processes for Software Engineering Models (Artech House Computer Science Library) (Hardcover)