Description |
1 online resource (521 pages) : illustrations |
Contents |
Intro -- Table of Contents -- About the Authors -- About the Technical Reviewer -- Acknowledgments -- Preface -- Chapter 1: Introduction to Software Development -- What We're Doing -- So, How to Develop Software? -- Conclusion -- References -- Part I: Models and Team Practices -- Chapter 2: Software Process Models -- The 3(+3) Variables of Software Development -- Software Development Approaches -- Plan-Based Software Development -- Agile Software Development -- Agile Values, Principles, and Activities -- Lean Software Development -- Lean Principle 1: Eliminate Waste |
|
Lean Principle 2: Build Quality In -- Lean Principle 3: Create Knowledge -- Lean Principle 4: Defer Commitment -- Lean Principle 5: Deliver Fast -- Lean Principle 6: Respect People -- Lean Principle 7: Optimize the Whole -- Implementations of Software Development Models -- The Waterfall Model: An Assembly-Line Approach -- The Code and Fix "Model": A Proto-Agile Approach -- Agile Development Implementations -- Agile Methodology - eXtreme Programming (XP) -- Agile Framework - Crystal: Flexible Customization to Team/Project Needs |
|
Agile Framework - Scrum: Iterative Sprints Toward the Next Short-Term Goal -- Scrum Roles -- Scrum Artifacts -- Scrum Board -- Scrum Values -- Scrum Ceremonies -- Scrum Velocity -- Scrum End of Project -- Agile Framework - Kanban: Continuous Flow with Limited Current -- The Kanban Board -- Hybrid Software Development Approaches for Multi-Level Focus and Scope -- References -- Chapter 3: Project Management Essentials -- Project Planning -- Project Planning: Organization -- Project Planning: Risk Analysis -- Project Planning: Resource Requirements -- Project Planning: Task Estimation and Schedule |
|
Project Planning: Defect Management -- Soft-Aware Development -- Soft-Aware Development: The Dark Side of Teamwork -- Soft-Aware Development: Supporting the Individuals -- Soft-Aware Development: A Culture of Safety and Growth -- Safety in Learning -- Safety in Clarity -- Safety in Diversity -- Safety in Conflict -- Soft-Aware Development: Teamwork Artifacts -- Conclusion -- References -- Chapter 4: Ethics and Professional Practice -- Introduction to Ethics -- Ethical Theory -- Ethical Theory: Deontological Theories -- Ethical Theory: Consequentialism (Teleological Theories) -- Ethical Drivers |
|
Legal Drivers -- Professional Drivers -- Professional Drivers: Preamble to the ACM/IEEE-CS Software Engineering Code of Ethics -- Ethical Discussion and Decision Making -- Discussion 1: Identifying and Describing the Problem -- Discussion 2: Analyzing the Problem -- Case Studies -- #1 Copying Software -- #2 Whose Computer Is It? -- #3 How Much Testing Is Enough? -- #4 How Much Should You Tell? -- #5 Abusive Workplace Behavior -- The Last Word on Ethics -- References -- Chapter 5: Intellectual Property, Obligations, and Ownership -- Who Owns What? -- What Is Intellectual Property? |
Summary |
Learn the principles of good software design and then turn those principles into great code. This book introduces you to software engineering -- from the application of engineering principles to the development of software. You'll see how to run a software development project, examine the different phases of a project, and learn how to design and implement programs that solve specific problems. This book is also about code construction -- how to write great programs and make them work. This new third edition is revamped to reflect significant changes in the software development landscape with updated design and coding examples and figures. Extreme programming takes a backseat, making way for expanded coverage of the most crucial agile methodologies today: Scrum, Lean Software Development, Kanban, and Dark Scrum. Agile principles are revised to explore further functionalities of requirement gathering. The authors venture beyond imperative and object-oriented languages, exploring the realm of scripting languages in an expanded chapter on Code Construction. The Project Management Essentials chapter has been revamped and expanded to incorporate "SoftAware Development" to discuss the crucial interpersonal nature of joint software creation. Whether you're new to programming or have written hundreds of applications, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using the Java language, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs |
Bibliography |
Includes bibliographical references and index |
Subject |
Computer software -- Development.
|
|
Computer programming.
|
|
Web site development.
|
|
Java (Computer program language)
|
|
computer programming.
|
Form |
Electronic book
|
Author |
Kazakova, Vera A., author
|
ISBN |
9798868802850 |
|