BT

InfoQ Homepage Modeling Content on InfoQ

Articles

RSS Feed
  • The C4 Model for Software Architecture

    Software architecture diagrams can be a very useful communication tool, but many teams have scaled back on the creation of diagrams, and when diagrams are created, they are often confusing and unclear. The C4 model consists of a hierarchical set of software architecture diagrams for context, containers, components, and code.

  • Building Apps Leveraging Municipal Open Data and Low Code Solutions

    Municipal governments produce and commission large amounts of data and information every day. This article demonstrates how Oracle Application Express (APEX) -- a low code, cloud-based development tool -- can be used in combination with the Socrata Open Data API (SODA) to build a simple reporting web application that includes a report and a chart based on the NYC 311 service request open data.

  • Domain Analysis by Color Modeling

    Xu Hao uses the color modeling technique to analyze a domain, identifying the events to be traced and their corresponding moment-intervals, then the domain entities and the role they play.

  • Harnessing the Power of Architectural Design Principles

    Architecture principles epitomize architecture's function: to clearly define the necessary constraints on a system's design without prescriptively defining all the design details. A good set of principles can provide context and justification for design decisions and can foster team collaboration and communication.

  • Towards an Agile Software Architecture

    Boyan Mihaylov covers his experience when working with both traditional waterfall software architectures and agile ones. He depicts the similarities and differences between these with a focus on three areas: the specifics of the software architect role, the timespan of the software architecture, and the output of the software architecture.

  • UED: The Unified Execution Diagram

    Today’s software applications have a lot of concurrent tasks that are distributed over multiple threads, processes, processors and PCs. This article introduces a visual modeling technique to describe and specify the application’s execution architecture. Within Philips Healthcare the Unified Execution Diagram has proven to be very useful for designing and documenting the execution architecture.

  • Metadata-Driven Design: Building Web APIs for Dynamic Mobile Apps

    More than ten years ago, software architect Kevin Perera invented a design method for architectures that was called "metadata-driven design and development". In this article, Aaron Kendall explains how to use this design method and outlines similarities as well as differences to current techniques like RESTful services or HATEOAS by implementing a metadata-driven mobile application.

  • Interview with Grady Booch

    Grady Booch discusses the growth of software engineering as a discipline with Mark Collins-Cope, the pair covers topics ranging from UML and Unified Process to Programming Languages and the future of software innovation.

  • Data Modeling with Key Value NoSQL Data Stores – Interview with Casey Rosenthal

    In Key Value data stores, data is represented as a collection of key–value pairs. The key–value model is one of the simplest non-trivial data models, and richer data models are implemented on top of it. InfoQ spoke with Casey Rosenthal from Basho team about the data modeling concepts and best practices when using these NoSQL databases for data management.

  • Modeling in the Agile Age: What to Keep Next to Code to Scale Agile Teams

    Now that Agile methods have become mainstream in software development, working code is considered the most important team artifact. There is still a need for modeling. Kenji Hiranabe explores the spaces where modeling fits and plays an important role in this Agile age. With focus on development scaling to multiple teams where a shared understanding of the system’s “Big Picture” becomes essential.

  • Agile Software Architecture Sketches and NoUML

    Understanding the software architecture of what you're building can prevent chaos and encourage collective code ownership. In the race for agility though, many teams struggle to do this, particularly since they've abandoned UML in favour of "boxes and lines" sketches. Moving fast requires good communication, but how do you do this without resorting to big design up front and UML?

  • A Proposal to Enhance the UML Notation

    Raul Rugiero proposes an enhancement to the UML notation whereby requirements and test cases, in particular acceptance tests, are strictly related. Agile methodologies highlight this aspect basing themselves on test driven approaches. The notation of UML use cases may be enhanced in order to allow enhanced UML tools to properly handle links between use cases and tests.

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.