Software architecture analysis from top to bottom

Source: Internet
Author: User

1. Preface

At work, you often encounter things that require a quick and complete understanding of a software system. I wanted to write a quick look at a system, but think about the architecture of the software. In this paper, a software business analyst to explain the software architecture I understand. The goal is to provide a suitable, easy-to-use approach that helps business analysts or software architects systematically and quickly analyze and understand software systems. If you have technical errors, please correct me.

2. Software Architecture Understanding

First of all, to understand what is the architecture, architecture is to organize parts and resources, so that parts and resources play a role that the monomer can not play, so as to achieve the strategic objectives of the architecture. (a bit similar to the purpose of an organization's existence, stating that many of the world's knowledge is universal, but the application of the scene is different) the different architecture nature and purpose are the same, even the idea source of the architectural method is the same, only the parts and resources of the Organization are not the same, so as to draw different architectural forms. For example, enterprise architecture is to integrate the enterprise's people, money, things, processes, and use it to achieve integration goals, a software architecture is similar to the data, functions, networks, process integration, realize the value of software. And the method of integration is varied, and the effect of different methods is also difference. The purpose of the architecture is to study how to integrate and coordinate these resources to lay the foundation for high quality systems.

3. From top to bottom

Here's why I recommend top-down analysis without recommending a bottom-up approach to analysis. First explain what is called from the top down, simply say from the big to the small, from coarse to thin, such as the establishment of enterprise budget: from the company to the Department of departments and then to the cost center. Software comes from the top down from business to functionality to data to infrastructure. Bottom-up is the reverse. So why do I recommend it from the top down, for the following reasons:

    1. From a business perspective (forgive me for being a business analyst), the value of a software presence is the business need to understand what the software or system's goals are before you can do further analysis.
    2. The development and implementation of software is for business services, although we should consider the limitations of the technology when analyzing the software, but should meet the business needs to the fullest. If the use of bottom-up analysis, is to bury a lot of technical restrictions, contrary to the original intention of the existence of software.
4. Top-down analysis step STEP1: Strategy and business

To understand a system or analyze a system, the first and foremost is to understand the value of the system's existence, in order to improve customer satisfaction, in order to increase corporate profits, or market development needs, or the boss slept, patted his head to come up with an idea. This determines the status of the system or software in the enterprise and the level of support for the system. Understanding the value of the system and the objectives of the system can help architects to grasp the core issues, not in the future analysis process of detours. Although these seemingly ethereal, the development of the system has no substantive help, but it is a qualified analyst has to first consider the matter.

STEP2: System-Level analysis

This step we treat the whole system as an individual. It is mainly to analyze the dependence between the system and the existing system, which will affect the other systems. This can also be a preliminary analysis of the system may be involved in the external interface. Also in this step to define the main system functions, not necessarily too thin, but can not omit the main function.

STEP3: Functional Analysis

This step needs to be analyzed with the most content, mainly including functional requirements, non-functional requirements. Functional requirements are divided into key business functions and data analysis and operational requirements. Functional requirements can be either a module implementation or a single function point implementation. After identifying the function block, analyze the relationship between the completeness of the function and the function. such as basic user management, rights Management, logistics and sales order management, warehousing material management, financial accounting and so on.

Data analysis and operational requirements include basic data maintenance, reporting and analysis of operational data.

Non-functional requirements refer to the need to ensure the correctness of functions and to support better functioning of functions. Includes common security, ease of use, disaster preparedness, and also includes specific issues such as cross-domain, single sign-on, which are unique to the system.

STEP4: Data Architecture

After analyzing the functional requirements, you need to start designing the database table structure. As a business analyst, I think that as long as you can identify and design a table structure that has a major role in the business, including the meaning and role of each field. Analyze the relationships between the tables. Of course, database table design is a professional knowledge, if you want to do well in-depth study. The work of this step can be parallel with STEP3.

STEP5: Infrastructure

Infrastructure is the environment in which systems run, including networks, servers, and database systems. General companies have a fixed structure, the common system on this basis can be completed development. Infrastructure is the foundation of software operation, but it often becomes the bottleneck of system technology. The main role of analysis and understanding of these is to have a general understanding of the system environment, to avoid the promise to the customer some basic functions can not be realized.

5. Summary

The above content only gives the simple description, does not involve the concrete technical analysis, the detailed technology please refer to other information, although the content is more, but if can clear, has the organization, has the pertinence analysis, then can quickly understand a system. It is also possible to have a destination to analyze systems that have not yet been implemented. Hopefully this article will help the system analysts.

Friday, May 8, 2015

Software architecture analysis from top to bottom

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.