Welcome to
Hands-on Software Engineering Resources

Practical guides, methods, and best practices in software engineering—designed for students, researchers, and practitioners.

Why Hands-on Software Engineering

Software Engineering is the disciplined application of engineering principles to the design, development, and maintenance of software systems. Unlike computer science, which emphasizes theory and computation, software engineering focuses on creating practical, reliable, and scalable solutions under real-world constraints.
A hands-on approach to software engineering brings theory to life, allowing learners and practitioners to engage in modeling, design, implementation, and evaluation in real scenarios—strengthening problem-solving skills and deepening professional expertise.

Explore Our Resources

This website offers supplementary materials and practical resources that complement our published books. These resources are intended for advanced researchers and practitioners, providing in-depth, practical guidance that is not readily available elsewhere but made accessible through our books and this website.
The resources are organized into the following areas:

Software Architecture

Software architecture is one of the most critical design activities in modern software development, serving as the foundation for building reliable, scalable, and maintainable systems. Its importance becomes even greater in the context of large-scale, industrial-strength systems, where complexity and performance demands pose significant design challenges. To overcome these challenges, adopting a structured and scalable architecture design methodology is essential.

The Unified Architecture Process (UAP) provides a comprehensive and practical methodology for software architecture design. It offers a systematic framework that enables architects, engineers, and researchers to design effective architectures that meet real-world requirements. The methodology is thoroughly presented in the following book:
S. D. Kim and M. Kim, Hands-on Software Architecture: Unified Architecture Process. Springer, 2025. ISBN: 978-3-032-01183-1.
This website delivers valuable UAP resources and supplementary materials to extend the book’s contents, making it a practical hub for both learning and applying software architecture design in practice.

Object-Oriented Technology

Object-Oriented Technology originates from Object-Oriented Programming (OOP) and establishes the foundation for modern software engineering, programming languages, platform libraries and frameworks, and development tools.
This website provides technical resources covering the following core areas of Object-Oriented Technology.

  • Object-Oriented Programming Key Concepts
  • Object-Oriented Analysis and Design (OOAD)
  • Applied Unified Modeling Language (UML)
  • Applied Design Patterns
  • Object-Oriented Testing and Quality Assurance

AI Systems Architecture and Engineering

AI system is defined as a system that integrates data acquisition, learning models, reasoning mechanisms, and deployment infrastructure to deliver intelligent functionality in real-world environments. It encompasses not only the machine learning or inference components but also the surrounding engineering processes—such as data management, system architecture, scalability, monitoring, and continuous improvement—that ensure reliability, usability, and long-term sustainability.
Developing complete AI systems is highly technical and presents significant challenges, mainly due to the complexity of acquiring and managing data, training and configuring machine learning models, integrating reasoning mechanisms, and deploying these components within reliable and scalable engineering processes.
This website provides technical resources in the following core areas of AI systems:

  • Foundations of AI Systems with Machine Learning
  • Reference Architectures of AI Systems
  • Engineering Autonomous Agentic AI Systems
  • Engineering AI Systems for Medical Diagnosis and Treatment

Meet Our Team

We are a team of researchers and practitioners with extensive R&D experience. Our team brings together two categories of experts: Computer Science experts and Application Domain experts.
Key members of the team include the following experts:

  • Soo Dong Kim, Ph.D.
    Founder/CEO, PrimeAI Labs LLC, CA, USA
    Emeritus Professor, School of Software, Soongsil University, Seoul, Korea
  • Jennifer Jin, Ph.D.
    Associate Professor, School of Computer Science and Engineering, California State University, San Bernadino, CA, USA
  • Mira Kim, Ph.D.
    Assistant Professor, Department of Computer Science, California State University, Fullerton, CA, USA
  • Daniel Jin, M.D.
    Assistant Professor, Vascular & Interventional Radiology, Loma Linda University Medical Center, CA, USA
  • Myong Ho Song, Ph.D.
    Project Manager, Division of Industrial AI, DeltaX Corporation, Seoul, Korea