In the newly updated second edition of Beginning Software Engineering, expert programmer and tech educator Rod Stephens delivers an instructive and intuitive introduction to the fundamentals of software engineering. In the book, you’ll learn to create well-constructed software applications that meet the needs of users while developing the practical, hands-on skills needed to build robust, efficient, and reliable software.
The author skips the unnecessary jargon and sticks to simple and straightforward English to help you understand the concepts and ideas discussed within. He also offers you real-world tested methods you can apply to any programming language.
You’ll also get: - Practical tips for preparing for programming job interviews, which often include questions about software engineering practices - A no-nonsense guide to requirements gathering, system modeling, design, implementation, testing, and debugging - Brand-new coverage of user interface design, algorithms, and programming language choices
Beginning Software Engineering doesn’t assume any experience with programming, development, or management. It’s plentiful figures and graphics help to explain the foundational concepts and every chapter offers several case examples, Try It Out, and How It Works explanatory sections.
For anyone interested in a new career in software development, or simply curious about the software engineering process, Beginning Software Engineering, Second Edition is the handbook you’ve been waiting for.
Table of Contents
Introduction xxvii
Part I: Software Engineering Step- By- Step
Chapter 1: Software Engineering From 20,000 Feet 3
Chapter 2: Before the Beginning 15
Chapter 3: the Team 29
Chapter 4: Project Management 53
Chapter 5: Requirements Gathering 81
Chapter 6: High- Level Design 117
Chapter 7: Low- Level Design 155
Chapter 8: Security Design 185
Chapter 9: User Experience Design 209
Chapter 10: Programming 245
Chapter 11: Algorithms 273
Chapter 12: Programming Languages 307
Chapter 13: Testing 327
Chapter 14: Deployment 359
Chapter 15: Metrics 371
Chapter 16: Maintenance 401
Part II: Process Models
Chapter 17: Predictive Models 427
Chapter 18: Iterative Models 445
Chapter 19: Rad 465
Part III: Advanced Topics
Chapter 20: Software Ethics 523
Chapter 21: Future Trends 547
Appendix: Solutions to Exercises 559
Glossary 631
Index 663