Monday, September 26, 2016

UML diagrams as a tool for a software development team

As we progress into the 21st century, our reliance on computer and information systems to facilitate business is greater than ever before. The global market is much too convoluted and relentless to be run on manpower and note-taking alone; software systems are crucial to a company when handling large amounts of data processing, customer transactions, or client databases. As such, their development and maintenance has become a key component in successful company operations.

To structure, plan, and control the development of these systems, a software development life cycle (SDLC) is developed and adhered to. Different methodologies have evolved to be applied for different purposes, based on technical, organizational, project and team needs, but generally all will use some combination of the following stages:

  • Problem analyzing
  • Market research
  • Requirements analysis
  • Design
  • Implementation (coding)
  • Testing
  • Deployment
  • Maintenance and bug fixing 

How strictly this order is followed, and what level of planning and documentation is reached, will depend on the requirements of the business and capabilities of the software. A 'waterfall' approach to the SDLC would see each of these stages carried out in linear order, with detailed planning and risk assessment before coding is even begun. The 'extreme' approach involves a lot less planning and documentation, and focuses more on coding and continuous re-testing, ideal for a smaller system, or one where new components are being added as an ongoing process.


Modeling software development using UML diagrams


While going through each stage of the SLDC, it can be useful, and necessary, to produce a visual model of that process. A diagram of this kind presents a graphical view of a software system's structure, components and relationships, which allows the designer to organize and predict certain outcomes, as well as share system information with collaborators and clients.

The accepted standard used when modeling a system is known as Unified Modeling Language (UML), a generic set of notations that are used when creating UML diagrams. These notations can visually represent requirements, subsystems, logical and physical elements, and structural and behavioral patterns, that are especially relevant to systems built using an object-oriented style.

Using UML during the modeling process has a number of benefits — for one, the entire development team can share information and collaborate using common language, diagrams and software, something that's not possible when using a more task-specific programming language. It allows team members to create system 'blueprints', creating diagrams that show system as a unified whole, but also allowing the option to break that system down into component parts or processes.

Currently on version 2.5, UML supports 14 different diagram techniques that are seen as industry standard. These diagrams are broadly divided into two categories; first are static structure diagrams, that describe the physical structure of a system. Then there are behavior diagrams, that depict behaviors and interactions of various system components. Here is a brief description what each diagram is and how it can be applied:


Static structure diagrams


Class diagrams — divides objects into 'classes', i.e. parts that share common attributes. Class defines the methods and variables of that object, and diagrams depict relationships and source code dependencies between them.



Component diagrams — displays system components (physical or logical), interfaces and ports, and the connections between them. Allows analysts to replace and system check individual parts rather than designing the process from scratch.

Composite structure diagrams — shows the internal structure of a specific class, the role each element plays in collaboration with others, and how this affects how the class interacts with outside elements.

Deployment diagrams — models the physical deployment of artefacts (software systems) on nodes (normally hardware, e.g. laptop, mobile phone). Execution environment nodes are a 'node within a node', a software computing resource that displays hardware characteristics.

Object diagrams — represent a system overview. Similar to a class diagram, the take a snap-show of a system structure at a particular moment in time.

Package diagrams — packages are formed when UML elements are grouped together - classes, objects, use cases, components or nodes. A package diagram shows this grouping, and dependencies between packages that make up a system. An example of use would be when modeling complex source code; packages are used to represent the different layers of code.




Profile diagrams — operates at the metamodel level to show stereotypes as classes, and profiles as packages. Allows the developer to create custom packages.

Behavior diagrams


Activity diagrams — can be said to resemble a flowchart, showing steps in a software process as a workflow. Binary choices from each step, yes/no, true/false, make this a useful medium to describe software and coding logic.

State machine diagrams — describes the current state of a machine, which values are acting upon it. It shows what actions the nodes of a software system take, dependent on explicit events.

Use case diagrams — shows an actual example of system usage. Helps define requirements for a software system, and can describes any possible form of interactions between users and that system.

Interaction diagrams


Communication diagrams — displays the interaction between objects in terms of a set of sequenced messages. It's used to create a birds-eye view of the collaboration between several objects, for a common purpose within the system.

Interaction overview diagrams — like an activity diagram in that it shows a workflow through a system, but simplifies complex patterns by making each step a nest of interactions within the larger overview of an activity.

Sequence diagrams — useful to describe object interactions in a specific time sequence. Can consist of parallel 'life lines' that depict an objects state at any given moment, and the sequence of time ordered events that affect that state. From a software perspective, developers use this diagram can show simple runtime scenarios


Timing diagram — depicts the behaviours of a given set of objects through a certain period of time.

ConceptDraw as a modeling tool


ConceptDraw is dedicated to providing system designers and specialists with the optimum tools required to create diagrams in a coherent and efficient manner, maximising possible output to keep up with the designer's speed of thought. The Rapid UML solution for ConceptDraw PRO was created with this aim in mind. Now UML diagrams can be created with the help of RapidDraw functionality, technology created by ConceptDraw that allows you to spawn each new step of a process with a single click of a button, as opposed to dragging, dropping and arranging each individual element of a diagram. This intuitive interface takes a lot of the workload from the designer, allowing them to focus on the more creative aspects of their tasks.

The Rapid UML solution consists of numerous vector stencil libraries, containing the generic icons of the Unified Modeling Language. All graphics are professionally designed to adhere to industry standards, meaning UML diagrams created with ConceptDraw will be understood universally, and applicable for design purposes, presentations, or communicating ideas and defining requirements with other collaborators or end-users.

While acting an extremely useful and comprehensive tool for dedicated software specialists, ConceptDraw also provides tools and assistance for any level of user, looking to create diagrams of any complexity. This introductory video guide describes gives a basic overview of the Rapid UML solution itself, while the steps needed to create a basic diagram are shown here. As part of the large video library found in ConceptDraw's help section, this short clip guides a user step by step through creating a UML diagram, giving visual aids and showing the capacity of the solution. Also found within the solution, are templates that provide users with a framework from which to start their diagram.

The Rapid UML solution is another high functioning, comprehensive solution from ConceptDraw, that pulls together a vast amount of material to help system analysts and designers create professional looking, standardized UML diagrams.


Thursday, March 10, 2016

Germany Maps

Germany is a federal republic made up of sixteen federal states. After notable periods of political upheaval over the last century, since the fall of the Berlin Wall and the re-unification of East and West Germany, the geographical borders of these states have remained stable and unchanged. For administrative purposes, these states are further divided into governmental districts, rural or urban districts, and municipalities.

Of the sixteen states, three are known as 'city states', covering the populous cities of Hamburg, Berlin and Bremen. The other thirteen are termed 'area states', and cover a larger geographic area. The full list is as follows:

  •     Baden-Württemberg
  •     Bavaria
  •     Berlin
  •     Brandenburg
  •     Bremen
  •     Hamburg
  •     Hesse
  •     Lower Saxony
  •     Mecklenburg-Western Pomerania
  •     North Rhine-Westphalia
  •     Rhineland-Palatinate
  •     Saarland
  •     Saxony
  •     Saxony-Anhalt
  •     Schleswig-Holstein
  •     Thuringia



Map of Germany states

Using thematic maps is a natural way to represent geographical data about a specific region. There are a number of common methods used by cartographers — a choropleth map for example would use the basic outlines of Germany and its constituent states to show the prevalence of specific data within these regions. Within these types of map, differences in qualitative data are shown by different colour hues, while quantitative data is represented by different hues of a single colour.

Other thematic map variants include proportional maps, where symbols of different sizes represent the value of data in that area, or dot distribution maps, where a dot is placed to signify each occurrence of a particular phenomenon. Methods such as these provide a quick at-a-glance review of what can be numerous or complex data sets.





Thematic Map was created with ConceptDraw PRO, it shows detailed maps for each of Germany's states, and vice versa extensive maps depicting Germany as a part of EU on the map of Europe

Using the diagramming software ConceptDraw PRO, in conjunction with the Germany Maps solution, gives users a powerful set of tools that allows them to quickly and intuitively create thematic maps based on Germany's national and district borders. The solution contains a professionally drawn map of Germany, with the ability to toggle the display of state borders and major cities, allowing further layers of detail to be added. As is common with ConceptDraw solutions, a number of templates and samples are provided to spark creativity and give map and infographic designers a solid base to start working from.

The ConceptDraw website provides in-depth learning materials and a comprehensive help desk, including video tutorials, FAQs, and how-to guides with simple to follow steps for the best possible results. Expand the borders of map and infographic design with the Germany Maps solution for ConceptDraw PRO.

Tuesday, February 2, 2016

UK and Ireland Maps


Despite their relatively small size, the United Kingdom and Ireland are host to a wide variety of social and geographical features, and an intricate system of country borders, county lines and regional communities. Depending on your perspective and preference, a number of names can mean the same thing — the UK refers to four countries united — Northern Ireland, Scotland, Wales and England. Great Britain includes just the latter three. Quite often however, patriots will proudly refer to their home nation by its individual name. To describe all the islands together, including smaller semi autonomous areas such as the Isle of Mann or the Channel Islands, the term British Isles is used.

British Isles


For administrative and political purposes, each country is divided into a number of counties, which are then further subdivided into districts. In England these county borders are ever changing — so much so that there are two interpretations of the map. The 'ceremonial' counties have their roots in the original outlines set in the Middle Ages. The newer borders reflect changes in politics and a growing population, including a number of 'metropolitan' counties that typically cover a small but densely populated region — Greater London is one such example. The other countries of the UK, and Ireland, employ a similar system.

UK map of cities and towns in wales was created with ConceptDraw PRO, it shows map of England with the most important and largest cities


A varied social landscape makes the British Isles an ideal candidate for various types of thematic map — a visual way of studying different points of interest and geographical data. Using land or political borders as a base, and referencing major towns and cities, it's possible to apply certain subject matter to a map to create an at-a-glance view showing particular data distribution across the land. For instance, although English is the most common language across the Isles, a thematic map might show concentrations of Welsh speakers in Wales, or those who practice Gaelic in Ireland or Scotland. From a political perspective, county borders can be used to show which areas traditionally vote Labour or Conservative at election time.

Thematic maps come under the larger scope of geospatial infographics. Infographics are in common usage throughout business, often providing some angles on sales or logistics. It's important to know which products are popular in which region, and just as important to organize their distribution. Geospatial infographics can provide information for any number of industries, including utilities, natural resources, public safety, road networks or social science, and many more.

An ideal platform for users needing to generate thematic maps and infographics is ConceptDraw PRO, extended with the UK and Ireland Maps solution. With this diverse diagramming tool and solution, you are provided with professionally drawn outlines of the British Isles, giving knowledge workers a quick start for any thematic designs they might need to produce.

Map graphics can be toggled to show regional borders and major cities, and also included are a number of samples and templates of common infographic ideas. As with all their solutions, ConceptDraw provide comprehensive training videos and supporting texts on their website, helping users new to ConceptDraw PRO become comfortable with the many features available. One of these features is the ability to export diagrams in a number of graphical formats — ideal for collaboration in a business setting.

The UK and Ireland Map solution for ConceptDraw PRO opens up new borders for diagramming possibilities.

Tuesday, January 12, 2016

Health Food Infographics


While there has always been an abundance of fad diets and miracle slimming cures taking advantage of the latest trends, healthy eating and a well rounded diet is more about a lifestyle choice — the process of keeping body and mind in optimum condition. The key is to reach a balance with your eating habits — you don't have to starve yourself, or cut out all enjoyment from food, just plan a diet with the correct proportion of all the nutrients your body needs.

There is no single way to do this, but all nutritional specialists agree on the fundamentals that we need provide our body with each day:

Carbohydrates:

These are the 'energy' foods, and should provide the base for most meals. They include starchy foods such as cereals, pasta, rice, potatoes or bread. For the most effective nutrition, they should be in wholegrain form whenever possible.

Protein:

Protein keeps all the body processes running smoothly, and helps build and repair cells. It can be found in lean meat, poultry, fish, beans, nuts, seeds and eggs.

Fats:

Unsaturated fats are important as a secondary energy source, and are found in certain oils, nuts, avocados, and various types of fatty fish. The health effects of saturated fats are disputed, but in any case it's probably best to limit the intake of things like ice-cream, butter, cheese and red meat.

Vitamins and minerals:

These help with numerous physiological functions — for example calcium and vitamin D help build strong bones, while vitamin C is good for healthy skin. They exist in some aspect in most foods; a great source is through a wide selection of fruit and vegetables.

Water:

While people can go for weeks without food in extreme situations, you can only survive a few days without water. It is essential for the distribution of other nutrients around the body, and to keep vital organs hydrated.

As long as a diet contains a balance of each of these nutrients, it is largely down to personal preference as to where they come from. For instance many people will get the majority of their protein from certain meats or fish, while the main source for a vegetarian will be dishes based on beans, nuts or seeds. Organic foods have many supporters — the supposition is that they are healthier and richer in nutrients than foods that have been processed with synthesized chemicals or other additives.


The Grains, Beans, Legumes, Nuts icon library from the Healths Food solution

If people don't feel their diet is providing all the essentials, or for those with underlying medical conditions, dietary supplements can be used to make up the shortfall. These include pills that cover the whole vitamin spectrum, fatty acids, amino acids, or herbal supplements. Sportsmen or bodybuilders have a whole range of protein supplements available to help with training and stimulate muscle growth — these are commonly in the form of powders that are mixed into drinks, and contain ingredients such as whey, creatine or glutamine.

One of the more effective ways of presenting information on healthy eating and food nutrition is through visual mediums, such as charts, diagrams or infographics. One of the most famous examples is the 'food pyramid' infographic. In this diagram, pictures of various types of food are contained within a levelled pyramid, with the widest base level showing the starchy foods that should make up the majority of a diet, tapering to treats and sweets at the top that should be eaten very sparingly.




Healths Food Infographics — Food Pyramid

Infographics are a great tool for conveying simple messages through a combination of text and visuals. Healthy food illustrations can be accompanied by information regarding the nutrients that can be found within; graphics showing balanced meal options can give people ideas for a weekly diet plan.

To help easily create infographics and diagrams of this nature, business software provider ConceptDraw has added the Health Food solution to its Solution Park, extending ConceptDraw PRO's functionality with vector stencil libraries of healthy eating options, samples of finished graphics, and a number of templates to help users get started with their own designs.

To ensure the best results, the ConceptDraw website provides a wide variety of help and learning materials, including video tutorials, FAQs, and how-to guides, allowing users to present their nutritional messages effectively and professionaly.