Micro-project practices

Source: Internet
Author: User
Tags dedicated server

Micro-project practices

1. What is a micro-project?

A micro-project is a project in which most jobs are undertaken by one person. This core member is responsible for system analysis, architecture, and most coding work of the project. The duration of a project generally does not exceed one month. In addition to the core programmers, the project participants may also be part of the support staff, including the second programmer (responsible for part of the coding work) and the artist (responsible for interface design.

The scale of micro-projects is generally small, and the business logic is relatively simple. The price generally does not exceed 10 K. Programmers usually deal directly with the other party's leaders. Most customers do not have any technical background. Programmers are required to analyze system requirements directly.

2 micro-project analysis 2.1 General process:

The micro-project process can be said to be nothing special, because the project is small, usually not the engineering method. However, due to the uncertainty of system requirements, agile thinking is generally suitable. Process:

1. Requirement Analysis.

2. Architecture Design

3. write code

4. Incremental Delivery

5. Respond to demand changes

6. Final delivery

The above process sometimes has no obvious limits. In view of the scale of the project, most of the time it is necessary to analyze the needs, the construction is gradually formed, in the process of building a framework, a lot of coding difficulties are simply at ease. Demand changes are almost inevitable. Most of the time, the project is expected to be one month, but it can be completed in one week. The remaining three weeks are all in response to changes in demand.

2.2 Requirement Analysis

The demand for such small projects may be odd, from common Oa to pharmacy management in hospitals. From the perspective of users, they generally aim to facilitate their work and improve efficiency. But they do not know what programs can meet their requirements. So programmers need to find their own needs.

How to analyze requirements is generally based on user communication and user workflow observation.

In communication with users, users generally do not have systematic ideas, or their ideas are unrealistic. What we need to do is to write down the user's ideas and extract the real needs from them. For example, in a hospital pharmacy management system, users say that medicinal materials are divided into Chinese and Western medicines. The real requirement is that medicinal materials need to be classified. Otherwise, when the project is developed, users may need to add Chinese and Western medicines. Of course, this requires a keen eye to capture the real needs of users, rather than making unlimited guesses and increasing unnecessary project complexity. There are still some unclear requirements. The pharmacy management system is still used as an example. The user needs to record the warehouse receiving and picking information. This description is not clear: what information should be recorded? How long does it take to record information? Does the information need summary and statistics? Of course, demand analysis is a gradual process. This not only requires analysts to have a keen ability to capture, but also to constantly communicate with users, more allowing users to participate in system development.

After delivery, users' requirements will change. This is because the user has no technical background and cannot clearly describe the system's needs. So once you see the final system, you will find a lot different from what you expected. Therefore, the delivery here is a relative concept, which actually refers to continuous delivery. Therefore, agile development is a very appropriate engineering method in such projects.

2.3 Document Management

For micro-projects, almost one directory can save all the files. This is also done to facilitate backup and transfer. My commonly used directory structure is as follows:


As shown in the figure, this directory contains all the information, which is analyzed in detail as follows:

1. database. Database directory. If the system has different types of databases, you can create sub-directories, such as sqlserver and access, under this directory based on the database type. Create a subdirectory for the next layer based on the version. Pay attention to some databases, such as sqlserver 2000. Will lock the database file, so that you need to stop the database service before backing up or transferring the project.

2. design. It mainly stores pagedesgin or uidesign.

3. Document. This directory is important. It stores all the documents. Follow the "date + document name" rule to create sub-directories for each document. Note that the documents under this directory are officially submitted documents. At the same time, a document may have submitted n versions.

4. member. Important directory. Used to save the documents of all project members. Similar to version controller. Each member creates his/her own subdirectory by name, and then creates a directory under his/her own directory by means of "date + work name. Directory to save all the work materials. Including text and images. In this way, the work records of each member are traceable.

5, publish. Project release directory. Release by "Time + version". Our goal is to release it as soon as possible! Note that the release should contain all relevant information, including the program (installer), Database script, help documentation, and even the autorun. inf of the CD.

6. Ref. The reference directory contains third-party class libraries referenced by the project and related help documents.

7. solution. Important directory. This is where our solution is located! Generally, access is solved based on the version.

8, source. References. It can be documents, images, products of others, open-source projects, etc. Any reference value to the project should be captured.

9. Team. The public folder of the team. Stores public information, such as the contact information of members.

10, template. Template. A document template is a dot file. The purpose is to ensure that all documents of the project are in consistent and good format. This is particularly important for enterprises, especially state-owned enterprises. Chaotic formats give people an unreliable feeling, and leaders are especially sensitive to this.

11. Tools. Tool software used by the project. For example, code generator.

12, tryproject. Every project may involve some technologies that we don't know very well, so we need to make some attempts. These attempts should also be saved for reference. We can create some tryprojects for experiments.

The above is my document management method. The document management method can reflect many projects. A good project should be well organized ., Specific effects:


It must be noted that this figure shows only a demo. This is what I created for this article. All are very small. It is normal that the real project folder has several g sizes.

2.4 Version Control

Any project requires version control, which is understandable. Version Control is a large Undo/redo. Make sure you can take Regret medicine at any time.

The concept of version control should not only capture code. All project-related data should be captured. The data usually includes documents, designs, databases (and scripts), and published Binary packages. Collected data. This is also the development direction of the current version control software.

For documents and designs, the previous document management method is actually a version control method.

For the code, project VSS at this level is undoubtedly the most suitable choice. No matter whether there is a second programmer, Version Control of the Code is beneficial and harmless.

2.5 Other aspects

1. Database

If a database is deployed on a dedicated server in a team project, you can develop the database based on the same version. However, you must be cautious when modifying databases. At the same time, a database backup plan should be established.

If the data layer can be separated or the ORM framework is used to support database type conversion, access is used for development. SQL is also a good choice for subordinates, in this way, you can still copy the data during Backup and transfer.

2. Backup

Because the files are all in one directory, the backup file is to copy the entire project directory below, but sometimes it is best to clear the testresults (unit test results) folder, and then compress the solution folder. If VSS is used, remember to back up the VSS database.

 

The above methods are not necessarily the best, but I have summarized some suitable skills during the project process. I hope to help you. It also hopes to serve as an example.

Contact Us

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

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

A Free Trial That Lets You Build Big!

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

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

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

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