InfoQ Homepage Modeling Content on InfoQ
-
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.
-
Wireframes: A Great Way to Start Development Projects
In this article, Andreas Wulf introduces wireframing as a simple and effective way to kickstart your development projects. Wireframes allow you to present your ideas in a tangible form so that can be shared and debated (without writing any code). By leaving out graphic design details, wireframes are not only quick and easy to create and change, they help us stay focused on the “big picture”.
-
How to Integrate Models And Code
While creating models in a form or another is very common, their combination with the code has been challenging. As a result, models are usually thrown away once the implementation has progressed. The reason is partly in the modeling languages used and partly in the tools applied. The article describes proven practices for working with both models and code.
-
Modeling Failure Scenarios in Systems
The increase in number of integrated systems in today’s enterprise solutions necessitates dealing with dependency and environment failures in a systematic way. By modeling dependency failures at the architecture stage, system response to failures can be communicated, tested and implemented reducing the business risk and cost.
-
Ember.js: Rich Web Applications Done Right
This article walks you through building an application with Ember.js, showing the MVC system, data binding, as well as how to build GUI and Touch support.
-
Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
Nick Rozanski and Eoin Woods have continued their journey of building a comprehensive handbook on Systems Software architecture with the publication of the second edition of Software Systems Architecture. InfoQ spoke to the authors on a couple of new topics, the System Context viewpoint and Agile, that are covered in the latest edition.
-
Agile Modeling: Enhancing Communication and Understanding
Modeling supports us in communicating and understanding when we create software solutions. As communication and understanding are two of the most critical aspects of delivering software solutions - modeling is a valuable tool that should not be overlooked. Agile Modeling adheres to and aligns with Agile values and principles and should be one of the practices within your Agile toolkit.
-
Patterns-Based Engineering: Successfully Delivering Solutions via Patterns
InfoQ spoke with Lee and Celso about the Patterns-Based Engineering: Successfully Delivering Solutions via Patterns book, discussing patterns for working with patterns, MDD and the promise of reuse. The book focuses on how to improve efforts in identifying, producing, managing and consuming patterns – leading to better software delivered more quickly with fewer resources.
-
Concrete: Rich, Customizable DSL Editors for the Browser
Text-based DSLs are useful, an custom editor for the DSL is even better. Concrete allows to build customized editors for JSON-based DSLs/Models. InfoQ talks to Concrete's creator Martin Thiede.
-
Interview and Book Excerpt: George Fairbanks’ Just Enough Software Architecture
Just Enough Software Architecture book, by author George Fairbanks, focuses on a risk-driven approach to software architecture development. George explains Architecture Modeling process from different perspectives such as Engineering Use Models, Conceptual, Domain, Design and Code Models. InfoQ spoke with George about the book and his thesis project on design fragments in software framework.
-
Staying Safe and Sound Thanks to MDSD
In this article, Andreas Kaltenbach explains how Model-Driven Software Development (MSDS) can help solving backward compatibility problems when creating a newer version of a software which can mean a new API or a new database schema that old clients cannot use. MSDS is used to negotiate the differences between versions to ease the upgrading process.