Discover the foundations of software engineering with this easy and intuitive guide
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.
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
An intuitive and straightforward guide to the foundations of software engineering
In the newly revised second edition of Beginning Software Engineering, veteran programmer and award-winning instructor Rod Stephens delivers the fundamentals of software engineering, showing you how to create well-constructed applications that meet users’ needs. You’ll learn the practical, hands-on skills you need to design and build software that’s robust, efficient, and reliable.
The author avoids unnecessary jargon and sticks to simple and straightforward English that helps you understand the concepts and ideas he explains in the book. He also provides real-world tested methods you can apply to any programming language, including C#, Java, Python, and more. The book doesn’t assume any experience with programming, development, or management, and uses intuitive case examples and explanatory sections to highlight and simplify more advanced topics for beginning learners.
Full of practical tips for preparing for programming job interviews—which often include questions about software engineering practices—and no-nonsense tutorials for requirements gathering, system modeling, design implementation, testing, and debugging, Beginning Software Engineering is perfect for anyone interested in a new career in software development as well as those simply curious about the software engineering process.
Produktdetaljer
Biografisk notat
ROD STEPHENS is a former Microsoft MVP, programmer, and award-winning instructor who speaks regularly at programming conferences and users’ group meetings. He has written more than 250 magazine articles as well as 37 books that have been translated into at least ten different languages on topics including C#, Python, and other languages. He runs the popular C# Helper and VB Helper web sites.