Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Hands-On Software Engineering with Python
  • Table Of Contents Toc
Hands-On Software Engineering with Python

Hands-On Software Engineering with Python - Second Edition

By : Brian Allbee
close
close
Hands-On Software Engineering with Python

Hands-On Software Engineering with Python

By: Brian Allbee

Overview of this book

Software engineering is more than coding; it’s the strategic design and continuous improvement of systems that serve real-world needs. This newly updated second edition of Hands-On Software Engineering with Python expands on its foundational approach to help you grow into a senior or staff-level engineering role. Fully revised for today’s Python ecosystem, this edition includes updated tooling, practices, and architectural patterns. You’ll explore key changes across five minor Python versions, examine new features like dataclasses and type hinting, and evaluate modern tools such as Poetry, pytest, and GitHub Actions. A new chapter introduces high-performance computing in Python, and the entire development process is enhanced with cloud-readiness in mind. You’ll follow a complete redesign and refactor of a multi-tier system from the first edition, gaining insight into how software evolves—and what it takes to do that responsibly. From system modeling and SDLC phases to data persistence, testing, and CI/CD automation, each chapter builds your engineering mindset while updating your hands-on skills. By the end of this book, you'll have mastered modern Python software engineering practices and be equipped to revise and future-proof complex systems with confidence.
Table of Contents (22 chapters)
close
close
21
Index

Implementing the business objects

There are two business object classes that need to be defined with data persistence, Artisan and Product. In order for those to have data persistence, following the current design intention, they will need to derive from a common BaseDataObject class, which will be defined as an Abstract Base Class (ABC). The Artisan class, since it represents an artisan user, and business policy requires that artisans’ addresses need to be available, will also need to incorporate an address data structure. The kind of data that an address object would store and manage — a simple mailing address — is not limited to being associated with an Artisan. It could also be part of an order later, so the data structure, while not a business object, will be defined as a separate Address class that can be composed or aggregated into other classes as needed.

Composition and aggregation

Composition in an OOP context means that one object is...

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Hands-On Software Engineering with Python
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon