Object-Oriented Software Engineering: An Agile Unified Methodology - Hardcover

9780073376257: Object-Oriented Software Engineering: An Agile Unified Methodology
View all copies of this ISBN edition:
 
 

Object-Oriented Software Engineering: An Agile Unified Methodology, presents a step-by-step methodology - that integrates Modeling and Design, UML, Patterns, Test-Driven Development, Quality Assurance, Configuration Management, and Agile Principles throughout the life cycle. The overall approach is casual and easy to follow, with many practical examples that show the theory at work. The author uses his experiences as well as real-world stories to help the reader understand software design principles, patterns, and other software engineering concepts. The book also provides stimulating exercises that go far beyond the type of question that can be answered by simply copying portions of the text.

"synopsis" may belong to another edition of this title.

From the Author:
The writing of the book has been motivated by years of unsuccessful search for an OO software engineering textbook that(1) teaches students practical, up-to-date problem-solving skills and solid theoretical foundations,(2) is interesting and easy to learn, and(3) contributes to the student's long term career growth.As the instructor, and director of the ABET accredited software engineering program, I feel obligated to develop the needed teaching material that fulfills these goals. The material presented in the book is the result of years of effort and continual improvements, based on my observation of students' performance, and the feedback received from students.The book is also written for instructors who want to switch to an agile software engineering approach. Software engineers and students who are puzzled by the problems faced in design, implementation and testing and who want to improve their OO development capabilities will find the book helpful. Finally, the book also devotes separate chapters for system engineering, software quality assurance, testing object-oriented and web applications, software maintenance, software configuration management, software project management, and software security.
From the Inside Flap:
PREFACE
 
Background
Computers are widely used in all sectors of our society, performing a variety of functions with the application software running on them. As a result, the market for software engineers is booming. The March 2006 issue of the Money Magazine ranked software engineer as the number 1 of the 50 best jobs in U.S. According to Bureau of Labor Statistics (BLS) 2010-2020 projections, the total number of jobs in application development software engineers and system analyst positions is expected to increase from 520,800 to 664,500 (27.6%) and from 544,400 to 664,800 (22.10%), respectively. To be able to perform the work required of an application development software engineer or systems analyst, an education in software engineering is highly desired. However, according to the data released by BLS ("Earned Awards and Degrees, by Field of Study, 2005-2006"), only 160 bachelor and 600 master's degrees in software engineering, and 10,289 bachelor and 4,512 master's degrees in computer science were awarded in 2006. Thus, there is a significant gap between the demand and supply, especially for graduates with a software engineering degree.
Many people do not know the scope and usefulness of software engineering as a practice, and the discipline is often misunderstood. Many media outlets seem to define software engineering as writing Java programs. Some students think that software engineering includes everything related to software. Others think that software engineering is drawing UML diagrams, as the following story illustrates. Several years ago, after the first class of an object-oriented software engineering (OOSE) course, a student said to me, "Professor, you know that this will be an easy course for me because we've drawn lots of UML diagrams before." At the end of the semester, the student came to me again and said, "Professor, I want to tell you that we had worked very hard but we learned a lot about OO design. It is not just drawing UML diagrams as I thought." So what is software engineering? As a discipline, it encompasses research, education and application of engineering processes, methodologies, quality assurance, and project management to significantly increase software productivity and software quality while reducing software cost and time to market.
OOSE is a branch of software engineering that is characterized by its view of the world as consisting of objects relating to and interacting with each other. The advent of the C++ programming language in the 1980s marked the beginning of the OOSE era. Since then, software production began its unprecedented world-wide growth and was further accelerated by the creation and world-wide adoption of the unified modeling language (UML) and the unified process (UP). Strictly speaking, a software process describes the phases and what should be done in each phase. It does not define (in detail) how to perform the activities in each phase. A modeling language, such as UML, defines the notations, syntax and semantics for communicating and documenting analysis and design ideas. UML and UP are good and necessary but not sufficient. This is because how to produce the analysis and design ideas required to draw meaningful UML diagrams is missing.
Motivation
To fill the gaps discussed in the last paragraph, we need a methodology or a "cookbook." Unlike a process, a methodology is a detailed description of the steps and procedures or how to carry out the activities to the extent that a beginner can follow to produce and deploy the desired software system. Without a methodology, a beginning software engineer would have to spend a few years of on-job training to learn OO design, implementation and testing skills.
The writing of the book is also motivated by emerging interests in agile processes, design patterns and test driven development (TDD). Agile processes emphasize teamwork, design for change, rapid deployment of small increments of the software system, and joint development with the customer and users. Design patterns are effective design solutions to common design problems. Design patterns promote software reuse and improve team communication. TDD advocates testable software, requires test scripts to be produced before the implementation so that the latter can be tested immediately and frequently.
As an analogy, consider the development of an amusement park. The overall process includes the following phases: planning, public approval, analysis and design, financing, construction drawings, construction, procurement of equipment, installation of equipment, pre-opening, and grand opening. However, knowing the overall process is not enough. The development team must know how to perform the activities of the phases. For example, the planning activities include development of initial concept, feasibility study, and master plan generation. The theme park team must know how to perform these activities. The analysis and design activities include "requirements acquisition" from stakeholders, site investigation, design of park layout, design of theming for different areas of the park, creating models to study the layout design and theming, and producing the master design. Again, the theme park team must know how to perform these activities to produce the master design. Unlike a process that describes the phases of activities, a methodology details the steps and procedures or how to perform the activities.
The development of an amusement park is a multi-year project and costs billions of dollars. The investor wants the park to generate revenue as early as possible; but with the above process, the investor has to wait until the entire park is completed. Once the master design is finalized, it cannot be modified easily due to the restrictions imposed by the conventional process. If the park does not meet the expectations of the stakeholders, then changes are costly once the park is completed.
Agile processes are aimed to solve these problems. With an agile process, a list of preliminary theme park requirements is acquired quickly and allowed to evolve during the development process. The amusement and entertainment facilities are then derived from the requirements and carefully grouped into clusters of facilities. A plan to develop and deploy the clusters in relatively short periods of time is produced --- that is, rapid deployment of small increments. Thus, instead of a finalized master design, the development process designs and deploys one cluster at a time. As the clusters of facilities are deployed and operational, feedback is sought and changes to the requirements, the development plan, budget and schedule are worked out with the stakeholders --- that is, joint development. In addition, the application of architectural design patterns improves quality and ability of the park to adapt to changing needs --- that is, design for change. Teamwork is emphasized because effective collaboration and coordination between the teams and team members ensure that the facilities will be developed and deployed timely and seamlessly.  The agile process has a number of merits. The investor can reap the benefits much earlier because the facilities are operational as early as desired and feasible. Since a small number of the facilities is developed and deployed at a time, errors can be corrected and changes can be made more easily.
In summary, ...
Audiences, Organization, and Acknowledgment are omitted due to limit on space.
 

"About this title" may belong to another edition of this title.

  • PublisherMcGraw Hill
  • Publication date2013
  • ISBN 10 0073376256
  • ISBN 13 9780073376257
  • BindingHardcover
  • Edition number1
  • Number of pages720
  • Rating

Other Popular Editions of the Same Title

9789339221225: Object-Oriented Software Engineering: An Agile Unified Methodology, 1Ed

Featured Edition

ISBN 10:  9339221222 ISBN 13:  9789339221225
Publisher: MC GRAW HILL INDIA, 2015
Softcover

  • 9781259080791: Object-Oriented Software Engineering: An Agile Unified Methodology

    McGraw..., 2013
    Softcover

Top Search Results from the AbeBooks Marketplace

Stock Image

Kung, David
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
LibraryMercantile
(Humble, TX, U.S.A.)

Book Description Condition: new. Seller Inventory # newMercantile_0073376256

More information about this seller | Contact seller

Buy New
US$ 94.19
Convert currency

Add to Basket

Shipping: US$ 3.00
Within U.S.A.
Destination, rates & speeds
Stock Image

Kung, David
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
Front Cover Books
(Denver, CO, U.S.A.)

Book Description Condition: new. Seller Inventory # FrontCover0073376256

More information about this seller | Contact seller

Buy New
US$ 93.33
Convert currency

Add to Basket

Shipping: US$ 4.30
Within U.S.A.
Destination, rates & speeds
Stock Image

Kung, David
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
GoldenWavesOfBooks
(Fayetteville, TX, U.S.A.)

Book Description Hardcover. Condition: new. New. Fast Shipping and good customer service. Seller Inventory # Holz_New_0073376256

More information about this seller | Contact seller

Buy New
US$ 97.31
Convert currency

Add to Basket

Shipping: US$ 4.00
Within U.S.A.
Destination, rates & speeds
Stock Image

Kung, David C.
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
GoldBooks
(Denver, CO, U.S.A.)

Book Description Hardcover. Condition: new. New Copy. Customer Service Guaranteed. Seller Inventory # think0073376256

More information about this seller | Contact seller

Buy New
US$ 98.17
Convert currency

Add to Basket

Shipping: US$ 4.25
Within U.S.A.
Destination, rates & speeds
Stock Image

Kung, David C.
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
Wizard Books
(Long Beach, CA, U.S.A.)

Book Description Hardcover. Condition: new. New. Seller Inventory # Wizard0073376256

More information about this seller | Contact seller

Buy New
US$ 100.26
Convert currency

Add to Basket

Shipping: US$ 3.50
Within U.S.A.
Destination, rates & speeds
Stock Image

Kung, David
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover First Edition Quantity: 3
Seller:
Textbooks_Source
(Columbia, MO, U.S.A.)

Book Description hardcover. Condition: New. 1st Edition. Ships in a BOX from Central Missouri! UPS shipping for most packages, (Priority Mail for AK/HI/APO/PO Boxes). Seller Inventory # 001351827N

More information about this seller | Contact seller

Buy New
US$ 99.96
Convert currency

Add to Basket

Shipping: US$ 3.99
Within U.S.A.
Destination, rates & speeds
Seller Image

Kung Dr., David C.
Published by McGraw-Hill Education (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
booksXpress
(Bayonne, NJ, U.S.A.)

Book Description Hardcover. Condition: new. Seller Inventory # 9780073376257

More information about this seller | Contact seller

Buy New
US$ 145.76
Convert currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, rates & speeds
Stock Image

David Kung
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
Revaluation Books
(Exeter, United Kingdom)

Book Description Hardcover. Condition: Brand New. 1st edition. 720 pages. 9.40x7.60x1.20 inches. In Stock. Seller Inventory # 0073376256

More information about this seller | Contact seller

Buy New
US$ 187.80
Convert currency

Add to Basket

Shipping: US$ 12.54
From United Kingdom to U.S.A.
Destination, rates & speeds
Seller Image

Kung, David C.
Published by McGraw Hill (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 5
Seller:
GreatBookPrices
(Columbia, MD, U.S.A.)

Book Description Condition: New. Seller Inventory # 18889340-n

More information about this seller | Contact seller

Buy New
US$ 198.36
Convert currency

Add to Basket

Shipping: US$ 2.64
Within U.S.A.
Destination, rates & speeds
Seller Image

Kung, David
Published by McGraw-Hill Education (2013)
ISBN 10: 0073376256 ISBN 13: 9780073376257
New Hardcover Quantity: 1
Seller:
Pieuler Store
(Suffolk, United Kingdom)

Book Description Condition: new. Book is in NEW condition. Satisfaction Guaranteed! Fast Customer Service!!. Seller Inventory # PSN0073376256

More information about this seller | Contact seller

Buy New
US$ 188.95
Convert currency

Add to Basket

Shipping: US$ 31.34
From United Kingdom to U.S.A.
Destination, rates & speeds

There are more copies of this book

View all search results for this book