07-30
2020
Due to the traditional software development model, the final product is program code, which is difficult to adapt to the rapid changes in requirements. Although there are already models that can participate in some production links, the models still cannot be applied to large-scale software development. Therefore, problems of non-standardization and non-automation inevitably appear in the software development process. In order to solve these problems in software development, OMG organization released Model Driven Architecture (Model Driven Architecture, MDA). Based on the introduction of MDA development process, this paper discusses the definition, mapping and transformation of platform-independent model and platform-dependent model, and analyzes and compares MDA development method and traditional software development method.1. MDA architectureModel-driven software development refers to the process of analyzing the problem and then modeling, transforming and refining the model, and finally generating executable code. Model-driven architecture is a method to establish an abstract model of business logic and automatically generate a complete application program. A model language (such as UML) is used to construct a platform-independent model (Platform Independent Mode, PIM) that does not need to care about the technology used during implementation, and then the platform-independent model is converted into a platform-dependent model (Platform Specific Mode, PIM) through certain conversion rules and auxiliary tools. PSM), and finally PSM refines to generate executable code. The MDA software development method puts the standard system model at the core of the driver architecture, as shown in Figure 1. MDA separates system description and implementation technology from platform through PIM and PSM, ensuring that software development results are not affected by demand changes and technology changes.The MDA model organization is divided into four layers, as shown in Figure 2. The next level is the application of the previous level, and the previous level is the basis of the next level. MOF is located in the M3 layer, which is the basic and core model in the MDA framework, and is also the meta-model of all the models in the M2 layer. The M2 layer is the modeling language corresponding to different models on the MOF. Different fields can obtain the modeling language that matches the field through the M2 layer, which provides modeling symbols for the modeling of the M1 layer. The M1 layer is the model description created by the modeler for the enterprise application using the model language during the software development process, and the PIM, CIM, and PSM application models are located in this layer. The bottom layer is the M0 layer, that is, the instance layer, which converts the model of the M1 layer into specific usable applications.The core of MDA is a series of standards formulated by OMG, Meta Object Facility (Meta Object Facilit, MOF), Unified Modeling Language (Unified Modeling Language, UML), Data Warehouse Metamodel (CommonWarehouse Metamodel, CWM), XML Metadata Exchange ( XML⁃based Metadata Interchange, XMI) and Object Constraint Language (Object Constraint Language, OCL). These standards constitute a benchmark for building a model-driven architecture, which not only determines the core architecture of MDA, but also plays a key role in the system modeling of State⁃of⁃art.2. MDA implementation and software development based on model-driven architectureMDA-based software development process can be divided into:(1) Model-driven software development process. The models used in this solution are PIM and PSM, and the generation of code is driven by the model. The specific operation steps are that the code is generated through the model, and then the business logic code is written manually, and finally the manually written business logic code is deployed and deployed. release.(2) Control the behavior of the system at runtime through model-driven. At this time, the software model can be directly executed by a general model of the operating system runtime. This process does not need to generate specific software codes. Finally, only the model is deployed and released, because the model has already expressed all levels of the application.MDA-based software development includes three stages: modeling, development and release.Model phase: Create a platform-independent model PIM, and take it as the core. Both ISM and PSM can be automatically converted and generated by PIM. The model is mapped using a MOF mapping method such as XMI.Development stage: Generate platform-independent code, that is, MDA tool automatically generates and programmers manually write client and server code. The code generation in MDA is the ultimate goal of the MDA project, which specifically refers to the mapping from PSM to code, and the mapping generates the ISM model.Publishing stage: In this stage, many contents are put together to form runnable components, including models, MOF mappings, hand-written codes, MDA runtime libraries and configuration information to be released, and finally the components are released to the running platform.3. Comparison of software development processAlthough the MDA-based software development process is a new model-driven software development method, it has the following advantages compared with traditional software development methods:(1) Model transformation can be realized automatically. Compared with the traditional software development process, where the transformation between models and models, and between models and codes is completed manually, the software development process based on MDA is automatically completed by MDA development tools.(2) It is easy to maintain, and the model and code are synchronized. In the process of software development based on MDA, the model can directly generate executable code through conversion without other steps, so as to realize the synchronization of model and code. The focus of software maintenance by software developers has changed from program code to a platform-independent model that is independent of the technology platform and related to business logic.(3) High development efficiency and strong software reliability. The MDA model architecture abstracts different levels of the system, and the meaning of each level is simple and easy to understand, so that the entire framework of the system can be clearly understood and mastered by software developers without being confused about specific implementation technologies. Because the model can directly generate executable code through conversion, the coding link is reduced in the development process, so if the PIM is constructed correctly, the correctness of the entire system can be guaranteed.(4) The business logic model is independent of the technology implementation platform. The PIM model can automatically generate a software system based on the model according to the different technology platforms, thus realizing the independence of the PIM model and the technology experiment platform.(5) The model is the infrastructure generated by the program. In the process of software development based on MDA, the model is regarded as the design work in its life cycle, and it is the infrastructure of program generation. The model can automatically generate executable code through a series of transformations.SummarizeOn the basis of introducing and analyzing the framework of MDA and the software development process based on it, this paper compares it with the traditional software design method, explains its remarkable advantages in the software development process, and finally designs the MDA-based The decision support system proves that the software system designed using the MDA development method is independent of the technology platform and has strong versatility and portability. Design cost and improved development efficiency.The above is the research on the MDA-based software development method introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad, including MCU, voice IC, Bluetooth IC and modules, wifi modules. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS solutions, the development of Bluetooth audio, the development of children's toys, and the development of electronic education products.
07-29
2020
Application of Database Technology in ARX Software DevelopmentIn engineering practice, in order to improve the efficiency of drawing and design, ARX technology is used for secondary development of CAD. This method is widely used in engineering and provides a standardized model for the design process. Among the three development interface technologies of CAD, the ARX program is the most suitable tool for secondary development of CAD, which can effectively utilize the resources provided by ARX, and release products to the outside world by utilizing abundant resources in the VC development environment . During the secondary development of CAD, it can be found that the design of its software can only satisfy the drawing of graphics, and it cannot effectively manage the data and software structure. Therefore, the application of database technology in the development of ARX program software can improve the framework system of secondary software development and facilitate the management work in the later stage of software development, so as to realize the centralized management of CAD system, ERP and PDM data, and other sub-systems. System integration work.1. Introduction to the meaning of ARX programARX is the latest software secondary development technology in modern times. It supports the writing and application program of c language, allowing developers to make full use of CAD graphics software and can directly access it. ARX program can be used together with the programming interface of CAD software. The application program developed in the ARX program is essentially a dynamic link library, that is, a DLL, so that CAD can share and communicate with its address space. The running speed of the ARX program is improved, and the function of the program is also enhanced. New derivatives are established through the ARX program and shared with other programs, so that programming can be fully utilized. The ARX program, LISP, and VBA program are the third software development tools. The ARX program is an open architecture, which can directly access and operate the CAD software. The ARX program can use the functions outside the database Call to initialize the graphics database, create database objects, edit and save database objects, so that the graphics database CAD can generate visible and invisible solid geometric objects, build symbol tables and dictionaries, Its essence is to add block table records to CAD, form a dynamic link, enable CAD software to share with other application systems, improve program functions, and directly access and browse CAD software.2. Database technology selection in ARX programThe access of ARX program to the external database can be accessed and developed on the VC development platform according to the programming interface ASI provided by CAD. Using the ASI library function to access the external database requires developers to learn the relevant professional knowledge of ASI. Due to the serious shortage of ASI programming materials, it is not conducive to the secondary development of CAD by the external database. MFC programming needs to be done after the ARX program has been initialized for a certain period of time. The development of the ARX program needs to access the external database according to the class library functions provided by MFC, which can effectively shorten the development cycle, reduce the difficulty of development, and make the program function It is enhanced to facilitate the implementation of the C/S mode of the ARX program.3. Application of database technology in ARX program3.1 ADO-based ARX program development and applicationFor the secondary development of CAD, it is first necessary to establish a library of standard parts and basic parts. The shape and structure of standard parts and basic parts are generally finalized and can form a series. The dimensional relationship between parts is indicated by parameters. The importance of engineering databases The components and related basic data first need to determine the unique static and sharing of the geometric relationship data of the parts. Generally in chemical equipment, parts should be designed and developed in accordance with national standards. Moreover, the number of parts and components in chemical equipment is large, there are many forms, and the regularity of its data is strong, so it is often used in chemical equipment, and the data of parts is managed through the database.This article takes the development of JBFF4713~92 as an example of the support parts. There are mainly four series of support development, which are A, AN, B, and BN. Most of these four series have Standardized data is represented by standardized formulas and implemented by overloading functions. The four series of brackets are separated independently, mainly because other modules may call a certain bracket separately for a clearer description. The data formula of the ARX program is to call the corresponding structure function and transfer the data after the user inputs and selects the data, and then proposes the corresponding data from the database according to the obtained data, that is, the corresponding corresponding class. The correctness of the data is checked in detail, and finally the graphics are drawn according to the class library functions provided by the ARX program, and the database access of MFCDAO is completed.3.2 Application of ODBC-based ARX program development in engineering drawing managementPDM is a technology for computerized management of engineering drawings. According to the PDM technology, an engineering drawing management system is established to realize various management functions such as engineering electronic document and data management, workflow and product configuration management, and project classification retrieval management. The design of engineering drawings is generally submitted by the designer to the server after the design, and through detailed processes such as review and verification. During the review process, the design of the drawing will be browsed and modified, and the design of the drawing is usually designed on the CAD software for a long time, and it is not integrated with the engineering drawing management system. At present, CAD software and engineering drawing management system can be connected through a variety of technologies, but in specific occasions, such as the design and modification of engineering drawings, CAD and engineering drawing management system are still not completely integrated, and designers need to use different software There are various problems in operation, such as using OLE technology to establish communication between CAD and engineering drawing management system, the embedded method still does not meet the needs of users, and the response of the system is slow, causing inconvenience to users. The development of ARX programs needs to be combined with the advantages of MFC in developing databases, so that CAD software can be effectively integrated with engineering drawing management systems, and designers can work and design in an environment familiar with CAD software. However, if the drawings are read-only, it is more practical to combine OLE technology with quick browsing tools.The submission of engineering drawings requires the use of ARx program and MFCODBC to access the database, and various methods can be used to submit the drawn CAD files, such as using varbinary fields and Winsock in the database. The ARX program is based on the CAD client to create a read-only folder for the server administrator to use. In the read-only folder, the class library functions provided by ARX are saved as dwg format files, and the system commands executed by the database are called and copied. Copy the files to the relevant folders of the server to ensure the security of the server and avoid damage to the security of the server directory. The specific process is shown in Figure 1.epilogueThe secondary development of software in the ARX program by database technology is mainly to call the external database, and make comprehensive use of the database development technology and CAD technology, and improve the quality of software development according to the advantages of CAD software in graphics. Software development provides standardized data management, effectively solves the integration problem between CAD system and other subsystems, and provides new solutions and methods for the secondary development of CAD software.The above is the application of database technology in ARX software development introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-28
2020
Multi-core software development method based on MCAPIWith the advancement of technology, the speed of upgrading of electronic products is getting faster and faster. The method of simply increasing the main frequency to improve system performance is close to the bottleneck, and the use of multi-chip processors to build a system does not meet the miniaturization requirements of the product. Traditional single-core processors can no longer meet the increasing performance requirements, and multi-core processors that can complete parallel task processing have emerged as the times require. Modern multi-core processors mainly rely on increasing the number of cores rather than frequency to improve performance. At the same time, the high integration of chips also brings problems such as resource scheduling and power consumption. With the increase of parallelism of multi-core processors, the emergence of various homogeneous and heterogeneous multi-core processors makes software development face enormous challenges. How to efficiently implement algorithms on multi-core and how to allocate resources reasonably are all problems that need to be solved.1. Introduction to multi-core DSP devicesTMS320C6678 is a classic homogeneous multi-core digital signal processor (Digital Signal Processor, DSP) launched by Texas Instruments (TI) in 2010. It contains 8 DSP cores, and each core works at a maximum of 1.4GHz. The performance under the frequency can reach 22.4G Floating-point Operations Per Second (FLOPS), support Hyperlink and other high-speed interfaces, and can be widely used in mobile communication, medical electronics, high-performance computing and other fields.InterProcessor Communication (IPC) between cores and communication between cores and peripherals are the key points of multi-core software development. In response to this demand, Texas Instruments provides a multi-core navigator on its new generation of Keystone architecture processors, including a hardware queue manager and packet-based direct memory access (Direct Memory Address, DMA) to achieve high-speed data transfer between cores. transmission. Using the multi-core navigator for inter-core communication can be realized by reading, writing and querying the corresponding control registers through software, or by event triggering through internal hardware. This method can greatly simplify the inter-core communication processing, but there are still shortcomings. Once the software topology changes, or the computing load of the core needs to be adjusted to improve system performance, this part of the workload is very heavy, and the application is limited by the manufacturer.2. Overview of multi-core communication application program interfaceMCAPI (Muhicore Communications Application Program Interface) is a lightweight application program interface standard based on message passing proposed by the Multi-Core Alliance, which is especially suitable for inter-core communication and synchronization of embedded system processors. The application of MCAPI is not limited by the number of processor cores, processor architecture and operating system, and provides source-level compatibility support, which is very scalable. Compared with ordinary multi-chip inter-processor communication, multi-core processor inter-core communication generally requires low latency and high bandwidth. Most multi-core processors contain on-chip memory or cache. To avoid computational bottlenecks, inter-core communication needs to reduce unnecessary memory accesses. Key concepts such as domain (domain), node (node), endpoint (end.point), and channel (channel1) are defined in MCAPI. Domains are implementation-dependent and can be either a single chip with multiple processor cores or multiple processors on a board. A node can be a thread, a processor, or a hardware accelerator, etc. Usually, a processor core can be used as a node. An endpoint is a communication point similar to a socket, and a node usually includes multiple endpoints. The channel provides a point-to-point First In First Out (FIFO) memory between a pair of endpoints for communication, and the direction is unidirectional.In addition, MCAPI defines 3 basic types of communication: message, packet channel and scalar channel. Message is the most commonly used type of communication. It provides a mechanism for sending and receiving data between endpoints, supports dynamic adjustment of priority, and can be used for synchronization, initialization, and load balancing. Packet channels and scalar channels provide lightweight stream communication mechanisms with little program overhead.3. Multi-core software development process based on Poly-Platform tool3.1 Introduction to Poly—Platform ToolPoly-Platform is an integrated development tool suite for multi-core software development provided by Poly Core, including Poly-Mapper, Poly-Generator, Poly-Messenger/MCAPI, Poly-Templates and other functional modules. Using this tool for development can establish application program nodes based on the MCAPI standard, use the Graphical User Interfaces (GUI1 wizard) to automatically generate codes, and realize applications in homogeneous multi-core and heterogeneous multi-core without modifying the source code. Flexible configuration and expansion on different platforms such as , multi-processor, etc., are not limited by manufacturers, and have broad application prospects.3.2 Multi-core software development processAfter the Poly-Platform software is integrated into the Eclipse software environment by plug-in, corresponding menus and options will appear in TI's Code Composer Studio development environment, and the multi-core software development based on Poly-Platform can be carried out. Here we choose TMS320C6678 multi-core DSP device for development, and take the ring topology of 8 DSP cores connected in turn and transfer data as an example to describe the development process.(1) Establish topology. Firstly, a topology (Topology) project is established. The topology mainly describes the mapping relationship of the application program on the (multi-core) platform. Use the Poly-Mapper tool to set the properties in the topology mapping file generated after the project is established, select the processor type, set the number of nodes to 8 (corresponding to 8 DSP cores), the names are N0-N7, and the operating system is TI’s DSP dedicated operating system. Then draw 8 nodes in the topology diagram, and draw a link (1ink) in the middle of each node to obtain the 8-node topology diagram of the ring structure.(2) Create a memory-mapped file and allocate resources. Create a memory-mapped file and allocate several segments (section1, set its starting address, size, direction and other parameters. These segments are used for memory access regions (Memory Access Regions, MARs) and links (1ink). Among them, the memory access region Including some commonly used resource pools (poo1), such as message pool, message queue pool, data pool, waiting pool, etc. Sharing resources between different nodes through MARs can improve resource utilization efficiency and system performance.(3) Perform memory mapping in the topology diagram. For each node (N0-N7), set its accessible memory access area. Then, it is also necessary to set parameters for each resource pool included in the memory access area, such as the starting address. Similarly, parameter setting is also required for the link.(4) Establish a node project. This is basically the same as the conventional DSP development process. Node projects are established for 8 nodes (corresponding to processor cores), and then the mapping relationship between these 8 node projects and the topology project established in the first step needs to be established.(5) Write initialization code and configuration files. First, use the Poly-Generator tool to convert the topology diagram into C language based on topology definition and the corresponding header files, and store them in the working directory of each node project. Then use the Polv-Template tool to automatically generate node initialization files and hardware initialization files for each node project according to the MCAPI template that comes with the software. Finally, write TI-specific real-time software components (Real Time Software Component, RTSC) configuration files and linker command files for memory allocation.(6) Write the main function of each node project. The main content of the main function includes calling the node initialization function, the hardware initialization function, and the function of sending and receiving messages between nodes (based on MCAPI). These can be quickly completed using the template provided by the Poly-Template tool.(7) Write the application program of each node project. Implement the user's algorithm code and add it to the node project. This step is completely consistent with the conventional DSP development process.(8) Establish target configuration file and RTSC platform. First establish the target configuration file for simulation debugging, then establish the RTSC platform for hardware configuration, and add it to the node project. These are TI-specific files.(9) Compile, debug, and run. Compile, debug, and run each node project, and observe the program running results. Be careful not to compile the topology project.(10) Program performance analysis and optimization. With the help of the interactive report environment provided by the Poly-inspector tool, the performance analysis of the multi-core software implementation can be carried out, which is convenient for users to optimize and adjust the program.in conclusionThe current computing environment is becoming more and more diversified. DSP, programmable logic device (Field Programmable Gate Array, FPGA), and graphics processing unit (Graphics Processing Unit, GPU) all have strong computing capabilities and are suitable for different applications. occasion. Multi-core processor is the current research hotspot, and highly integrated heterogeneous multi-core processor is the future development trend. The development of software based on multi-core is always a difficult point, which brings great challenges to software developers. The multi-core software development method based on MCAPI proposed in this paper can be applied to homogeneous multi-core, heterogeneous multi-core and multi-processor platforms. Topology design, computing load balancing, inter-core communication and resource allocation in the optimization process significantly improve development efficiency.The above is the MCAPI-based multi-core software development method introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-27
2020
Technical Analysis of Three-tier Architecture in Software DevelopmentThe three-tier architecture technology is actually equivalent to adding an "intermediate layer" between the client and the database, which can also be called the component layer. This "middle layer" is not the middle layer in the actual physical sense, but refers to the logical middle layer, which puts business rules, data access, legality verification and other work in the application into the middle layer for processing. The client no longer directly interacts with the database, but establishes a connection through the middle layer, and then the middle layer interacts with the database, and finally realizes the data interaction between the client and the database.Rules for Three-tier Architecture Software TechnologyIn the three-layer architecture technology of software development, the fourth layer of data entity layer is the basic data source, an indispensable layer, and the basis of software operation. Its operation effect depends on the rationality of computer hardware and database design. sex. As for the other three layers, it is not called a three-tier architecture as long as the project is divided into presentation layer, business logic layer and data access layer, and some agreed rules must be followed between these three layers:(1) The presentation layer is only an interface for connecting with users, so it can be transplanted to other projects with similar environments.(2) The data entity layer can only read data through the data access layer, and other layers cannot directly read data from the data entity layer.(3) The data access layer can only be used as an intermediate layer for reading database entities, but cannot perform any business logic processing operations.(4) Software design should focus on the business logic layer, not the data access layer or data entity layer, let alone the presentation layer. In the business logic layer, all business logic operations should be implemented in an object-oriented manner.(5) All data in the data layer should be independent of the system to a certain degree of abstraction.(6) When designing, all remote object technologies should take into account the load balancing between different servers and multiple servers for clustering.(7) Any of these three modules can run on different servers.Whether a project requires a three-tier design depends first on the complexity of the project. In fact, many projects only need to edit one WebApplication to realize all the functions, and no more complex technology is needed at all. Only really complex projects need to use three-tier architecture technology for design and development.Advantages of three-tier architecture technologyBy understanding the working principle of the three-tier architecture technology, we can get the advantages of the software developed through the three-tier architecture technology.(1) The structure is clear and the coupling degree is low. In the three-tier architecture technology, the layers are distinct, the structure between the layers is clear, the software writers have a clear division of labor, and there are not many connections between the layers, reducing the dependencies between the layers, and the writers can only focus on the entire structure. A certain layer, thus greatly avoiding the coupling degree problem existing in the software developed by the two-layer technology.(2) High maintainability and high scalability. The software developed with three-tier architecture technology greatly reduces maintenance costs and maintenance time during later maintenance. The function change and upgrade of any part of the software only needs to change the design and writing of a certain layer, without making changes to the entire system, unlike software developed with two-layer technology, where a small program change needs to be adjusted The entire software development has greatly improved the maintainability and expansion of the software.(3) It is conducive to the simultaneous development of tasks, and it is easy to adapt to changes in requirements. The three-tier architecture technology has greatly solved the problem of software development, especially the problem of large-scale software development, allowing software development to achieve task synchronization. When developing software with two-layer technology, since there are only two endpoints, there is a programming sequence during software development. A team must be very clear about the entire software process and write programs for all links from beginning to end. The three-tier architecture technology divides the software into 4 levels, and there is little correlation between the layers, so the software can be divided into 4 different levels for synchronous development, so as to realize the synchronization of tasks, thereby greatly shortening the time of software development, and more Easily adapt to changing needs.Disadvantages of software three-tier architecture technology(1) The speed of reading data of the whole system is reduced. In the two-tier technology structure, most of the data reading is the result obtained through the client directly accessing the database, while the three-tier architecture technology must go through a complete process of 1/4 levels to get the final result, which virtually increases the intermediate link, thereby reducing the performance of the system.(2) Sometimes it will lead to modification of the association level. Due to the logical relationship between the layers in the three-tier architecture technology, when a function of one of the layers is changed or added due to needs, it is likely to cause changes in the codes of other layers. For example: when a function is added to the presentation layer, in order to ensure the structural rationality of the design of each layer, it may be necessary to add corresponding codes in the corresponding business logic layer and data access layer, so as to achieve the final data consistency.(3) The workload of overall code writing increases. Because the three-tier architecture technology increases the interface between layers, some codes that can be used directly have to be used separately, which virtually increases the workload of code writing.(4) Increased development costs. The original software development as a whole must now be divided into layers of different functions, and the connection interface between layers needs to be considered, which virtually increases the process and workload of the entire software development, thereby increasing the cost of software development. cost.SummarizeGenerally speaking, in view of the increasingly large-scale and large-scale characteristics of today's software development, the three-tier architecture technology solves many problems that cannot be solved in the two-tier architecture technology, thus truly realizing the synchronization, maintainability and reliability of software development. Scalability is an important sign of progress in software development.The above is the technical analysis of the three-tier architecture in software development introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-26
2020
Today, computers have become an essential item in people's daily lives. With the continuous development of computer technology, people's requirements for software are becoming more and more stringent, and people pay more and more attention to software development and security. This article summarizes computer software development and protection technology, hoping to arouse the public's attention to computer development and software security applications.1. Security design of computer software developmentAs the level of technology improves, many security products with mature designs appear on the market that can be directly applied to programs. Security function products can not only improve the unity and integrity of the entire computer system, but also build application program modules, improve the functions of original security products, and enhance security. For example, under normal circumstances, security products do not provide the function of digital signature, but this function can be realized by installing related applications. The security program development process is the process in which programmers install effective security service modules together. In the process of software development, the technical department must first investigate the development-related requirements, and then construct the internal control process of security engineering through the internal construction of the computer, and summarize the particularity of the process and the corresponding operating parameters, thereby reducing development costs and improving development efficiency. This development scheme can not only strengthen the security of each link of the software, but also improve the stability and reliability of the system. The key to the confidentiality work of application program and document management is whether the input and output and processing control can be effectively carried out to ensure the integrity, accuracy and security of the input and output data. When conducting transactions, in order to avoid errors, program control of data transmission and processing is required. Once an error is found in the program, the program will issue an error prompt and a modification opinion. At the same time, the tracking and auditing of the completeness and correctness of system corrections should be strengthened, and the development program must meet the requirements of business needs. If there are contradictions between modules or insufficient password modes during the design, resulting in the inability to fully realize the security requirements, it is necessary to make trade-offs or choose other security operation mechanisms to try to meet the feasibility of the security requirements.2. Analysis of computer software protection technologyThe primary purpose of computer software protection technology development is to prevent and prevent illegal vendors from copying and spreading genuine software, which mainly includes the following two aspects: one is to develop software protection technology for the purpose of protecting hardware; the other is to develop software for the purpose of software development protection technology. At present, software protection technology is widely used, including application software, operating system, driver, network and other fields. Judging the security of software protection technology and its products requires a comprehensive evaluation, and it is not advisable to evaluate security only through a single aspect.2.1 Hardware level(1) Dongle: Dongle is a hardware device that looks like a USB flash drive. It was renamed as dongle, and later developed into a popular industry term for software protection. It is a combination of software and hardware inserted into the parallel port of a computer. Encrypted products generally have tens or hundreds of bytes of non-volatile storage space for reading and writing, and now newer dongles also include a single-chip microcomputer. Software developers can exchange data with the dongle through interface functions, that is, read and write the dongle to check whether the dongle is plugged into the interface; or directly encrypt their own EXE files with tools attached to the dongle. In this way, software developers can set multiple software locks in the software, and use the dongle as a key to open these locks; if no dongle is inserted or the dongle does not correspond, the software will not be able to execute normally. Although the dongle has many advantages, it has the disadvantages of low convenience and high cost, and cannot be widely promoted.(2) CD, floppy disk. Both floppy disks and optical disks can protect stored electronic information by hiding keys in their storage space. In addition, floppy disks are write-protected, which can prevent accidental writing operations and prevent viruses from invading them. When in use, it is best to make some important floppy disks (such as program installation disks and data backup disks) write-protected. Push the write-protect button inward to cover the hole in the left rear corner of the floppy disk, exposing the square hole of the write-protect button, the floppy disk is in writing state, and the floppy disk can accept input records. A floppy disk can record and store multiple files, and it can be reused like an audio tape. However, the protection of optical discs and floppy disks has two disadvantages: first, if the optical discs or floppy disks are damaged, the electronic information stored therein cannot be repaired. Secondly, hackers with strong professional skills can easily judge the location of the key, and then pirate it after cracking it.2.2 Software level(1) Serial number: Serial number protection is the most popular software protection method today. The software ensures the legitimacy of the serial number by verifying the conversion relationship between the user name and the serial number. When the user purchases the software and downloads it to the computer, if he wants to install and use it normally, he needs to register the software. The user sends personal information to the software company, registers his own unique private account, and the software company will provide the customer with a unique serial number. Customers must enter the serial number accurately and pass the verification to use all the functions of the software. The advantage of this method is simple operation, low cost and easy promotion.(2) Nag window: The software is not registered or the trial version of the software often pops up some windows prompting for registration. These windows are called Nag windows. After the software trial period, the Nag window is likely to block the official window of the software or some windows with important functions, so that the software cannot be used normally. At the same time, the software can control the pop-up time and pop-up times of the Nag window, but because the pop-up window will give users a bad impression, it is used less and less.(3) Time and function restrictions: Time-limited protection methods for software are now more common, including two types: one is to limit the time of a single operation, and the software will automatically stop running if the data exceeds the limited time; the other is to limit the number of uses or the time limit limits. Restricting software functions is to process the module functions in the software, so that users cannot use them normally. At present, the effect of this restriction has been well reported.(4) Anti-disassembly: anti-disassembly is a relatively comprehensive software protection technology, and the effect of protection is ideal by combining the characteristics of various protection technologies mentioned in this article. This technology is now mainly used to prevent the dynamic tracking and analysis of crackers.SummarizeAt present, with the rapid development of computer technology and network, software and system programs are gradually penetrated into our work and study, and may even affect our basic necessities of life in the future, so we should attach great importance to the development of computer software. Relatively, computer information security will also affect our normal work and life, so the research on computer software protection technology is urgent.The above is the computer software development and protection technology research introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-25
2020
Research on Rapid Development Method of Small Application SoftwareA computer is composed of hardware and software. Software is its core, which is a set of instructions to complete various controls and operations of the computer. Hardware is a variety of components that ensure the normal operation of the computer system. Software is divided into system software and application software. System software is the basic software running on computer hardware and the basic platform for other application software to run. Application software is designed and developed to meet the different needs of users for computer systems. Professional and highly applicative program, its biggest feature is its applicability. Software development is a special job, and its particularity is reflected in the complex work content and heavy workload, tight development time, unclear requirements, difficult progress, and difficult to eliminate errors, and software products are logical products without physical characteristics , the development process has a certain degree of concealment. Therefore, application software development should strictly follow software engineering ideas and establish a rigorous development process to ensure that software products meet user needs. Compared with the development of large-scale application software, the development of small-scale application software has less workload, controllable complexity, only needs to complete specific functions, narrow application scope, and strong function pertinence. Small-scale application software only needs a small number of developers or one person to develop independently. can finish.1. Small application software development processThe software development process and technology are determined by the nature of the software. The development process of small-scale application software is basically similar to that of large-scale application software. They should follow software engineering ideas and go online after requirements analysis, general design, detailed design, coding, internal testing, software deployment, and user testing. For the development of large-scale application software, due to the complex development process and high development costs, in order to ensure that the developed software meets the needs of users, each step of large-scale application software development requires careful research, planning, demonstration, and confirmation by multiple people to form a corresponding Development documents, while the development of small application software is relatively low in complexity and workload, and each development link should be simple and controllable. Developers can fully control the overall situation and details of small application software, and development efficiency will naturally increase. It has been greatly improved, but every link in the development process cannot be missing.2. Methods to improve the efficiency of small application software development2.1 Methods to improve the efficiency of software page developmentIn the development process, we mainly use VS (Microsoft visual studio2008) integrated development tool, which is suitable for developing both C/S structure software and B/S structure software, but VS tool is more suitable for server-side program development. In terms of page development efficiency, VS is not as fast as Dreamweaver tools. In order to improve the efficiency of system page development, we can open the same software page file in VS and Dreamweaver at the same time, and design and modify the system page in Dreamweaver, and the VS development tool will automatically pop up that the file has been modified elsewhere , indicating whether it needs to be saved, we save the modified file in VS, then the software page designed in the Dreamweaver tool can be recognized and recognized by the VS development tool. The software page design is completed in the Dreamweaver tool, and the server-side program development is completed in the VS development tool. We combine the application of the VS development tool and the Dreamweaver page design tool, which will greatly improve the efficiency of software page development, thereby improving the efficiency of application software development.2.2 Methods to improve the efficiency of software development code writingCode writing is the basis for the final implementation of application software. In the development of small-scale application software, we use regular variable names when writing code, and also use regular names to name controls when naming controls. On the one hand, the code can be modified regularly to improve writing efficiency.SummarizeCompared with manual operation, the computer's software processing ability has higher efficiency, and its quality has also been greatly improved, which can significantly reduce the error rate. Although small-scale application software is small in scale and narrow in scope of application, it is highly targeted and can solve specific problems. For example, the application of small-scale application software such as year-end assessment and democratic recommendation can not only improve work efficiency, but also meet the requirements of fairness, justice, and confidentiality. and other aspects of the requirements, input and output ratio is high. Two methods are proposed in this paper to improve the development efficiency of small application software. The first is to combine the application of VS development tool and Dreamweaver page design tool, which will greatly improve the efficiency of software page development. Secondly, when the software system uses a large number of the same type In the control case, the code text automatically generated by using Excel software and Notepad software has no errors, which saves code writing and testing time, thereby improving the development efficiency of small application software.The above are the details of the rapid development method of small application software introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-24
2020
The official explanation of the mini program given by WeChat is: "A mini program is an application that can be used without downloading and installing. With the concept of running away, users don’t have to worry about installing too many apps, apps will be everywhere and available at any time, but there is no need to install and uninstall.” Since the WeChat mini-program was officially launched on January 9, 2017, it has caused a lot of problems. extensive attention. The WeChat team also keeps updating the Mini Program. The advantages of WeChat mini-programs are very obvious. Mini-programs touch PC webpages, public accounts, H5, and APPs that cannot be touched. It does not need to be installed, and the concept of leaving after use can meet user needs and save mobile phone memory. From the standpoint of the owner of the mini program, its development cost is greatly reduced, and at the same time, the powerful traffic portal of WeChat can be used, thus reducing the difficulty of promotion. In general, WeChat mini-programs are a brand-new method that can better establish connections between users and services, and can be easily acquired and disseminated in WeChat, with a good user experience.1. Preparations before the development of small programsThe Mini Program uses the same parsing technology as React Native and Weex. Developers can write a set of programs to run on multiple clients. At the same time, it has a better native experience than Official Accounts and WeChat Malls. After the application is fully open, developers who are enterprises, governments, media, other organizations or individuals can apply for and register Mini Programs. The subscription account, service account, and enterprise account of Mini Programs and WeChat are parallel systems with independent registration and release processes.1. Mini Program Access ProcessThe access of the applet mainly has 4 steps.(1) Mini-program registration: register on the homepage of the official website of the WeChat public platform (mp.weixin.qq.com), submit the registration information, complete the subject information and administrator information.(2) Improve mini-program information: improve the basic information of the mini-program, such as name, avatar, and service scope. Before development, it is necessary to bind the developer and obtain the APP ID to ensure that the program can be scanned and tested through the mobile phone.(3) Develop small programs: Download and install the WeChat developer tools. WeChat officially provides a complete development framework. Developers can develop and debug small programs according to the WeChat development documents.(4) Code review and release: After the development of the applet is completed, it cannot be released directly. It is necessary to submit the code and development configuration information for review, and it can still be released after completion.2. WeChat Web Developer ToolsThe official WeChat development tool is called WeChat Web Developer Tools, and the mini program front-end development framework is the official framework provided by WeChat. The WeChat Web development tool is a framework based on the Native System system layer. Since it does not run in the browser, some JavaScript methods such as Document and Window on the Web cannot be used. In the past, HTML5 was loaded in the network environment. There will be some restrictions, you need to load HTML, CSS, JS step by step, then return the data, and finally render the page and display it in the browser. Users always have to wait for a long time, which greatly reduces the user experience. In contrast, the two threads of the applet: Appservice Thread and ViewThread will be simultaneously loaded and loaded in parallel, and even Appservice Thread will be executed earlier. When the view thread is loaded, Appservice will be notified, and Appservice will use the prepared data with setData method returns to the view thread. This optimization strategy of the applet can reduce the waiting time of the user and speed up the response speed of the applet.The WeChat Web developer tool is different from the H5 development tool + browser Device Mode preview mode, but based on its own developer tool, it can realize a complete set of processes such as synchronizing local files + development and debugging + compilation preview + upload + release. At the same time, the applet has developed a set of WXML tag language and WXSS style language by itself, instead of directly using the standard HTML5+CSS3. At the same time, it provides many native APP components. The functions that need to be simulated in HTML5 before can be realized by directly calling the components in the applet.2. The structure of the mini program and its core technology1. The file structure of the appletCreate a new project using the WeChat Web development tool, and the framework will automatically generate an APP describing the overall program and page files describing multiple pages. The main components of a complete applet are: an entry file: app.js; a global style: app.wxss; a global configuration: app.json;Divide the page installation folder under pages. There are 4 files in each page, namely: view layer: wxml file, wxss file; logic layer: js file, json file (page configuration, not required).(1) app.js is the script file that controls the logic of the applet, and app.json is the configuration file of the applet, which is responsible for the global configuration of the applet. app.wxss is a global style sheet, and its scope is every page of the project.(2) wxml is a language similar to xml format, with functions such as data binding, conditional rendering, list rendering, custom templates, event callbacks and external references. page.wxml mainly builds the page structure by using basic components.The language of wxss and css format has similarities, and is used to describe the component style of wxml. The priority of page.wxss is higher than that of app.json. At the same time, WeChat has added a size unit rpx for the applet, rpx can be adaptive according to the screen width, rpx is actually a system-level rem (dividing the page into 750 parts proportionally, 1rpx=innerWidth/750).page.json can set some properties for independently defined pages to meet actual needs. config.json can set some personalized configurations. When reinstalling the tool or changing another computer, as long as the same code package is imported, the development tool will automatically restore to the personalized settings when developing this project.JS files are mainly used for user interaction, responding to user clicks, etc. In the applet, JS scripts are used to respond to user operations.2. The framework of the appletThe development of WeChat applets is based on the framework. From the perspective of software design, the framework is a reusable software architecture solution, which specifies the architecture of the application and clarifies the components of each layer and its internal layers in the software architecture. The will relationship among them, responsibility assignment and control process, manifested as a set of interfaces, abstract classes, and methods of collaboration between instances, refers to the overall structure of the design and implementation of the subsystems for a part of the application system in a specified application field.The core of the applet development framework is a responsive data binding system. It is divided into view layer (View) and logic layer (APP Service). The applet development tool provides view layer description languages WXML and WXSS, as well as JavaScript-based logic layer framework, and sets data transmission and communication between the view layer and logic layer. The event system allows developers to easily focus on data and logic. The place where business logic is handled is called the logic layer. In the WeChat applet, the collection of all .js script files constitutes the logical layer. The logic layer and the view layer cooperate with each other to complete data processing and receive event feedback. The view layer of the framework is written by WXML and WXSS and presented through components. For the applet itself, the collection of .wxml files and .wxss files constitutes the view layer. After the logic layer processes the data, it will be sent to the view layer for interaction with the user, and at the same time receive user feedback on the view layer. The view layer presents data in a given style and feeds back events to the logic layer, and data presentation is performed through components. The basic building blocks of views are components.3. Relevant components of the appletWeChat provides a series of basic components, which can be combined to develop mini programs. Here are a few more characteristic components.(1) <view/> is similar to <div/> in html5, and is the most basic component in the layout. Any complex layout can be realized by nesting <view/> components. <view/> is A block-level container component, the default display: block, which is a box model, generally recommends display: flx in the layout process.(2) <textarea/> is a multi-line input box. Unlike HTML, its value needs to be assigned to the value attribute instead of being wrapped by a label. It is a self-closing label. CSS animation is invalid for the <textarea/> component .(3) <navigator/> is a page link, which is the same as the hyperlink tag <a/> in HTML, mainly for page jump control. The content of the link can be a word, word or a picture, and the page can be jumped by clicking on the content.(4) <canvas/> is mainly used to draw graphics. It itself is a colorless and transparent area without the ability to draw. It is just a graphics container. It needs to adjust the relevant application programming interface (Application Programming Interface, API) to complete the actual drawing task.4. The API and configuration of the applet(1) Domain name configuration:According to the components provided by the Mini Program, developers can design the UI interface as needed, but some functions of the Mini Program depend on the API provided by the framework. When using the API, you must first configure the server domain name for the applet. Each applet needs to set a communication domain name, and the applet can communicate with the specified domain name over the network. Currently supports HTTPS (request), upload file (uploadFile), download file (downloadFile) and WebSocket communication.(2) Commonly used APIs:1) wx.request(Object): Realize data interaction between the applet and the developer's server. The function of the request method is to initiate an HTTPS request. In the applet, only HTTPS requests can be used instead of HTTP requests. A WeChat applet can only have 5 network request connections at the same time.2) WebSocket: The request method is to initiate a request to the server through the client, and the server responds and returns data to achieve the purpose of communication. The disadvantage of this method is that the server cannot actively send messages to the client. Therefore, polling is the only way to achieve instant communication between the server and the client, and the header of the request is very long, and it will take up a lot of bandwidth to transmit a small amount of data. In response to this situation, developers can create WebSockets through the WebSocket-related APIs provided by the applet. WebSockets only require the server and browser to perform a handshake through the HTTP protocol and then establish a Transmission Control Protocol (TCP) communication channel separately. Data transmission can be carried out, and a long connection can be realized to achieve the purpose of communication.3. Project release of small program design1. Mini Program release processAfter the project development is completed, the administrator needs to manually package and upload the code, fill in the relevant configuration categories and submit the code for review. If the first review fails, submitting the review again will open the entrance for testing. This entry is provided by the developer. Log in when WeChat reviewers review WeChat Mini Programs. It can be published manually after review.2. Mini-program upload principleHow does the administrator manually package and upload the code? The editor itself is implemented based on the web technology system. Simply put, it is node+webkit, node provides us with the ability of local api, and webkit provides us with the ability of Web, after the combination of the two, we can use JS+HTML to implement local applications. Now that there is nodejs, the functions in the packaging options are easy to realize. Among them, ES6 to ES5 is to introduce the node package of babel-core, CSS completion is to introduce the node package of postcss and autoprefixer, and code compression is to introduce the node package of uglifyjs.epilogueStanding on the shoulders of WeChat, which has 900 million monthly active users, the WeChat Mini Program has its own traffic trends, multiple entries, and simple and convenient functions. The rapid iteration of mini-program functions means that the development of mini-programs and the construction of ecological tools will be a huge opportunity for the mobile Internet. At present, many business units in various industries have joined in the development of small programs and opened the functions of small programs. Although many voices were not optimistic about the mini program some time ago, after the mini program was optimized, many entrances were opened, which made developers and users pay more attention. Even though some high-frequency and complex applications cannot be replaced by small programs for the time being, as long as the main functions of some low-frequency applications can be implemented on small programs, the APP can be completely uninstalled. Generally speaking, the current development space of WeChat mini-programs is very good, but the future development cannot be accurately predicted.The above are the details of WeChat Mini Program development technology introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad, including MCU, voice IC, Bluetooth IC and modules, wifi modules. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS solutions, the development of Bluetooth audio, the development of children's toys, and the development of electronic education products.
07-23
2020
Web front-end APP development based on HTML5With the rapid development of Internet information technology, people's lives have undergone earth-shaking changes, and mobile Internet technology has brought great convenience and changes to people's lives. Nowadays, with only a smart phone in hand, almost all problems can be solved anytime and anywhere, such as eating, stock trading, making phone calls, online learning, online shopping, online job hunting, games and entertainment, etc. The development of APP emerges in an endless stream. HTML5, as a new technical form, was first applied to desktop browsers, giving users the experience of using a browser while using an application. Now, the application of HTML5 to the development of Web front-end APP has greatly promoted the development of mobile Internet technology.1. Introduction to HTML5HTML5 is the fifth revision of Hypertext Markup Language (HTML), which is the result of cooperation between W3C (World Wide Web Consortium, World Wide Web Consortium) and WHATWG (Web Hypertext Application Technology Working Group, Web Hypertext Application Technology Working Group). WHATWG works on Web forms and applications, while W3C focuses on XHTML2.0.2. Some new features of HTML5(1) Canvas element for drawing: It has no drawing function itself, and draws 2D graphics on the web page through JavaScript. <canvas id="myCanvas1"width="300"height="200"></canvas>(2) Video element and audio element: HTML5 solves the key issues of audio and video on mobile devices, no plug-ins are required, audio can be rendered through the audio element, and users can listen to music well. Add preload="preload" or just preload to the video element, when the user visits the page, the video can be preloaded, and the user can enjoy rich videos. It brings great convenience to mobile APP development and adds more colors.(3) HTML5 can realize offline storage: No matter how fast the Internet technology develops, there will always be unexpected times, such as poor network signal or unstable network due to weather or other reasons. HTML5 can make network applications Offline use effectively solves this problem and brings convenience to mobile development.(4) New label elements: such as calendar, date, time, email, url, search and article, footer, header, nav, section.3. Web front-end APP development based on HMTL53.1 Composition and Classification of H5 Web AppEach application is composed of multiple pages, and HTML5, JS code, and CSS style constitute a page description. The service can be called in the page to realize the function of accessing the background database, and the hardware capability of the device can also be called by calling the local device API. At present, there are three types of applications based on mobile devices: Native App (native application), which is specially developed for a certain operating system, such as IOS, Android, BlackBerry, etc., which run on their respective mobile devices; Hybrid App (hybrid application) is a combination of native application and web application, which adopts part of native application and web application respectively, so part of it runs on the web and part of it runs on the device; web app (web application) is essentially Web-based applications designed for mobile browsers, which are developed in common web development languages and can run on various smartphone browsers. As for which application you want to use, you can consider the specific situation and develop different types of Web Apps for different needs.3.2 Advantages of HMTL5 technologyThe significant advantages of HTML5 are one-time development, cross-platform use, and get rid of the dependence on the platform, and many browsers (such as Chrome (Google Chrome), Firefox (Firefox Browser), Safari (Apple Browser), IE (Microsoft Browser) ), Opera (Ou Ming browser) and domestic browsers such as 360 browser, Sogou browser, QQ browser and Cheetah browser based on IE or Chromium) all support HTML5, saving time and improving operating efficiency; and HTML5 supports cross-application switching on mobile phones. Users can switch back and forth between different APPs without going back to the desktop. In this way, it brings convenience, saves time and brings better user experience for people to use APPs. ; Its writing code is clear, concise and easy to understand, and all of them are encrypted. The local application can be decrypted and then run, making it more secure. Now it has been adopted by many companies. For example, HTML5 technology has been favored and used by Baidu website, and it has been learned by many people. Putting it into real life, it will become the mainstream when the HTML5 specification is developed.3.3 Development prospects of HTML5-based Web front-end APP developmentFrom the endless mobile applications emerging in modern society, we know that in this era of mobile devices such as smartphones and tablets, mobile advantages have become an unstoppable trend. It eliminates the technical threshold for adapting terminals and applications, cross-platform and cross-network, which greatly reduces the cost and is conducive to promoting the healthy development of the industry. At present, there will be 1 billion mobile browsers supporting HTML5 in the world, and the number of Web developers will increase rapidly, reaching 3 million. According to the development speed of the Internet, people's current lifestyle is inseparable from the Internet. In the future, the demand for APP will become greater. In the future, it is very likely that everything in life will be related to smart phones and Web applications, and everything can be implemented online. .SummarizeNowadays, the mobile Internet has become the trend of the times, and the development of HTML5 technology will be an unstoppable trend. Although HTML5 technology is still being continuously improved and improved, under the general trend of future mobile Internet development, it will be HTML5 The development of HTML5 is the icing on the cake, which makes the development space of HTML5 wider and the development prospect brighter. It must be the mainstream of development in the future for a period of time, and it is worth learning, researching and applying.The above is the HTML5-based Web front-end APP development method introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-22
2020
Development of indoor positioning APP based on OCR technologyWith the continuous development of our country's economy and the improvement of people's living standards, various indoor places tend to become larger and more complex, such as libraries, hospitals, large supermarkets, high-speed rail stations, underground garages, etc., in large indoor environments. Positioning needs also arise accordingly. Different from outdoor positioning systems such as GPS and Beidou satellite positioning system, indoor positioning systems are a major challenge in the field of mobile applications.The indoor positioning system based on OCR technology is to establish a database of text information on indoor markers and their corresponding coordinates, so that users can enjoy more accurate positioning services indoors where the GPS signal is weak. Use the APP on the mobile phone to take photos of the text information of indoor landmarks, such as shop names, street signs, exhibit introductions, etc., and the OCR recognition engine connected to the APP will recognize the text information in the picture, and then transmit it to the server for recognition in the database. The text information is retrieved and matched, and the coordinates are returned after the matching is successful, and the location is displayed on the APP in the form of a map and coordinate points.1. System analysis of indoor positioning APP1.1 Positioning APP system architectureThe software architecture requires UI components, UI processing components, Baidu OCR engine, Gaode map SDK, data access components, etc. UI components are used to display the user interface, Baidu OCR engine provides text recognition services, AutoNavi maps provide map sources, and the software exchanges information through data access components and databases. In addition, issues such as communication, operation management, and system security need to be considered.1.2 Main functional modules of indoor positioning APPThe indoor positioning APP mainly includes 6 functional modules.(1) Registration module: The registration method is mobile phone number or email registration, click to get the verification code to verify the correctness of the mobile phone number or email address, and prevent malicious registration or wrong registration. After the verification is successful, you need to set a login password. If you fill in twice and the password is the same, you will be registered successfully. Then you will automatically log in to the system without entering the account number and password again. At the same time, the system will transmit the registration information to the server and insert it into the user table.(2) Login module: The user needs to enter the account number and password. If you do not remember the password, you can click "Forgot Password" to reset the password after verifying the mobile phone number or email address. After clicking Login, the login information will be transmitted to the database for comparison, and only if it is completely correct can you enter the main interface.(3) Setting module: After clicking the gear icon in the main interface, you will enter the setting interface. You can choose to modify the password, map management, whether to allow the administrator to push messages, whether to allow the latest version of the software to be automatically downloaded under WiFi, and clear the cache in the settings. And functions such as logout and login. Among them, map management refers to the ability to download maps of specified cities, which can save data traffic, and it is not necessary to connect to the Internet to receive map resources every time the software is opened.(4) OCR recognition module: After clicking the camera icon on the right side of the top search bar, the software will open the system camera to take pictures, and then automatically call the Baidu OCR engine for recognition. After the recognized text is displayed, the user can choose to manually modify the text, After modification, upload it to the server, or upload it directly.(5) Map module: use the map provided by Gaode to display the current location on the map according to the coordinate information returned by the server.(6) History record module: After clicking the clock icon on the main interface, you will enter the history record interface, where you can see the records of user location, including time, place and text information recognized by OCR.1.3 Positioning APP system processAfter opening the software, click the camera icon on the right side of the search box, turn on the phone camera, and after taking a photo, the system will call the Baidu OCR engine to recognize the text in the photo. If the recognition fails, the user will be prompted to take a clear photo again. After the recognition is successful, the system will recognize the text The displayed text is displayed for the user to check whether it is correct. If there is an error, you can choose to manually modify the text. If there is no error, it will be directly uploaded to the server, and then searched and matched in the database. If the match fails, it will return to the camera interface and prompt the user to restart. Select a landmark, and if the match is successful, the coordinate value will be returned, and then the system will call the Gaode map source to display the indoor map and coordinate points, and one indoor positioning is completed.2.The main technology of APP design2.1 Database designThis system creates a database table in the MySQL database on the server side, and according to different data formats, the data is divided into three categories: user login data, user behavior data, and location coordinate data for storage. User login data includes information such as user login account number and password. Since this type of data is very important, it should not be stored in the database in plain text. By using the AES_ENCRYPT function of MySQL to encrypt the data, because the encrypted data is ugly, so then Use the to_base64 function to transcode the data, and store the encrypted user information in the database.User behavior data includes the time when the user uses the software for indoor positioning, the text recognized by OCR, the text modified by the user, and the location coordinates after positioning. The content of this data is for the user to view in the history record, and the user can delete it by himself.The location coordinate data includes text information and corresponding coordinate values on the features in the indoor environment. By matching the string uploaded by the user, the coordinates are returned, which are used to display the current location on the mobile client and mark it on the map.2.2 Call OCR interfaceThe software uses Baidu's OCR for text recognition. Baidu's OCR service is free, but there is a limit on the number of times per day, but it is enough for student projects. First, enter the console in the Baidu AI open platform, find the product service of text recognition, fill in the relevant information after creating the application, and obtain AK and SK. Then, download the license file. If you directly use AK and SK to call Baidu's OCR in plain text in the project, it is very unsafe. It may be decompiled by others to obtain the user's AK and SK. The license file integrates AK and SK and is placed in the The project can prevent others from cracking. After that, download the Android SDK of Baidu OCR and add it to the project. After the preparatory work is completed, you can start calling Baidu's OCR interface. Create a function that initializes the OCR instance according to the License file in the file where the page to be recognized resides, and call it in the onCreate() method. Next, create a class RecognizeService that can store the OCR recognition method. In the onActivityResult method, call the recAccurateBasic method of the newly created class. This method receives 3 parameters, which are context, the image path obtained by taking pictures, and defined in the RecognizeService class. In the onResult method, the returned result string is the json string of the recognition result. You only need to parse the JSON to get the recognition result.2.3 Get indoor map serviceThis software uses the map service provided by Gaode. Enter the console in the Gaode open platform, create an application, obtain the API KEY, download the map SDK file under the Android platform, and import the decompressed jar package into the project. After the development environment is configured, add the user KEY and the required permissions in the "AndroidManifest.xml" file of the project, add the map control in the layout xml file, create a map Activity, and manage the map life cycle.SummarizeThis paper designs and develops an indoor positioning APP based on OCR technology based on the Android platform, which provides a new solution for indoor positioning. The more mature indoor positioning solutions at this stage require infrastructure, such as indoor deployment of dense access points or base stations, such as various sensors, signal receiving devices, signal transmitters, etc., which are costly and require maintenance equipment. The cost of the indoor positioning solution based on OCR technology is very low, and does not require various equipment for positioning. The more troublesome step is only the first step, the establishment of a coordinate library. The text information on the indoor markers is extracted, and a coordinate library is established. This is indeed a lot of work, but with the development of OCR technology and artificial intelligence technology, in the future, it may only be necessary to use drones to shoot all indoor scenes, and then the system can automatically sort out the pictures and match their corresponding coordinates , into the database, so that the workload can be greatly reduced, and even the camera can be turned on to achieve real-time indoor positioning through video recording. As a sensor-free indoor positioning solution, it can provide us with more innovative ideas and research directions.The above is the indoor positioning APP development technology based on OCR technology introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.
07-21
2020
The emergence of software engineering is to deal with the "software crisis" of software development due to the large increase in software demand. The so-called software engineering refers to software development by referring to traditional engineering methods. The classic software development process in software engineering includes several stages, namely requirement analysis, general design, detailed design, coding, testing, operation and maintenance.The emergence of software engineering has made it normal to develop quality and cost-effective software products, and the problem of "software crisis" has been solved. However, with the further widespread use of software, the status of software products in people's production and life More and more important, a new problem has emerged, that is, software security. However, the original engineering process of software development cannot solve software security problems well.Based on the original software development process in software engineering, and referring to the existing software security development process SDL, a new software security development process is proposed through appropriate transformation.1. Existing software security development process1. Introduction to SDLWith the popularization of software use, some people of insight have researched on software security issues, and have some usable results. Among them, the software security development process has also emerged as the times require. So far, the most popular software security development process is the software security development cycle proposed by Microsoft—SDL. A process for security work can also greatly improve software security. The following is a brief description of SDL. In a complete software SDL implementation process, it can be divided into 13 stages.(1) Security education and security awareness raising; (2) Project initiation; (3) Define and follow design best practices; (4) Product risk assessment; (5) Product risk analysis; (6) Create security documents for customers, Tools; (7) Secure Coding Strategy; (8) Security Testing Strategy; (9) Security Promotion Activities; (10) Final Product Security Review; (11) Security Response Plan; (12) Product Release; (13) Execute Security Response .SDL can effectively improve software security and reduce software security problems. According to relevant data provided by Microsoft, the security holes discovered by Windows Vista developed with SDL are 45% less than that of Windows Xp without SDL; the security holes discovered by SQL Server 2005 developed with SDL are reduced by 91% compared with SQL Server 2000 without SDL .SDL has some obvious advantages. It can be used as a whole or at a certain stage, with high flexibility, and it matches the general development process, so it is very practical. In addition, SDL is not only suitable for Microsoft platforms, but also for multiple platforms; SDL has relatively sufficient tool support, such as threat modeling and static source code analysis tools; SDL is developed by Microsoft, and the required documents are very detailed.2. Current status of SDL applicationThrough the survey data on the combination of software development process and security at the RSA conference in San Francisco in 2010, it was found that current software companies have begun to pay attention to software security issues, and more than 50% of the survey participants expressed concern about SDL. But further survey data show that only 13% of the participants actually applied SDL in the development process.Survey participants who did not use a software security development process also gave their reasons, mainly for their time cost, resource cost, and temporary security awareness. From this point of view, even though the attention paid to the software security development process is getting higher and higher, its actual usage is still not ideal. Through the survey, it is found that the size of the enterprise is one of the important factors affecting whether to use the security development process. Large enterprises can undertake greater resource investment to ensure the cost of security tools and security activities, while some small and medium-sized enterprises have certain concerns about the investment.2. Improvements to SDLA large amount of data proves that the later the software security testing is involved, the more effort is required. Fixing security vulnerabilities after software release costs at least 30 times as much as fixing them at the software design and coding stage.The emergence of SDL is to solve the above problems, but the existing SDL has certain limitations. In order to improve the applicable objects of SDL and reduce its economic requirements, SDL has been properly transformed. The core of the reformed software security development process is the security knowledge base, which is always valid in the software life cycle and plays different roles. In order to make the software development process more flexible, the software development cycle is simplified into four stages: requirements, design, testing, and maintenance. In these 4 phases, different activities are taken to improve software security.1. Software security knowledge baseIn the modified software development process, the security knowledge base is the core existence, and it can contain many contents, including product risk database, software security vulnerability database, software security development design rules, security tools, and even some corresponding security knowledge training.Product risk library: including the demand risk and the assessed risk at the beginning of the project. Security tools: including network security testing tools and white box security testing tools. For example AppScan, Sninffer; white box security testing tools include Fortify or CheckMarx. Security knowledge document: The security experience document or training document accumulated by the project. Security Vulnerability Library: The related product security vulnerabilities that can be collected, including network and code levels. Secure Design Rules: Fundamentals of secure development, such as coding rules. The security knowledge base plays an extremely important role in the software security development process, and the content in the security knowledge base can be used at each development stage.2. Software development requirements stageThe main work of the requirements phase is requirements collection and requirements analysis. At this stage, the product requirements can be analyzed according to the product risk database of the security knowledge base, and the requirements for hidden security risks can be redesigned, or the losses caused by not carrying out security activities for certain functions or processes can be calculated.3. Software security design stageThe design phase is divided into outline design and detailed design. The general design stage will mainly focus on software architecture design and software module function definition. At this stage, it is necessary to refer to the product risk library and vulnerability library to pre-process some known security issues, especially for some network software. Design accordingly for a well-known attack method.The work in the detailed design stage is mainly code writing. At this time, it is necessary to code according to the vulnerability library---mainly white-box security vulnerabilities and security design rules. For white-box security vulnerabilities, there is now a relatively mature definition, such as fortify’s classification and definition of white-box security vulnerabilities, refer to these vulnerability classifications, and carry out detailed design work in combination with relatively mature coding rules to ensure coding quality.4. Software security testing phaseSoftware security testing is mainly divided into three types. The first is fuzz testing: the principle of this testing is to send unexpected inputs to the target system and observe the results to find software vulnerabilities. Generally, a large amount of abnormal data is set to be parsed, and the test of problem codes generated by network protocols and untrusted access is included. The second is penetration testing: This type of testing is a mechanism to demonstrate that network defenses are functioning as expected. It is mainly used to test the operating configuration of the network and the host system and the degree of repair of the patch. Most of them use simulated attacks to discover loopholes in the information system and system vulnerabilities. The third type is run-time verification: verifying running problems is used to complete routine running tests and analyze problem logs. You can use the defect classification table or the risk classification table to count the tested defects, and use the corresponding test method to repair the found defects.At this stage, a large number of security tools can be used for testing, such as the security of network software, using some penetration testing tools for testing (such as ActivePerl, Sniffer); code-level security testing mainly relies on some static testing tools and Dynamic testing tools, such as forti-fy and CheckMarx, which specialize in code static security testing; there are also some security testing for software usage environments and overall software systems, such as the US security software nessus. Now, there are more and more software security testing tools, and many mature or characteristic commercial or open source software security testing tools have emerged. There are also some good software security tools in China, such as Venus Star Mirror or Anhua Mingjian. Both provide convenience for the implementation of software security testing. At this stage, from cost considerations, a large number of open source tools is a priority.5. Software maintenance phaseThe work in the maintenance phase is mainly to deal with the security problems that have occurred and collect the problems and solutions into the security knowledge base to provide knowledge reserves for future software security development.The simplified software security development process only includes four stages: requirements, design, testing, and maintenance. These four stages all need to use the security knowledge base, so the core of the established process is still the security knowledge base. The modified software security development process is more flexible, but it can adapt to different development processes. Once the security knowledge base is established, software security development can also be carried out at different stages to reduce security costs.SummarizeThe application of the software security development life cycle is mainly to reduce security vulnerabilities and reduce the impact of security vulnerabilities. However, software development is only based on the current optimal security solutions, and new attack methods emerge in an endless stream, so security issues and software vulnerabilities cannot be completely eliminated.Software security work is now more reflected in security testing, and work on software security development is still scarce, which has something to do with the high cost and complexity of the existing software development process. By simplifying the existing software security development process SDL to meet the needs of small and medium-sized enterprises, it can also be used as some agile development or development with simple processes. The optimized software development process mainly has the following advantages: the development time is more flexible, the use of security tools including free tools is emphasized, the process is simplified, and the cost is reduced.The above is the research on the software security development process introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad, including MCU, voice IC, Bluetooth IC and modules, wifi modules. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS solutions, the development of Bluetooth audio, the development of children's toys, and the development of electronic education products.
07-20
2020
In recent years, there have been more and more applications of online social tools, such as QQ, Weibo, WeChat, MSN, etc. These social tools have undoubtedly swept the modern society, and have entered everyone's life, work and study. The field of education is also strongly affected. Influence.On the one hand, there is a large amount of bad information disseminated in social networking, which is very harmful to young people and seriously affects the healthy growth of students. On the other hand, there are positive and favorable factors in online social tools, which can promote the reform and efficiency of education and teaching. For example, the author found through investigation that there are more and more application scenarios of WeChat official accounts in the field of education. Many schools and teachers have tried to use WeChat official accounts for education, teaching, publicity, and promotion, and achieved gratifying results.However, the application of WeChat public accounts in the field of education is still in a spontaneous state, and there are still many uncertain problems. Therefore, it is the goal of this research project to promote the advantages and eliminate the disadvantages, and make the best use of the situation to turn the Internet into a tool that is conducive to the growth of college students.1. WeChat public account demand analysisCurrently, information-based education and teaching environments such as network centers, electronic classrooms, multimedia classrooms, and laboratories have been deployed in higher vocational colleges. Under such conditions, only mobile networks need to be deployed to realize learning in mobile campus scenarios. Then, the platform is built on the software environment, so that students can use their own mobile network to study anytime and anywhere.Through research, it is found that the live classroom based on HTML5 and WeChat official account studied in this project needs to solve the following problems:1) For mobile applications, the system does not need to be installed, and can be accessed directly through the WeChat official account. 2) For different mobile phone platforms, only one set needs to be developed. 3) The version does not need to be updated frequently, the server updates the code, and all customers can update it after accessing it. 4) It can realize the real-time streaming of customers and the transmission of live server. 5) It can realize the forwarding and relaying of the live server stream. 6) Whiteboard and document presentation. 7) Synchronization of video stream, audio stream, whiteboard information, and document information. 8) Cloud storage and cloud playback of live data. 9) Meet the lightweight online live broadcast service.2. WeChat official account system designThe main theoretical basis of the system design is the principle of software engineering, Gagne's nine-stage teaching strategy, constructivist learning theory, the principle of repetition and common experience in the principle of optimization of teaching communication. According to the design requirements, the platform functions can be divided into three parts: teaching information release, communication and feedback, and learning assistance platform. According to the teaching content, teaching links, teaching arrangements, etc., it can be further subdivided into 7 functional modules: preview, lecture, review, expansion, summary, interaction and assessment.Preview: mainly to let students understand the learning objectives, learning focus, learning difficulties, learning methods, etc.Lecture: It can be a live lecture, or it can be a lecture made with course resources such as micro-classes and MOOCs.Review: mainly to consolidate key knowledge, solve difficult problems, and deepen memory and understanding.Expansion: Provide expansion resources, broaden students' horizons, stimulate students' thinking, and promote the transformation of knowledge into application.Summary: By refining the content framework, let learners master the context of knowledge, self-evaluate, and independently construct a knowledge system.Assessment: Provide assessment resources, automatically assemble test papers, self-test, and can also perform unified assessment.Interaction: mainly between teachers and students to answer questions, learn and communicate, and share resources.The 7 modules of preview, lecture, review, expansion, summary, interaction, and assessment complement each other and form a complete closed loop of the learning process, which can stimulate learning motivation, clarify learning goals, consolidate learning foundations, broaden learning horizons, construct learning systems, and exchange learning experience, share learning resources, and assess learning outcomes.3. Development and application of WeChat public accountThe platform mainly solves the following problems in the education and teaching scene: ① Teaching content publishing, notices, messages, and learning materials can be released on the platform. Learning materials can be text, pictures, PPT, recordings, micro-classes, MOOC, source programs, etc. It is used for students' independent study before and after class. ②Individualized settings, the public platform can use keywords to realize the service of "conversation is search", and can also realize automatic reply through user settings. ③Message board management, open up a message board area on the platform, you can post communication topics or ask questions on certain issues, express your own opinions, and realize in-depth, multi-user communication on issues. ④Application statistics, such as the number of users, number of communication topics, number of likes, etc., are displayed in the form of graphs. ⑤Resource management. The resource library is divided into teaching resource library, expansion resource library, and assessment resource library. Resources are placed in the management library in advance. ⑥ User management, which can classify and group users, and users can modify certain information by themselves. According to the official account and the functions we require, in order to realize the requirements, we choose the following technical support based on the actual situation.1. RTSPRTSP (Real Time Streaming Protocol), RFC2326, real-time streaming protocol. The protocol defines how one-to-many applications can efficiently transmit multimedia data over IP networks. The protocol has the following characteristics: ①The transmission method is flexible. RTSP is located above RTP and RTCP in terms of architecture, and TCP or UDP can be selected to complete data transmission according to network conditions. ② Two-way request, compared with HTTP and RTSP, the HTTP request is sent by the client and the server responds; when using RTSP, the client and the server can make two-way requests. ③Multimedia streaming, RTSP is a multimedia streaming protocol used to control sound or video, and allows multiple simultaneous streaming requirements to be controlled. ④Support multi-party video applications, allowing simultaneous multiple stream demand control can reduce server-side network usage, and support multi-party video applications. This technology is highly compatible with the application scenarios of the project, and is very suitable for distributed education applications. It can realize the application of unicast and multicast, field data and stored clip data.2. WebrtcWebRTC implements webpage-based video conferencing, and the standard is the WHATWG protocol. The ultimate goal of the project is to enable web developers to quickly develop rich real-time multimedia applications based on browsers without downloading and installing any plug-ins.①This protocol is powerful and provides the core technology of video conferencing, including audio and video collection, codec, network transmission, display and other functions. ②And also supports cross-platform: windows, linux, mac, android. Convenient interactive experience, rich product functions. ③Supporting large-scale viewing can conduct high-definition audio and video, large-scale, and stable live broadcast teaching on a global scale. ④ Abundant courseware types In addition to traditional static courseware, it also supports dynamic ppt courseware. Support full-format multimedia playback, support local file streaming directly, open in seconds, and restore smoothly.3. HTML5HTML5 is the fifth major revision of the core language of the World Wide Web, an application of Hypertext Markup Language (HTML) under Standard Generalized Markup Language. HTML5 is designed to support multimedia on mobile devices. The main advantage of using HTML5 is that it can be used across platforms. In addition, it is an adaptive web design technology that can automatically adjust the layout according to different sizes of screens. Because of these advantages, this project chooses HTML5 in terms of web technology.After the completion of the project, it will be verified by the teachers and students of the 16th and 17th grades of the software of the School of Animation Software and Education. In practice, learning is carried out at any time through mobile devices such as mobile phones, so that learning is not limited by time and space. In this way of learning, student interaction is encouraged, teachers use WeChat official account to push learning content, students participate in online discussions, help students accumulate knowledge, optimize knowledge structure, students' learning enthusiasm is significantly improved, and learning results are remarkable. At the same time, the WeChat official account, as an effective communication tool among teachers, students, and parents, has created a new communication mode, which provides a lot of convenience for people's communication activities, realizes effective communication between the three parties, and can timely understand and master students. learning situation, and maximize the benefits of resources through the network.The platform meets the needs of various classrooms and allows the creation of various classrooms, supports pre-class warm-up, on-site mic scheduling, and recording and broadcasting classes. Rich interactive functions support a variety of commonly used teaching functions, chat question and answer, desktop sharing, roll call, lottery voting, etc. Support screen sharing methods such as desktop, area, program, etc. Server-side recording and playback support server-side 1080P high-definition recording, automatically generate playback, and can be uploaded and downloaded. Secondary editing can also be performed for playback to generate customized recordings. Open interface, full terminal coverage of webpage interactive live broadcast, support webpage and client, PC (MAC) and mobile terminal.SummarizeThrough project development and practical application, live classes based on the WeChat public platform can stimulate learners' interest in learning, enable learners to practice and consolidate repeatedly, lay a solid foundation, expand and improve, and the learning effect is significantly improved. The practical results show that the live classroom on the WeChat public platform based on HTML5 is easy to use, fast and directly connected, and the scene diversity meets the application requirements of various large-scale teaching scenarios such as live classrooms, academic lectures, and open classes. It is a useful supplement to education and teaching methods. It can be promoted when conditions permit.The above is the live classroom design method based on the HTML5 WeChat official account introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad, including MCU, voice IC, Bluetooth IC and modules, wifi modules. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS solutions, the development of Bluetooth audio, the development of children's toys, and the development of electronic education products.
07-19
2020
Software development project labor cost control process design and application1. Current situation and existing problems of labor cost management in domestic software development projectsProject costs include direct costs and indirect costs. Direct costs include direct labor costs, hardware and software procurement costs, travel expenses and other direct expenses. Indirect costs include overhead sharing, etc. Labor costs account for a high proportion of software development projects, and it is of great significance to manage labor costs well. The labor cost is equal to the labor time input multiplied by the unit price of the personnel. The management of labor costs can be simplified as the management of working hours.Labor cost management includes two aspects. On the one hand, it is necessary to estimate accurately and establish a reasonable cost benchmark; on the other hand, it is necessary to control cost input so that the actual cost is controlled within the cost benchmark. At present, the domestic IT industry is not very mature in these two aspects, and the existing problems mainly include the following aspects.1.1 There is no unified estimation standard, and the estimation results have large deviationsThe entire software industry lacks scientific estimation methods and estimation standards for a long time, and the problem of cost quota calculation has not been well resolved, resulting in frequent malicious bidding in software development project bidding activities, which has become an obstacle to the further development of the software industry . In order to solve the urgent needs of the industry, the Ministry of Industry and Information Technology officially initiated the formulation of the "Software R&D Cost Measurement Specification" in 2010, which will be released as the national electronics industry standard. This standard measures the scale of software functions with the rapid function point method, estimates the software workload, and determines the software development cost.Although industry standards are about to be released, many companies still make estimates based on personal experience because they do not understand the content of the standards and do not master the estimation methods, and the estimation results vary widely.In the contract signing or bidding stage, even if the user puts forward clear software development project requirements, different suppliers adopt different estimation methods, consider different estimation factors, and produce different estimation results, resulting in huge differences in the estimated cost of the same project. Since there is no uniform standard, as Party A, in the face of vastly different contract quotations, it is difficult to judge which supplier's estimation results and quotations are close to objective facts and reasonable, and which supplier is driving up prices or viciously competing? As Party B, inaccurate estimates often lead to high profits in the budget stage, but it is found that the actual profits are very low or even a loss in the final settlement. Estimates are not allowed to cause harm to both parties of Party A and Party B.Project labor cost benchmarks based on inaccurate estimates are also inaccurate. The lack of scientific benchmarks leads to the lack of seriousness in the implementation of project labor cost management from the source.1.2 Extensive management, only labor cost statistics, but insufficient analysis and controlUnder normal circumstances, all IT companies count the working hours invested in software development projects, and use the statistical working hours as reference data for project labor cost budget and final accounts. However, many companies only do statistics, do not do analysis and control, or the analysis and control are weak . There are several reasons for this phenomenon.First of all, the problem of ideological understanding, that is, the lack of work motivation for man-hour analysis and control. Due to inaccurate estimates, everyone believes that the man-hour benchmark can be changed in the later stage, and it is not meaningful to analyze and control man-hours. It is enough to count the actual investment.Secondly, the management of many enterprises is not lean enough. Lean project management requires cost, and it is also a reflection of the level of management ability. For example, in theory, in the process of project execution, earned value analysis should be carried out, attention should be paid to the cost performance index, and when a deviation occurs, the cause should be analyzed immediately and corrected. However, to really do it, it is necessary to establish an earned value analysis model, formulate relevant system requirements, and equip management personnel.Third, the informatization support is not enough. If there is no support from informatization means, statistical analysis of man-hours is only done manually, which has low efficiency, high cost, and poor accuracy. Even with lean management ideas and requirements, it is difficult to implement at the operational level.2. Solutions for software development labor cost managementAiming at the problems existing in the labor cost management of software development projects, the main solution is to learn and master advanced estimation methods, conduct scientific estimation according to the industry estimation standards to be promulgated, control labor cost benchmarks from the source, and on this basis Design the control process, set clear control points in each link, and ensure the implementation of management ideas through the information system. details as follows:(1) Track industry standards, master standard content, apply standards in actual estimation operations, and form a corporate culture that values estimation and respects science. Estimating according to the standard will make the labor cost estimation more accurate, and completely solve the problem of the inconsistency of the software development labor cost calculation caliber between Party A and Party B.(2) Introduce lean management methods to strengthen cost analysis and control during project execution. Cost management is not to wait for the end of the project to analyze, but to analyze the cost performance index CPI every week, and conduct matching analysis with the schedule performance index SPI, and pay attention to the use of labor costs in real time. At the end of the project, it is necessary to count and count the software scale again, and calculate the productivity of the enterprise according to the actual labor hours, which is used to guide the labor cost estimation process of the new project.(3) Put forward labor cost management requirements, develop information systems, and solidify and continuously optimize management ideas and processes through information systems. Only through the linkage of project budget, project plan, work task package, actual reported work log hours, project progress performance index, project cost performance index, etc., can the labor cost control be efficient, accurate and transparent.3. Software development labor cost control process design(1) From the pre-sales stage of the project, control the estimation and budget. Set up a special post to review the cost of working hours. For software development projects, you can use the quick function point method, or the analogy/analogy method, or the Delphi method. The working hour specialist conducts the audit according to the audit checklist prepared in advance. The review focuses on the standardization of the estimation and budget process and the rationality of the selection of relevant parameters.(2) The budget table is imported into the project management system, and milestones are automatically formed as the basis for follow-up control.(3) Import the project plan into the system, or directly split the work package in the system to form the work plan of the project team members.(4) The project team members fill in the working hours in the system, and the system automatically generates various statistical data reports related to working hours, such as SPI, CPI, completion rate, personnel utilization rate, and personnel output rate.(5) QA of the project management office regularly analyzes the causes of abnormal data, finds existing problems or risks, and formulates improvement measures together with the project team.(6) The company manages the causes of abnormal data, problem risks, etc., and continuously improves them to form a measurement library and corresponding data baselines, which will be used as a reference for estimating labor costs in subsequent projects, making labor cost control more scientific and more accurate. lean.4. The main requirements and technical realization of the software project management system4.1 Main requirements of the software project(1) Budget table import: implement different budget templates for different contract types according to the company's project budget system. The first-level summary is directly formed after the budget table is imported. The various milestones of the project, the start date of the milestone, the end date, the workload, etc. are all automatically formed. The first-level summary imported from the budget table can only be manually modified by QA. If the budget table is changed, it shall be manually revised by QA.(2) Project plan import: When the project plan is imported into the project management system, the specific requirements are: the title in the plan generates a summary, and the responsible person is automatically set as the project manager; the specific tasks in the plan generate work packages, and the resources in the tasks correspond to Work package resource; if it is a virtual person in the plan, it will default to the project manager when imported into the system; the first-level summary generated by the budget table cannot be modified.4.2 Implementation of soft design technologyThe labor cost control method is expanded and implemented on the basis of the original working hours reporting system. Using Microsoft.NET platform, B/S mode, the database is SQLserver2000. The system realizes excel import and export; project import and export and other functions.SummarizeFrom tracking industry standards, estimating according to standards, independent review by working hours specialists, reporting working hours through the system, to regular analysis by SPICPI, publishing productivity baselines and improvement goals, effective labor cost control is carried out from all aspects. This method realizes software development. The goal of project labor cost control helps organizations improve project management capabilities and profitability.The above is the design and application of labor cost control process for software development projects introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad: Songhan, Yingguang, Jieli, Ankai, Quanzhi, realtek, with MCU, voice IC, Bluetooth IC and module, wifi module. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS earphones, the development of Bluetooth earphone speakers, the development of children's toys, and the research and development of electronic education products.