Posts

Showing posts with the label documentation

Astah Unexplored & New Features

Image
I'm currently trying out the reverse-engineering in Astah and am pleasantly surprised by the available features. My sample files are taken from " Full Stack Development with Spring Boot 3 and React " I tried importing the downloaded files from GitHub. Remember to check the "include sublayers" to add files from various subdirectories. Code to Diagram feature Feeling lazy, I used the "Auto Create Class Diagram" function to generate "Simple" class diagrams. Accessing the "Auto Create Class Diagram" feature With a bit of a clean-up and elimination of classes that are irrelevant, the auto-generated class diagrams look great! Auto-generated Class Diagram Auto-Generated Class Diagram The latest feature allows a Definition Note to be automatically created as an UML note. Definitely a most welcomed feature! Right-Click on a model element (Class) to see the available options for "Show Definition Note". The available Definition Notes...

Useful Hacks in Using Astah

Image
MindMap Hack I've been using Astah (download here ) more recently for the MindMap feature and felt to share this wonderful "hack" with you. I jotted some points in NotePad and wish to quickly transfer them into Astah as a MindMap. The easiest way to retain the hierarchy is to use [TAB].  Therefore I could easily transform this Hierarchical List of Points Into Same List of Points in MindMap Here is how it's done: Select all text in NotePad (or equivalent) and Copy (Ctrl-C) Go to Astah and create a New MindMap Diagram Click on Mindmap0 or whatever existing topic and Paste (Ctrl-V) Like magic, the MindMap is created and the hierarchy is retained. UML Deployment Diagram You wish to draw professional-looking diagrams using AWS/ Azure icons. Is that possible & easy to do in Astah? AWS Deployment Believe it or not, the above is drawn in Astah!  Here is how it's done: Go to Tools -> Project Settings -> Set Icon for Stereotype (See Custom Icons for Stereotypes Di...

Astah - How wonderful you are!

Image
I started using JUDE in the early days of UML modelling and have continued using Astah until now. In the day and age of Agile development, emphasizing "communication over documentation", is UML (and related UML tools) still relevant? I'll give a resounding YES! to the question. While we should do away with extensive documentation , we should still be able to communicate our intent in forms of architecture, design, workflow, processes, etc. In the course of my work in an end-user environment, I use Astah extensively to communicate with development teams, users, vendors and even senior management.  I find it's often a lot easier to use a tool like Astah to draw UML (or pseudo-UML) diagrams than pen-and-paper (or even napkins!). For instance, I can easily move things around, redraw and append/ update the diagram using the tool but not with paper. Some examples of diagrams I'd used in the course of work are below. I used Astah for the following: Share my thought proc...

Minimum (Lean) System Documentation

Let’s admit it: any form of system documentation is not up-to-date . The moment we start producing it, it is out-of-date. If that is the case, we should do with minimum (perhaps, lean) system documentation that is kept current. This begs the next question: How little is enough? If I imagine myself taking over a system from someone else, I believe the minimum/ lean system documentation should contain the following: Solution Design description of the high-level process flow description of the main modules/ services in the system what are the architecturally significant use cases or main functions of the system? what processes/ components make up the system? E.g. Are there web-based applications? Are there batch processes? what are the databases in use? What are the primary (entity) tables in use? what output is generated by the system? E.g. Are there printed output? Are there output for system integration? Are there messages (emails/ SMS) sent? what systems are integra...

System Architecture and Design Trade-off Document

Image
It is a great idea to write a System Architecture & Design (SAD) Trade-off Document. The format is tabular and will look like the following: Module/ category Issue description Possible alternatives Decision Decision rationale Traded-off attributes Traded-in attributes Consequence/ constraints introduced Some examples of traded attributes are listed in the following table: Category Attribute System Performance Reliability - ability of the system to maintain operating over time (MTTF) Performance - responsiveness of the system to stimuli or events as well as throughput of the system System Control Maintainability - ease with which a system can be modified to correct faults, improve performance, or adapt to changing environment Data timeliness - data latency for information flowing into and out of the system Security - measure of system's ability to resist unauthorised access or DOS Supportability - ease with which a system can be maintained operationally Testa...

Software Technical Documentation (Overview)

Image
Software technical documentation is an expected deliverable for software systems. The expected audience will typically be the customer's IT or MIS department who may end up maintaining or even hosting the software system. The technical documentation may be written in the following format: verbose description using natural language pictorial representation using modelling language The level of detail may be: business level (for end-user) implementation level (for developer) The following diagram depicts the above: Examples of each are as follows (clock-wise order): Descriptive - Business Level documentation: use cases, process flow description Pictorial - Business Level documentation: screen flow, process flow diagram Pictorial - Implementation Level documentation: interaction & class diagrams depicting implementation classes Descriptive - Implementation Level documentation: code, data dictionary Given that there are many ways to view the software system (logical, physical, etc)...