liveBook · Manning

Information technology asset management system

As explained in AI-Powered Developer: Build software with ChatGPT and Copilot

An information technology asset management system is an application for tracking, managing, and governing an organization's technology assets.

An information technology asset management (ITAM) system tracks and manages hardware devices, software licenses, and related IT components throughout their lifecycle. It combines inventory, license management, and sometimes physical tracking with QR codes or barcodes. A centralized database records asset identifiers and attributes appropriate to each asset type. section 3.1

For hardware, useful records can include device type, model number, operating system, installed applications, purchase date, status, category, and funding details. For software, records can identify the application, vendor, available licenses, and installed computers. Tracking use helps prevent license overages, while knowing available assets can reduce unnecessary purchases and support consolidation, resale, and depreciation calculations. section 3.1 section 3.3

A hardware-focused design can grow from a core Asset model into operational concerns:

  • Model Hardware as an Asset with FundingDetails and a selectable DepreciationStrategy, including straight-line, declining-balance, double-declining, or no depreciation. section 3.3
  • Assign funding across multiple lines of business and calculate asset cost or total depreciation for a business line. section 3.3
  • Connect purchasing, vendors, invoices, employees, departments, maintenance records, audit records, users, and roles as the scope expands. section 3.3

A pragmatic implementation shape

A proposed Python implementation exposes REST APIs through FastAPI, persists data with SQLAlchemy, and separates domain services from adapters using hexagonal architecture. Its project structure includes domain hardware and service modules, FastAPI and SQLAlchemy adapters, infrastructure configuration, and focused adapter and service tests. section 3.3

Listing 3.5 Relationships between the classes in our ITAM project
classDiagram
    class MainApp
    …
    class AuditRecord
  
    MainApp --> FastAPIAdapter : Uses
    FastAPIAdapter --> HardwareService : Uses
    HardwareService --> SQLAlchemyAdapter : Uses
    SQLAlchemyAdapter "0..*" -- "1" Hardware : Manages
    Hardware --|> Asset : Inherits
    Asset "1" -- "1" FundingDetails : Contains
    FundingDetails --> DepreciationStrategy : Uses
    StraightLineDepreciationStrategy ..|> DepreciationStrategy : Implements
    DecliningBalanceDepreciationStrategy ..|> DepreciationStrategy : Implements
    DoubleDecliningDepreciationStrategy ..|> DepreciationStrategy : Implements
    NoDepreciationStrategy ..|> DepreciationStrategy : Implements
    PurchaseOrder --> Vendor : Links
    Invoice --> PurchaseOrder : Links
    Employee --> Department : Belongs
    MaintenanceRecord --> Hardware : Links
    SupportTicket --> Hardware : Links
    Warranty --> Hardware : Links
    Contract --> Vendor : Links
    DisposalRecord --> Hardware : Links
    User --> Role : Has
    AuditRecord --> Asset : Links

Inspect the class relationships to review how adapters, hardware services, assets, funding details, depreciation strategies, and operational records fit together. section 3.3

Treat an initial design as a reviewable proposal, not a finished system. Document the architecture and business requirements so stakeholders can validate needs, raise objections, and approve the proposed direction before implementation proceeds. section 3.0 section 3.3

How AI-Powered Developer: Build software with ChatGPT and Copilot covers it

How deep it goes
Defines lifecycle tracking and develops a hardware-centered domain model with architecture and relationship diagrams.
Examples
Uses asset inheritance, funding allocations, depreciation strategies, FastAPI adapters, SQLAlchemy persistence, and Mermaid diagrams.
What you can do after
Evaluate/understand a hardware-focused ITAM design and review its requirements and architecture with stakeholders.
How it connects
Connects hardware inventory with software licensing, depreciation, hexagonal architecture, REST APIs, and business requirements documents.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of AI-Powered Developer: Build software with ChatGPT and Copilot. The section links point to the parts of the book it draws on.