Practical Enterprise Software Development Techniques: Tools and Techniques for Large Scale Solutions

  • 3h 27m
  • Edward Crookshanks
  • Apress
  • 2015

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 additional coverage of code review, bug tracker systems and agile software applications. The chapter order has been changed in response to feedback from readers and instructors who have taught classes using the previous version (which was also published by Apress).

This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team.

This book aggregates many of these "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts.

For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc.

The architecture discussion revolves has a similar emphasis – different teams may manage different aspects of the application’s components with little or no access to the developer.

This aspect of restricted access is also mentioned in the section on logging.

Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why it’s very important in an enterprise environment.

What you’ll learn

  • Version control in a team environment
  • Debugging, logging, and refactoring
  • Unit testing, build tools, continuous integration
  • An overview of business and functional requirements
  • Enterprise design patterns and architecture

Who this book is for

Software developers who are new to enterprise environments and recent graduates who want to convert their academic experience into real-world skills. It is assumed that the reader is familiar with Java, .NET, C++ or another high-level programming language. The reader should also be familiar with the differences between console applications, GUI applications and service/daemon applications.

About the Author

Ed Crookshanks has over 18 years of experience in software development. He started with C on a VAX machine for medical research, moved on to C++ on both Unix and PC platforms, database programming, and finally added some Java and .NET in a wide variety of business domains.

For over nine years Mr. Crookshanks has worked in the financial services industry using .NET, Java, Oracle, SQL Server, Tibco, and many other tools to support line-of-business efforts and procedures. This included web and desktop applications, service applications, data warehousing and ETL, and batch processing utilities utilizing FTP, MQ, and web service communication.

He is also a former adjunct professor and a Certified Trainer delivering classes on SQL Server and Visual Studio. He has instructed and performed development on diverse platforms in addition to Microsoft including Java and Java Servlets, PHP, Apache, Tomcat, Android, and Objective-C programming for the iPhone. Active in the local development community, he participates and occasionally presents to the local developer's guild.

In this Book

  • How Enterprise Software is Different
  • Software Requirements
  • Design Patterns and Architechture
  • Development Methodologies and SDLC
  • Version Control
  • Unit Testing and Test-Driven Development
  • Refactoring
  • Debugging
  • Build Tools and Continuous Integration
  • Just Enough SQL