Book Image

Hands-On Software Engineering with Python

By : Brian Allbee, Nimesh Verma
Book Image

Hands-On Software Engineering with Python

By: Brian Allbee, Nimesh Verma

Overview of this book

Software Engineering is about more than just writing code—it includes a host of soft skills that apply to almost any development effort, no matter what the language, development methodology, or scope of the project. Being a senior developer all but requires awareness of how those skills, along with their expected technical counterparts, mesh together through a project's life cycle. This book walks you through that discovery by going over the entire life cycle of a multi-tier system and its related software projects. You'll see what happens before any development takes place, and what impact the decisions and designs made at each step have on the development process. The development of the entire project, over the course of several iterations based on real-world Agile iterations, will be executed, sometimes starting from nothing, in one of the fastest growing languages in the world—Python. Application of practices in Python will be laid out, along with a number of Python-specific capabilities that are often overlooked. Finally, the book will implement a high-performance computing solution, from first principles through complete foundation.
Table of Contents (21 chapters)
Free Chapter
1
Programming versus Software Engineering

To get the most out of this book

You should know, specifically, about the following:

  • How to download and install Python (3.6.x was used while writing this book, but the code here is expected to work in 3.7.x with little or no modification)
  • How to write Python functions
  • How to write basic Python classes
  • How to install Python modules with pip, and how to import modules into your code

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com
  2. Select the SUPPORT tab
  3. Click on Code Downloads & Errata
  4. Enter the name of the book in the Search box and follow the onscreen instructions

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Hands-On-Software-Engineering-with-Python. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Within the src directory is the package tree for the project."

A block of code is set as follows:

def SetNodeResource(x, y, z, r, v): n = get_node(x,y) n.z = z n.resources.add(r, v)

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

def __private_method(self, arg, *args, **kwargs):             print('%s.__private_method called:' % self.__class__.__name__)  print('+- arg ...... %s' % arg) print('+- args ..... %s' % str(args))  print('+- kwargs ... %s' % kwargs)

Any command-line input or output is written as follows:

$python setup.py test

Bold: Indicates a new term, an important word, or words that you see on the screen, for example, in menus or dialog boxes, also appear in the text like this. For example: "Select System info from the Administration panel."

Warnings or important notes appear like this.
Tips and tricks appear like this.