System Design Cheat Sheet



System Design Cheat Sheet

Cheat sheets are the best reference aid for your workflow. These cheats contain the fundamental elements like HTML tags, CSS values and properties. The advantage is that you will get all the essential elements at a glance. There are thousands of cheat sheets are available on the internet, we have picked the best among them. The System Design Cheat Sheet was released by NatalieMoore on Cheatography. Here's how they described it: Essentials of Design and the Design Activities. Download the PDF version here. More posts from the Cheatography community. Posted by 8 hours ago. Rascal Cheat Sheet by rubene (2 pages) #programming programming.

Software architecture patterns cheat sheet

Printable Cheat Sheet. This brand colors cheat sheet is designed to be attached to the bottom of a monitor for quick color reference. Three quick references fit on a single 8.5' x 11' sheet, so you can print extra references for friends! Download Cheat Sheet. The C Cheat Sheet An Introduction to Programming in C Revision 1.0 September 2000 Andrew Sterian Padnos School of Engineering Grand Valley State University.

  • DDD is an approach to data modeling
  • Separating the quick-changing to ever-stable data
  • 4 Layers
    • Infrastructure Layer = almost never change
    • Domain Layer = hardly change
    • Application Layer = could change frequently
    • Presentation Layer = changes all the time

Layers

  • DDD mostly focus on crafting the domain layer
  • Domain layer encapsulates all the domain logic

Domain vs. Application Layer

  • Domain logic = logical part of the business, i.e. the syntax of the business
  • Application logic = the configurable part of the business, i.e. the semantics of the business
  • The domain model is there to ensure the domain is legitimate, or, is syntactically correct
    • Example 1: When we put some goods to a spot in a warehouse, the spot should be empty; after we put the item in, the spot should be occupied; if someone else try to put another item in the same spot, it should not be denied
    • Example 2: In the domain of car plate registration, the plate number must always be unique, if someone try to register a plate that was already assigned to another car, the system should not allow it
    • Example 3: If I want to buy a ticket, the ticketing system should only issue a ticket after receiving the money
  • Domain logic should look very simple and intuitive and should be the same for most people familiar or unfamiliar with it, because it is based on basic logic that rarely changes
  • It should only cares about syntax but not semantics, as the latter could vary amongst different instances of the domain
    • Syntax error: two car plates had the same number; the balance between two parties in a successful transaction do not equal to zero; a ticket is issues without transaction attached to it; system shows that 100 items are at the exact same spot of a warehouse; price for an item is negative 5 dollars
    • Semantics error: a supermarket casher decide the shutdown the shop for half day; a visitor of a website can view the earnings of the site admin; someone won lottery 5 consecutive times
  • In short, if a syntax error happens, something illogical / unphysical / impossible happens; if a semantics error happens, we may feel strange but still the business plays by rules
  • Another example
    • There is a flight / business trip booking system
    • In Big Company A, only the boss can view where other people are going
    • In Startup B, everyone can see where everyone is going
    • They have very different semantics, people from one company with feel very strange about the other company, but the syntax stays the same
  • As domain logic rarely changes, so when the syntax stays the same, we are in the same domain
  • When the domain logic really change, it is highly possible that we have entered into a completely different domain
  • Each company, organization, application could have different semantics, as how the domain model is manipulated, but the domain model stays the same
  • More examples
    • HR service provides salary reports, one company allows only an employee to see his/her own salary report, another allows the employee and the boss, yet another allows everyone to see everyone; all in the same domain, same business logic, but different semantics
    • A car production line can be stopped by a button, in Toyota, everyone working on the line has the power to push the button, in Ford, only the boss has the authority; same syntax (push button > stop line), different semantics (who can do it)
    • In shop A, when you buy something, you get 1 credit for each dollar you spend, in shop B, you get 100 credit for each dollar you spend; same syntax, different semantics
  • When we have different set of semantics, we basically have a different application
  • That is the core difference between application and domain
  • This makes domain very stable and reusable across applications sharing the same syntax

Other Layers

  • Infrastructure = database, tables, message queues, basic components that could be reused in any domain and any application
  • Presentation = how the data is displayed (presented), like Web page, themes, apps, etc.

Other Ideas

  • Ubiquitous Language = When any members of the domain / on the team say “order”, we want to make sure everyone is referring to the exact same thing, so we clearly define a set of terms and use them throughout our data modeling
  • Bounding Context = There are situations when different players in the same domain must use the same name for slightly different things, then we bound a term to a context
    • For example, when referring to a “customer”, a sales is thinking about the customer’s business problem, revenue, etc.; a technician is thinking about the customer’s architecture, software stack, engineer team structure; a support personnel is thinking about the support plan, last support situation, customer contact name, etc.
    • They all use “customer” and it is difficult to give a different name for each slight variation or perspective they have, so we bound the customer to SalesContext, EngineerContext and SupportContext and create models corresponding to those contexts.

(click for PDF)

Jonathan Tweet and Mark Rein-Hagen first published Ars Magica in 1987. It was a revolutionary game, including:

System Analysis And Design Cheat Sheet

  • A system of spontaneous magic (allowing you to cast any spell you could imagine at any time).
  • Troupe-style play, in which players took on the roles of many different characters (and could even swap GMing responsibilities) in the course of a single campaign.
  • Long-term play, in which the group created a covenant of wizards and developed not only their individual characters, but the covenant as a whole.

The 5th Edition, revised by David Chart, was released in 2004 by Atlas Games. When David took over the Ars Magica line he proposed a series of 40 supplements. He then released them like clockwork, one every three months for 10 years, until all 40 books were released. The result is arguably the single most complete and deliberately comprehensive RPG product line to ever exist.

System design cheat sheet template

Part of my job at the current RPG Producer at Atlas is to figure out what’s next for Ars Magica. When I got the job I ironically noted that I had played all of Atlas’ current RPGs, but none of the current editions. (This was also true for Ars Magica, which I’d been introduced to via 3rd Edition in the ’90s and did some brief dabbling with 4th Edition around 2001 or 2002.) I’ve spent much of the last year familiarizing myself with these games one by one (and also diving deep into everything we’ve published for them) and the time has come for me to run a full-fleged 5th Edition campaign.

To that end, I’ve developed one of my system cheat sheets for Ars Magica 5th Edition.

WHAT’S NOT INCLUDED

These cheat sheets are not designed to be a quick start packet: They’re designed to be a comprehensive reference for someone who has read the rulebook and will probably prove woefully inadequate if you try to learn the game from them. (On the other hand, they can definitely assist experienced players who are teaching the game to new players.)

Sheet

The cheat sheets also don’t include what I refer to as “character option chunks” (for reasons discussed here). In other words, you won’t find the rules for character creation here.

HOW I USE THEM

I usually keep a copy of the system cheat sheet behind my GM screen for quick reference and also provide copies for all of the players. Of course, we’ll also keep a copy of the rulebook at the table, too. In the case of Ars Magica, I’ve found it even more advantageous than usual to have a copy of the book for EVERY player:

  • Character creation features a lot of detailed decisions from rich lists of evocative options. You’ll find that the whole process can be finished in literally a fraction of the time if access to the rulebook isn’t a chokepoint.
  • Play in Ars Magica will intermittently see the players break apart into essentially simultaneous solo play (particularly during season-based play), during which access to various elements of the rulebook is frequently useful. Once again, removing this chokepoint speeds things up tremendously.
  • The spontaneous magic which is the crown jewel of the game is greatly facilitated by having easy access to the Technique & Form guidelines on pages 116-161. (I’m looking at potentially prepping these as a separate quick reference packet.

Another way of understanding this is that Ars Magica is a game intensely interested in the “character option chunks” — not just during character creation at the beginning of the game, but throughout the entire campaign. Even character advancement is usually not a bit of bookkeeping separate from play, but rather an organic part of the character’s lives. As such, while these cheat sheets will, like my other cheat sheets, speed things up by serving as a comprehensive system reference and cutting down the amount of time required for many rulebook references, I’ve generally found that there many aspects of play unique to ArsMagica (compared to most other RPGs) that will still benefit from easy, frequent access to the rulebook.

The organization of information onto each page of the cheat sheet is designed to be fairly intuitive. The actual sequencing of the pages is mostly arbitrary (although topics are obviously grouped together if they require multiple pages):

PAGE 1: Core mechanics.

PAGE 2: The Botch Table. Kind of weird for this to just be hanging out on a page all by itself, but I haven’t found a better place for it. You can probably also skip this page if you’d like.

PAGE 3: Less fundamental core mechanics.

PAGE 4-8: Hermetic magic. All basic Casting rules on page 4; all the rules for Magic Resistance on page 5; additional rules on pages 6-7. Page 8 has the rules for designing spells.

PAGE 9: Warping & Twilight.

PAGE 10-12: Laboratory. Basics on Page 10, Projects on Page 11, and Enchanted Items on Page 12.

PAGE 13-16: Texts & Books, Familiars & Apprentices, Advancement, Aging.

PAGE 17-19: Combat, Advanced Combat, and Fatigue & Wounds. This includes non-combat damage.

PAGE 20: Realms & Creatures. These two topics are only lightly associated with each other, but they both fit on the same page to round things out.

This cheat sheet includes the Ars Magica 4th Edition rules for movement, filling in what I consider to be a fairly essential bit of utility that got dropped from 5th Edition. These rules are indicated in blue text.

This proved to be the largest cheat sheet I’ve done to date, which I actually found quite surprising. The 5th Edition rulebook is generally so well-organized and clearly presented that reading it and using it belies how much detail is actually packed into the game. You can get some sense of that from the cheat sheets themselves, which — despite their bulk at 20 pages — nevertheless break down comfortably into very clean modules.

MAKING A GM SCREEN

System Design Interview Preparation

These cheat sheets can also be used in conjunction with a modular, landscape-oriented GM screen (like the ones you can buy here or here).

Personally, I use a four-panel screen and use reverse-duplex printing in order to create sheets that I can tape together and “flip up” to reveal additional information behind them.

Due to the bulk of the Ars Magica cheat sheet, though, even this technique (which puts 12 pages of data at your fingertips) is insufficient. You’ll either want to create an additional “flip layer” (so you have a front sheet; can flip that up to reveal two more; and can then flip up the next sheet to reveal two more) or make some editorial choices. Due to the COVID-19 pandemic, I haven’t had a chance to actually experiment with this in actual play.

As a newbie 5th Edition GM, my gut instinct is to prioritize:

Reddit System Design Interviews

  • Page 1: Core Mechanics / Page 20: Fatigue & Wounds / Page 4: More Core Mechanics
  • Page 4: Hermetic Magic – Casting / Page 5: Magic Resistance / Page 6: Hermetic Magic – Casting Options
  • Page 8: Hermetic Magic – Designing Spells / Page 18: Combat / Page 19: Combat – Advanced
  • Page 11 – Laboratory / Page 12: Laboratory – Projects / Page 13: Laboratory Enchanted Items

If I was going with just four panels:

  • Page 1: Core Mechanics
  • Page 18: Combat
  • Page 4: Hermetic Magic – Casting
  • Page 6: Hermetic Magic – Casting Options

But, as I say, these are currently just best guesses. And your mileage would probably vary in any case.

FUTURE THOUGHTS

System Design Interviews

Moreso than most, this cheat sheet is still a work in progress. You may notice that the sheets are a little more “loosely packed” than similar sheets I’ve done in the past. This is partly in anticipation of laying in additional material from the previously mentioned voluminous library of supplements. Not all of the mechanics to be found therein (that way lies madness), but key stuff that jumps out. (For example, you’ll already find a reference to the laboratory personalization rules from the Covenantssupplement. I’m probably going to actually move those onto the sheets in some capacity.) This is likely to be at least somewhat idiosyncratic and a reaction to the immediate needs of the Rhine Tribunal campaign I’m currently running, but I think there’s decent odds you’ll see an “advanced” version of this sheet popping up here at the Alexandrian in the future.

If you’re still on the fence about trying Ars Magica, the 4th Edition of the game is currently available as a free PDF. Although obviously different from 5th Edition in a number of ways, the game is fundamentally unchanged and this can give you a pretty good sampler of whether or not it would be something you’d be interested in.