Ebook Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung
Even the cost of an e-book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung is so budget-friendly; lots of people are really thrifty to establish aside their money to acquire guides. The various other factors are that they really feel bad and also have no time to visit the book shop to search the book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung to review. Well, this is modern-day era; numerous books can be obtained easily. As this Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung and also more books, they can be got in extremely quick methods. You will not have to go outdoors to get this e-book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung
Ebook Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung
Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung When creating can change your life, when creating can enhance you by offering much money, why don't you try it? Are you still really confused of where understanding? Do you still have no concept with exactly what you are going to write? Currently, you will certainly need reading Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung A good author is a good user at the same time. You could define how you write relying on what books to review. This Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung could help you to solve the trouble. It can be one of the ideal resources to establish your writing skill.
As we explained in the past, the modern technology helps us to consistently recognize that life will certainly be constantly less complicated. Reviewing e-book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung practice is likewise among the perks to obtain today. Why? Modern technology can be made use of to supply guide Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung in only soft data system that could be opened up every time you want and also almost everywhere you need without bringing this Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung prints in your hand.
Those are several of the perks to take when obtaining this Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung by on the internet. However, exactly how is the way to get the soft file? It's quite right for you to visit this page due to the fact that you could obtain the web link page to download and install the book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung Merely click the link given in this post and also goes downloading. It will not take significantly time to obtain this e-book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung, like when you should go for book shop.
This is also among the factors by obtaining the soft data of this Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung by online. You might not need more times to spend to go to guide shop as well as search for them. Sometimes, you likewise don't locate guide Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung that you are looking for. It will certainly throw away the time. But here, when you visit this web page, it will certainly be so simple to obtain and download and install the e-book Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung It will not take several times as we explain in the past. You could do it while doing another thing at residence and even in your office. So simple! So, are you question? Simply exercise just what we offer right here as well as review Object-Oriented Software Engineering: An Agile Unified Methodology, By David Kung what you like to read!
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.
- Sales Rank: #555069 in Books
- Brand: Brand: McGraw-Hill Science/Engineering/Math
- Published on: 2013-01-22
- Original language: English
- Number of items: 1
- Dimensions: 9.20" h x 1.20" w x 7.40" l, 2.70 pounds
- Binding: Hardcover
- 720 pages
- Used Book in Good Condition
Review
"It has been two years since my graduation. I really enjoyed OOSE and Design Patterns classes. I still remember the first day how I learned to create Use Cases from requirements. As a software developer, I follow your teaching in every project. The methodology that I leaned has helped me design/develop software in a RIGHT WAY. In every project I had worked on, I use STEP BY STEP DESIGN methodology that I leaned in your classes. My project lead is so glad to see professional documents ... THANK YOU for the knowledge that you shared with us." - from an undergraduate alumnus
"I would like to say 'thank you' for the way you designed and taught our classes. The two classes I took with you - OO concepts and Design Patterns are helping me earning 'bread and butter' every day. I worked as a consultant for past few years in different companies and I realized the process you taught is far more advanced than they follow here in real world - which is very good and helpful. I got chance to suggest even more experienced people out here in the field. I am very grateful to you." - from an undergraduate alumnus
"We are using your methodology on our project. It's gone very well so far. We are currently in the implementation phase. They have a lot of good design documentation. I'm thinking of setting a goal this year for each group to do at least one project using your methodology." - from a large multinational company
"Dr. Kung taught an eight week (32 hours) course to our team of 40 software engineers last summer. The methodology and patterns are currently being used in several projects of our embedded and simulation lines of products. We successfully completed a major project using this methodology and see significant productivity and quality improvements with very few integration and verification defects in comparison to similar projects we have done before. I highly recommend this to any one developing and managing software." - from the project manager of a large multinational manufacturing company
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.
�
Most helpful customer reviews
1 of 1 people found the following review helpful.
A truly great book for anyone who wants to learn
By loklok104
I really like this book. It has informative content and example for me to create a software system report to submit to my boss. I really glad that I found this book. I have listed each part below along with the chapters found in each one.
Part 1 Introduction and System Engineering
Chapter 1 Introduction
Chapter 2 Software Process and Methodology
Chapter 3 System Engineering
Part 2 Analysis and Architectural Design
Chapter 4 Software Requirements Elicitation
Chapter 5 Domain Modeling
Chapter 6 Architectural Design
Part 3 Modeling and Design of Interactive Systems
Chapter 7 Deriving Use Cases from Requirements
Chapter 8 Actor-System Interaction Modeling
Chapter 9 Object Interaction Modeling
Chapter 10 Applying Responsibility-Assignment Patterns
Chapter 11 Deriving a Design Class Diagram
Chapter 12 User Interface Design
Part 4 Modeling and Design of Other Types of Systems
Chapter 13 Object State Modeling for Event-Driven Systems
Chapter 14 Activity Modeling for Transformational Systems
Chapter 15 Modeling and Design of Rule-Based Systems
Part 5 Applying Situation-Specific Patterns
Chapter 16 Applying Patterns to Design a State Diagram Editor
Chapter 17 Applying Patterns to Design a Persistence Framework
Part 6 Implementation and Quality Assurance
Chapter 18 Implementation Considerations
Chapter 19 Software Quality Assurance
Chapter 20 Software Testing
Part 7 Maintenance and Configuration Management
Chapter 21 Software Maintenance
Chapter 22 Software Configuration Management
Part 8 Project Management and Software Security
Chapter 23 Software Project Management
Chapter 24 Software Security
Appendices
A Personal Software Process: Estimation, Planning, and Quality Assurance
B Java Technologies
C Software Tools
D Project Descriptions
1 of 1 people found the following review helpful.
A great book for learning and practicing OOSE
By Kuang-Nan Chang
This is the best OO software engineering book that I have read so far. I have been using Professor Kung's teaching materials to teach all my four software engineering courses for many years. Since they are easy to understand, my students have learned and followed many software engineering principles and methods covered in the materials to implement various projects in the courses. The courses have been evaluated four of the best courses in the department. I am so glad that, after many years, Dr. Kung has finally decided to publish this book along with the materials.
The book covers very practical and useful methods that are needed for software development. Different modeling methods are introduced in detail for developing different software systems (chapters 7 to 15). There are many great new features about the book. One of them is at the end of each chapter the author covers useful tools and methods for system modeling based on his substantial experiences in industry. Students should have no problem to pick up the tools and methods that have been used in industry immediately after graduation. Another great feature is the author uses simple but practical examples to explain how to use the methods covered in the book. For instance, a lot of examples are used to illustrate how to test OO systems (chapters 19 to 20), and how to apply design patterns (chapters 16 to 17) to save efforts in system design.
Because there are so many great features and topics in the book, I will recommend instructors to cover them in two or three semesters (courses). After learning the topics, students should become a well-trained software engineer.
2 of 3 people found the following review helpful.
A better subtitle would be 'A Long Winded Agile Unified Mythology'.
By Scott H.
I'm all for agile processes but much of the research that is cited is garbage. One study cited and reprinted in the book reported a p-value of .48 :( . I don't know too many field where .48 margin-of error passes as reliable evidence. Most studies cited were questionably designed, used too few subjects to be reliable, yet the author uses them as premises and then builds arguments on them that are presented as fact. If you are a professor please read this book before assigning it to your class.
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung PDF
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung EPub
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung Doc
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung iBooks
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung rtf
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung Mobipocket
Object-Oriented Software Engineering: An Agile Unified Methodology, by David Kung Kindle
Tidak ada komentar:
Posting Komentar