Tianyi Cloud Practitioner Certification (1.8) Understand the software development environment, software infrastructure and common software development tools

Common development environment

Software is a collection of computer data and instructions organized in a specific order.

Software features

Software development process: research and communication/acquisition of requirements, requirement analysis, product design, interface design, design prototype diagram, program coding, testing, package release, product launch

Software development model waterfall model, evolution model, spiral model, fountain model

Development method: structured method, information model method, object-oriented method

Functional and structural features: haplotype, synergistic type, dispersed type, concurrent type.

General-purpose software development environment and special-purpose software development environment

Front-end development environment, back-end development environment, software maintenance environment, reverse engineering environment.

Software infrastructure

 

Common software architecture composition advantage Disadvantage
Layered architecture Presentation layer, business layer, persistence layer, data layer Simple organization, easy to understand and develop, clear division of labor, independent testing There are changes, maintenance and modification are troublesome, the release cannot be supported, the entire service needs to be stopped to upgrade the software, and the scalability is poor
Event-driven architecture Event queue, dispatcher, event channel, event handler Distributed heterogeneous architecture, wide adaptability, not prone to blockage, good performance, and easy to deploy. Involving asynchronous programming is complex, difficult to support atomic operations, and difficult to test
Microkernel architecture Kernel, plug-in Strong function extension, isolation between functions, high customization, adapt to different needs, can be concurrent The kernel has poor scalability, cannot be distributed, and is difficult to develop
Microservice architecture User interface layer, service components Service direct coupling is low, easy to expand, easy to deploy, easy to develop, easy to test The system relies on a large number of microservices, performance is poor, and communication between services is required, the architecture will be complex and it is difficult to achieve atomicity
Cloud architecture Processing unit, virtual middleware High load, high expansion, dynamic deployment Complex implementation, high cost, mainly suitable for website applications, difficult to test

 

 

 Common development tools

The benefits of software development tools: reduce the labor of developers, improve efficiency and quality, user-friendly, reliable work

The characteristics of software development tools: easy to operate, powerful, large coverage, safe and reliable, modifiable, expandable, self-use themes.

 Development tool functions: understanding and describing the objective system, storing and managing the information in the development process, the writing and generation of codes, the preparation and generation of documents, and the management of software projects

 Development tool characteristics: expression ability or description ability, ability to maintain information consistency, ease of use, reliability of tools, requirements for hardware and software environments.

 Classification of development tools: tools based on the work phase, tools based on the degree of integration, tools based on the relationship between hardware and software, and tools based on the application domain.

Some common tools

HBuilder-HTML5 web development IDE

WebStorm is a JavaScript development tool under jetbrains

IntelliJ IDEA is an integrated environment for java language development

Visual Studio 2019 IDE-programming software for Windows

 

 

Guess you like

Origin blog.csdn.net/Kangyucheng/article/details/108479918