Practical Enterprise Software Development Techniques Tools and Techn

This expanded and updated edition of "Practical Enterprise Software Development Techniques" includes a new chapter which explains what makes enterprise scale software development different from other development endeavors. Chapter 4 has been expanded with

  • PDF / 7,839,703 Bytes
  • 223 Pages / 439.43 x 666.14 pts Page_size
  • 23 Downloads / 204 Views

DOWNLOAD

REPORT


Contents at a Glance About the Author���������������������������������������������������������������������������� xiii About the Technical Reviewer����������������������������������������������������������xv Acknowledgments��������������������������������������������������������������������������xvii Introduction�������������������������������������������������������������������������������������xix ■■Chapter 1: How Enterprise Software Is Different���������������������������� 1 ■■Chapter 2: Software Requirements������������������������������������������������ 5 ■■Chapter 3: Design Patterns and Architechture����������������������������� 19 ■■Chapter 4: Development Methodologies and SDLC����������������������� 37 ■■Chapter 5: Version Control����������������������������������������������������������� 61 ■■Chapter 6: Unit Testing and Test-Driven Development����������������� 91 ■■Chapter 7: Refactoring��������������������������������������������������������������� 109 ■■Chapter 8: Debugging����������������������������������������������������������������� 129 ■■Chapter 9: Build Tools and Continuous Integration�������������������� 141 ■■Chapter 10: Just Enough SQL����������������������������������������������������� 155 ■■Appendix A: Enterprise Considerations and Other Topics���������� 181 ■■Appendix B: Discussion Questions��������������������������������������������� 191 ■■Appendix C: Database Details����������������������������������������������������� 199 ■■Appendix D: Bibliography����������������������������������������������������������� 203 Index���������������������������������������������������������������������������������������������� 205 v

Introduction Purpose The purpose of this book is to discuss and provide additional resources for topics and technologies that current university curriculums may leave out. Some programs or professors may touch on some of these topics as part of a class, but individually they are mostly not worthy of a dedicated class, and collectively they encompass some of the tools and practices that should be used throughout a software developer’s career. Use of these tools and topics is not mandatory, but applying them will give the student a better understanding of the practical side of software development. In addition, several of these tools and topics are the “extra” goodies that employers look for experience working with or having a basic understanding of. In discussions with industry hiring managers and technology recruiters, the author has been told repeatedly that fresh college graduates, while having the theoretical knowledge to be hired, are often lacking in more practical areas such as version control systems, unit testing skills, debugging techniques, interpreting business requirements, and others. This is not to slight or degrade institutional instruction, only to point out that there are tools and techniques that are part of enterprise software development that don’t fit well within the confines of an educational environment. Knowledge of these can give