Teamwork three needs analysis and planning

demand analysis

The ultimate purpose of software is to solve some problems of users. Requirement analysis is to understand the problems to be solved and truly clarify user needs.

1. Access to the real users of the software project (at least 10) to ensure that the software truly reflects the needs of users and lays the foundation for the final availability of the software.

We did a questionnaire survey on the questionnaire online, with a total of 10 multiple-choice questions, plus a user suggestion question
questionnaire link
statistical results

Statistical comparison of user questionnaire survey:
Up to now, a total of 89 people have completed the questionnaire, of which the ratio of male to female is 2:3, and 78 are students. We investigate from the following main aspects, and the results are as follows

  • Bookkeeping Habits
  • choice habits
  • Is there a consumption plan
  • Compare the needs of students and users in other industries
    • student
    • other
  • Disadvantages of the current accounting APP or applet
  • User concerns
  • Opinions on accounting apps or mini programs:
  • User expectations and recommendations

2. Refer to the national standard text of the "Software Requirements Specification" to write the software requirements specification for the corresponding project. Provides a Git link to the Requirements Specification.

  • In addition to meeting the requirements of the normative text in form, the overall content must focus on the substance of the project, and ensure that the project to be developed is as clear, complete and accurate as possible.
  • Use consistent graphic symbols and text to describe content.
  • Analysis and Design Methods: http://www.cnblogs.com/xinz/p/4525232.html
  • Online mapping tool ProcessOn: https://www.processon.com/
  • All abbreviations must be defined in advance.
  • There needs to be a directory, the word typesetting style is standardized and beautiful, with pictures and texts, and the entire document has a unified style.
  • Put yourself in the position of the reader - if someone who is not familiar with the software project can fully understand what the software does by reading this document.
    git link

3. NABCD writing, video

  • Ask the students to write the NABCD of their projects.
  • Make detailed entries with specific facts and analysis.
  • Please analyze what is the killer function of your own project? Chapter 8 of the reference textbook: Four Quadrants of Functional Analysis
    combine these points into one paragraph -- when you're selling your project to others, you usually have a short time (elevator speech), can it be natural? And articulate the project clearly? Please replace abstract concepts in <> with actual elements in your product.
    Leaders/Investors/Users/Partners: Our Products
  • N(Need)
    • Our team's project is an accounting applet developed based on WeChat, which meets the needs of users to easily record daily expenses on their mobile phones without relying on the app. The desktop is beautiful.
    • From the perspective of demand, it can be clearly seen from the results of our questionnaire that compared with traditional bookkeeping methods, more than half of the people choose to use simpler bookkeeping applets.
    • From the pain of users about the accounting methods they used, the main reason is the problem of unintuitive data expression, followed by cumbersome procedures, beautiful interface and classification details.
    • From the point of view of users' requirements for statistics on mini programs, data analysis and statistics and data changes are the most basic. Although the synchronization of ledgers and reminder functions are not very important, they are also a development trend of our project.
    • To sum up, the most essential development requirements of the bookkeeping applet are: based on simplicity, data analysis and interface beautification of the classification rules are carried out on top of the basic bookkeeping functions.
  • A
    applies to the WeChat party to build a personal WeChat applet. Users can directly use WeChat to register and bind to use after searching for our applet through WeChat.
    After completing the basic basic bookkeeping functions, you can launch it to give customers a trial to see what feedback users have, or areas for improvement, and discuss improvements in a timely manner to facilitate the advancement of more functions in the future. It is difficult to go back and improve.
    The back-end of the initial version of the applet uses java+SQL database, and the front-end uses HTML+javascript+css. The style of the applet is mainly concise. In the early stage, the basic functions are mainly done and powerful, and then it will be iteratively updated in the later stage.
  • Low cost of B
    : Our micro-account applet is an application that can be used without downloading and installing. It can reach users at the lowest cost, reduce user costs and free up mobile phone memory.
    High flexibility: It replaces the traditional troublesome manual bookkeeping, and realizes the simplification, convenience and dataization of bookkeeping.
  • C
    1) Competition brought by other groups
    2) Competitive advantages brought by other WeChat bookkeeping applet developers
    : Our team members actively cooperate, and everyone living together can understand the project progress at the first time, and modify or update it in time.
    Disadvantages: They are all college students, with little project experience and a little lack of ability.
  • D.
    The WeChat applet comes with its own promotion, which greatly reduces our promotion workload; and one of the characteristics of the applet is that as long as it is used, it is a user, as long as you search for the accounting applet in WeChat and enter our WeChat account , we will generate users. Over time, we will generate fixed users, and then we will generate a large amount of traffic. Our micro-bookkeeping will also rank higher and higher in the user search and accounting applet, and the delivery and promotion will be Easier and simpler.

Killer function
Compared with other similar accounting applets:
we have added the function of data export and backup, so that even if the user clears the historical account records, he can check it again through the backup, reducing the loss of the user's lost data;
it also increases the billing Added functions, such as: default bills can record all personal expenditures and consumption balances of users, business bills can record users' public financial expenditures, income, etc., as well as travel bills....

a paragraph

Dear users and friends: Our product <Micro Accounting Mini Program> is to solve the pain of manual accounting and APP accounting users. They cannot clearly understand their income and expenditure status and clear the records in the existing accounting tools. The data cannot be found afterward, which is easy to cause losses; but the existing solutions do not solve these needs well, we have a unique method, first of all, we have added the function of data backup, and also added the classification statistics chart of the income and expenditure status. , comparison statistics charts, trend statistics charts, it allows users to clearly and quickly understand their own income and expenditure status and compare and estimate, and also greatly reduces the major losses caused by data loss, far exceeding the current market competition. Opponent (same type of bookkeeping applet). At the same time, we have an efficient promotion method (taking advantage of WeChat's own massive users), which can quickly let most users know about our products and spread them further.

video link

4. Team collaboration and strengthen the division of labor. It is necessary to describe the specific division of labor of each member and the proportion of the workload of the entire document task.

refer to


Prototyping

Prototype design can synthesize the design into a logical whole at the presentation layer. Users can see the software blueprint, functions and effects of future interaction with you, get a more realistic feeling, and improve future design ideas on the basis of continuous discussion. Therefore, prototyping can play a role in effective communication, and beautiful and intuitive prototype diagrams are even more pleasing to the eye.

1. Don't wait until all the code is written to verify the requirements, please use the design tool to describe the user interface and requirements.
2. Prototype design should not only consider the page layout of the main functions, but also consider the problems in the user's actual operation, properly consider the user in advance and solicit the user's opinion
3. The system must be runnable and practical - please Think about the system with such empathy.
4. Show the prototype to the target users, and further communicate with the target users to understand the needs.


Prototyping Tool Reference

If you are designing a prototype, you can do more with less by using special prototyping tools. Tool reference:

  • Mobile App Prototyping & Wireframing Tools - Ink Knife
  • The PS of the Prototyping World - Axure RP, Axure
  • Design sketch for web and mobile
  • A simple and efficient prototype design tool mockplus
  • Dedicated to high-fidelity prototyping tool Justinmind
  • A free prototyping software balsamiq mockups with hand-drawn doodle style
  • For more options, please refer to: https://www.zhihu.com/question/19592829
    Job Reference The
    prototype design interface is simple and the user experience is excellent. The swimlane diagram in the division of labor ratio clearly shows the work tasks of each classmate, and dozens of commits on Github also show their harmonious teamwork.
  • http://www.cnblogs.com/thousfeet/p/7702651.html

Task Breakdown WBS

A team project needs to complete many tasks within a period of time, meet user needs, and achieve team goals. Where to start?
WBS (Work Breakdown Structure) is a work breakdown structure, which is to decompose the work into many hierarchical and deliverable work tasks according to the project goals, and then express them with a logical graph or tree structure.

1. Please give the WBS of the team project;

2. Team members estimate the time required for their respective tasks

member responsible module estimated time
Gu Zhiling Ding Rong report module 210h
Lin Yuqing Hong Yawen Billing module 210h
Qin Zhen together User module 200h

3. Reference: http://www.cnblogs.com/zhengrui0452/p/6653964.html


Coding Standards

From the experience of pair programming, everyone has realized the importance of coding standards.
Discuss and formulate the coding standards of the team to meet the code style standards and code design standards (Chapter 4 of the reference book 4.1-4.3 content)
http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

  • Code style guidelines
    • Basic Spacing:
      • Indent: 4 spaces
      • Line width: 100 characters
    • Conditional execution block:
      • Conditional expressions: Add parentheses to complex conditional expressions to enhance logic, such as if ( (A||B) & ( (A&B) || (A||B) ) )
      • Format: line breaks and blank { } lines,
        such as:
        if ( condition)
        {
        DoSomething();
        }
        else
        {
        DoSomethingElse();
        }
    • Branch:
      • Variable definition: define different variables in separate lines
        such as:
        Foo foo1, foo2; (wrong)
        Foo foo1;
        Foo foo2; (right)
      • Multi-line statement: separate lines
        such as:
        a = 1; b = 2; (wrong)
        a = 1;
        b = 2; (right)
        if (fFoo) Bar(); (wrong)
        if (fFoo)
        Bar(); ( right)
    • variable name:
      • Naming: Hungarian nomenclature, you can intuitively see the type or meaning of the variable
      • Underscore: separates the scope annotation in the variable name and the semantics of the variable, such as: the student in the people structure is p_student
      • Case problem: The names of all variables and functions are in camel style, and the first letter of each word is capitalized, such as: StuInfo, GetInfo()
    • Notes
      • Content: The content of the comments is only for the purpose and reason of the program
      • Symbols: both source programs and comments use ASCII characters
      • The function header comment explains the parameter type of the function, if it is specified by the program, it is omitted
  • Code design specification
    • Function: implement only one function
    • goto: use the goto statement to achieve unconditional transfer and enhance the logic of the program
    • Parameter processing: verify the passed parameters
      • Assertion: The parameters are 100% correct, direct Assert
      • Error handling: Set the judgment of the conditional statement, and do different processing for different judgments
    • Class usage:
      • Only use it when necessary, just use the structure to encapsulate the data to reduce the overhead
      • Member variable: use an underscore to indicate the domain to which it belongs
      • Modifiers: describe members of a class in the order public, protected, private
      • Constructor: only used to simply initialize data members, no operations that return errors
      • Operator: In the case of simple operation, use it directly without redefining it. Complex operations are defined as functions for operation.
      • abnormal
        • Do not use exceptions as logical controls to handle the main flow of your program
        • When using, you need to know where the data is cleaned up

system design

During the design phase, we need to be clear: How does the software address these needs?
A good hierarchical structure can make the division of labor among developers more clear. Once the interfaces between the layers are defined, the developers responsible for the different logic designs can spread their attention and work hand in hand.

1. How to achieve these requirements to the greatest extent, this is the problem to be solved by the architecture design. Please give the architecture design of the system

(1) WeChat applet is mainly composed of 3 global files and some page-related files

document Function and description
app.js Logic part for writing global events
app.json Used to configure WeChat applet
app.wxss Common style sheet for setting styles that can be used

(2) Brief description of the system structure

  • Front-end design:
    The front-end is directly provided to users, which belongs to the view level and is the most intuitive. It needs to ensure that the interface is beautiful and can be used by people, and it must also be easy to use and meet the usage habits of most people.

  • Background development:
    The background is to achieve different functions in different interfaces. If there is only a good interface and no background support, then this product is just an empty shell. Assuming that the user clicks a function button, in order to achieve its effect, the data needs to be retrieved from the background and presented to the user according to different needs, and these belong to the logical level

  • Build a server to provide data services:
    What we are doing is a small bookkeeping program based on the WeChat platform, which needs to save a large amount of user data and keep the data synchronized. We will use mysql. The advantage is that it is easy to operate. We also need to build a web Server, providing http service to users

(3) System structure diagram:

2. Complete the database design of the team project and provide the corresponding ER diagram in the essay (if necessary)

ER diagram description:

  • A user's WeChat name is unique. We can directly find the nickname and WeChat avatar by storing the WeChat name. The user's binding mailbox is optional, which is used to export billing data and remind users to keep accounts.
  • A user can have multiple bills. Each data item of the bill includes the bill number (auto-increment), bill type number, time, remarks, consumption type, and amount (+ is in, - is out)
  • A user has multiple monthly budgets, bill type and year and month as primary keys, guaranteed to be unique
  • Consumption type table, such as daily necessities, clothing, food, fares, etc., users can also customize the type
  • Bill type table, such as business bills, living consumption bills, etc., users can also add custom types

refer to


Team personal summary

  • Lin Yuqing
    The main task this week is to complete the needs analysis and planning. We held a small meeting to arrange the task
    completion of each member: Add schema diagrams, etc., display according to the results of the questionnaire, complete the task decomposition and system structure design, and understand the structure of the entire project.
    Impression: These two weeks are all preparing for the subsequent development. The quality of the software will be affected by the quality of the demand analysis. Our team also pays special attention to it, but most of the users involved are students, which has certain limitations. Next, we will start the design of the applet interface, the preparation of the cloud server, the interaction between the front and back ends, the database and so on. Although there will be many challenges, we are ready!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324503425&siteId=291194637