Concept Map: Humble, Powerful

Reposted from my personal blog

No alt text provided for this image

How To Create A Concept Map

Begin with brainstorming the list of nouns which may be related to your subject. Don't worry about or put any effort into getting a complete list. After the nouns are down arrange them (roughly) in a tree structure with the subject topic at the root and the most concrete detailed nouns at the leaves. Add directional relationships between the nouns to form phrases in the form of [Noun A]-(relation description)->[Noun B]. Add nouns with labeled relationships when you discover they are missing. Generally the map grows from the edges but sometimes missing abstractions will cause internal additions.

Why Is The Concept Map So Magical?

The ideas and interrelationships are written down in free form style. The mind is relieved of having to juggle concepts and remember a complex structure in situ. Distractions are removed allowing focus and the discovery of detailed local identities with precisely described relationships. It is similar to molding with clay. The starting point is an ambiguous concept. Each part is fleshed out in turn from the largest to smallest detail. Items are visited multiple times along the paths described by relationships. Clarity of the whole emerges iteratively.

Concept maps were developed to enhance meaningful learning in the sciences

What Does This Have To Do With Software Engineering?

The essence of software engineering is understanding and expression. Clarity is the name of the game. To create a solution one must first understand the problem. Problems only exist within a context. The Concept Map is a tool that eases the generation of what entities exist and how they are related to each other. Context is illustrated. A Concept Map may be used as input to design. The utility in relation to Object Oriented design is obvious as entities and their relationships are directly reflected. Other paradigms such as functional programming also benefit. The relationships illuminate the dynamic flow of information and groupings of concepts (suggested by spatial organization in the Concept Map) offer potential functional compositions.

Try taking the humble Concept Map for a spin before attempting design for your next software engineering task. The power of this simple technique may surprise you!

要查看或添加评论,请登录

Randy Moore的更多文章

  • Top 20 Software Dev Skills Over Time

    Top 20 Software Dev Skills Over Time

    Also posted on my personal site. V2 of my last blog post.

  • Top 20 Skills Over Time - remoteok.io

    Top 20 Skills Over Time - remoteok.io

    Reposted from https://randalmoore.me/posts/top-20-skills-remoteok/ As a professional developer you must always be…

  • Keeping it DRY with OAS

    Keeping it DRY with OAS

    Reposted from my blog Don't Repeat Yourself (DRY) is a well known principle in software development. An Open API…

  • Django Deletion Dragons

    Django Deletion Dragons

    Reposted from my personal blog. Django models offers an ORM API that abstracts the database layer.

    1 条评论
  • Exploring NLP Parsed Audit Documents

    Exploring NLP Parsed Audit Documents

    Learning more Python because my machine is slow Original post and the Named Entity Explorer (click "Audits" in upper…

  • Full Stack Walkthrough

    Full Stack Walkthrough

    Original post on the subject stack here. Summary High level development walk through for a toy example of a modern full…

  • Asynchronous Programming (and why it's all the rage for web services)

    Asynchronous Programming (and why it's all the rage for web services)

    Why Care? Browsing through job postings you often notice a job requirement along the lines of: Able to write highly…

    1 条评论

社区洞察

其他会员也浏览了