Home Common Problem What are the guidelines that should be followed for module division in software design?

What are the guidelines that should be followed for module division in software design?

Apr 23, 2021 pm 02:44 PM
criteria software design

The principle that should be followed in module division in software design is high cohesion and low coupling. Software design starts from the software requirements specification, designs the overall structure of the software system based on the functions determined in the requirements analysis stage, divides the functional modules, determines the implementation algorithm of each module, and writes specific codes to form a specific design plan for the software.

What are the guidelines that should be followed for module division in software design?

#The operating environment of this article: windows10 system, thinkpad t480 computer.

The principle that should be followed in module division in software design is high cohesion and low coupling.

The criteria that should be followed for module division include coupling and cohesion between modules. Generally speaking, the coupling between modules is required to be as low as possible, that is, the modules are as independent as possible; the cohesion of the modules is as high as possible, that is, the principle of high cohesion and low coupling.

Software design starts from the software requirements specification, designs the overall structure of the software system based on the functions determined in the requirements analysis stage, divides the functional modules, determines the implementation algorithm of each module, and writes specific codes to form the software Specific design plan.

Software design is to abstract many things and problems, and abstract them at different levels and angles. Decomposing and modularizing problems or things makes it easier to solve problems. The more detailed the decomposition, the greater the number of modules. Its side effect is that it allows designers to consider more coupling between modules.

Free learning video sharing: php tutorial

The above is the detailed content of What are the guidelines that should be followed for module division in software design?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
The impact of C++ technology on software design principles The impact of C++ technology on software design principles Jun 02, 2024 pm 03:24 PM

The impact of C++ on software design principles: encapsulation, data hiding: encapsulating data to improve security. Polymorphism, inheritance: object behavior changes according to type, code scalability. Synthesis and aggregation: ownership and inclusion relationships between objects to improve reusability. Dependency inversion: Reduce class coupling and achieve loose coupling through interfaces and injection.

Software design patterns in Go language Software design patterns in Go language Jun 01, 2023 am 08:21 AM

Go language is an efficient programming language that has developed rapidly in recent years. It is characterized by simplicity, efficiency, safety and ease of learning. The Go language provides a series of features and language structures that allow developers to write more robust software systems in a more efficient way. Software design patterns are designed to allow us to better design and implement high-quality codes and systems. This article will introduce commonly used software design patterns in the Go language. Factory Pattern Factory pattern is a pattern for creating objects. In the factory pattern, we can use a common interface or abstract class

Modern C   Design Patterns: Building Scalable and Maintainable Software Modern C Design Patterns: Building Scalable and Maintainable Software Apr 09, 2025 am 12:06 AM

The modern C design model uses new features of C 11 and beyond to help build more flexible and efficient software. 1) Use lambda expressions and std::function to simplify observer pattern. 2) Optimize performance through mobile semantics and perfect forwarding. 3) Intelligent pointers ensure type safety and resource management.

What are the expressions of detailed software design? What are the expressions of detailed software design? Jul 05, 2022 pm 02:39 PM

The expressions of detailed software design include: 1. Program flow chart, also known as program block diagram, which is a graphical representation that uses uniformly prescribed standard symbols to describe the specific steps of program operation; 2. PAD diagram (Problem Analysis Diagram), which is an algorithm description tool , is also a commonly used graphical tool in detailed design (software design); 3. Process design language, which is a language used to describe module algorithm design and processing details; 4. Box diagram, a diagram that forces the use of structured constructs Tool that can easily determine the scope of local and global data, and easily express nested relationships and hierarchical relationships of templates.

Anatomy of PHP Design Patterns: A Powerful Tool for Solving Common Programming Problems Anatomy of PHP Design Patterns: A Powerful Tool for Solving Common Programming Problems Feb 21, 2024 pm 01:22 PM

What are PHP design patterns? PHP design patterns are a set of general programming solutions for solving common software development problems. They provide a structured approach to solving common challenges such as creating reusable code, handling object interactions, and managing complexity. Types of PHP design patterns PHP design patterns are divided into three categories: Creation patterns: used to create objects, such as singleton pattern, factory method pattern and builder pattern. Structural patterns: used to organize and combine objects, such as adapter pattern, decorator pattern and composition pattern. Behavioral patterns: used to coordinate object interaction, such as command pattern, strategy pattern and observer pattern. Creational pattern example: Factory method pattern interfaceShapeInterfac

Guidelines for developing secure code in PHP Guidelines for developing secure code in PHP Jun 29, 2023 pm 04:31 PM

As the Internet has grown, the security of websites and applications has become increasingly important. For developers using the PHP programming language, writing secure code is key to keeping websites and applications safe from hackers. This article will introduce some guidelines for secure code development in PHP to help developers reduce potential security risks. Input Validation During the development process, input validation is a critical step in ensuring that user-supplied data conforms to the expected format and range. Developers should always validate user input and ensure they meet specific

Understand and unify 14 attribution algorithms to make neural networks interpretable Understand and unify 14 attribution algorithms to make neural networks interpretable May 18, 2023 pm 09:10 PM

Although DNNs have achieved widespread success in various practical applications, their processes are often regarded as black boxes because it is difficult to explain how DNNs make decisions. The lack of interpretability harms the reliability of DNNs, thus hindering their widespread application in high-risk tasks such as autonomous driving and AI medicine. Therefore, explainable DNN has attracted more and more attention. As a typical perspective for explaining DNN, the attribution method aims to calculate the attribution/importance/contribution score of each input variable to the network output. For example, given a pretrained DNN for image classification and an input image, the attribute score of each input variable refers to the numerical impact of each pixel on the classification confidence score. Although in recent years researchers have proposed

The Zen of PHP MVC Architecture: Mastering Balance and Harmony The Zen of PHP MVC Architecture: Mastering Balance and Harmony Mar 03, 2024 am 09:28 AM

In the world of software development, MVC architecture has become a model for building maintainable and scalable applications. For PHP developers, the MVC architecture provides a structural and organizational framework that enables them to write reusable, testable, and maintainable code. Principles of MVC Architecture MVC architecture (Model-View-Controller) is a design pattern that decomposes the logic of an application into three independent components: Model: represents the data and business logic of the application. View: Responsible for displaying the application's data. Controller: Coordinates the interaction between the model and the view and manages user requests. MVC Architecture in PHP When implementing MVC architecture in PHP, the following structure is usually followed: //Model class class