201771030113-Li Zhilong experiment four software project case analysis

project content
Course Class Blog Link https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
Assignment requirements link https://www.cnblogs.com/nwnu-daizh/p/12369881.html
Course learning objectives Learn the team software project process and team member collaboration requirements; master the agile process principles and related concepts.
In what ways does this assignment help me achieve my learning goals Through further and paired peer learning, enhance the team's ability and awareness of teamwork.
Student ID-Name 201771030114-Ma Qiang
Link the other party to this blog assignment link https://www.cnblogs.com/AlexCrizs/p/12676098.html

Choose a case for evaluation in the homework of experiment 3 with a score of 100 points or more

  • Excellent case recommendation for Experiment 3: Zhang Qin & Li Peishan Group

  • Comment screenshot

  • Experience the source code of the project, summarize the problems, and experience case blog posts.

    • Copy the source code of the other party's case to this machine.

    • Run login

    • Second-level department inquiries

    • Table successfully exported
    • Generate statistical histogram
  • Analysis of selected cases and supplement to their deficiencies

    • Through the case of this experiment, test and run its code. It was found that the shortcomings are that it is not possible to effectively manage the personnel information in it, that is, it cannot be added and deleted well. There is also no clear storage path for the generated statistical tables. As a result, it is difficult to find the exported table during the trial.

Collaborative learning: Read chapters 5-6 of "Modern Software Engineering-The Law of Construction"

  • Understand and master the characteristics of the software project team
    • The team has a consistent collective goal, and the team must accomplish this goal together.
    • Team members have their own division of labor, rely on each other and cooperate to complete tasks.
  • Software team model
    • Attending physician mode: The chief programmer is responsible for the design and coding of the main module, and other members provide support from different angles;
    • A swarm mode: the initial very casual software team mode, after a period of evolution, it will be transformed into other subsequent modes;
    • Community model: The distribution of members is not limited by time and space. Everyone chooses projects for development according to their preferences, and generally does not require remuneration;
    • Star mode: the extreme point of the use of the attending physician mode, the team's ability to "star" masks the defects and advantages of all team members;
    • Amateur troupe mode: there is no fixed team, and members have no fixed work assignments in different projects, all members are instructed by the "central command";
    • Secret team: conducted in a secret state without external interference, the team shoulders a unique mission, and the internal members have a high degree of freedom and enthusiasm;
    • Special agent team: The team is composed of professionals and is responsible for solving some urgent problems;
    • The symphony orchestra model: used by many large software companies, members and leaders have strong capabilities and have similar project development experience, all members perform their duties but are unified under the leadership of the leader;
    • Jazz mode: Opposite to the symphony orchestra mode, it is relatively loose, the leader completes the framework, other members create on this basis, and finally the leader ends;
    • Functional team mode: There is no fixed team, and members of different abilities can combine to complete a project. After the project is completed, the members reorganize to carry out other different projects;
    • Bureaucratic model: Born out of the organizational structure of large institutions, several people report to the small boss, and the small boss reports to the big boss. It is easy to form vicious competition.
  • Understand the characteristics of typical software process models such as waterfall models and their transformations, progressive delivery processes, and agile processes.
    •  The waterfall model is a classic software lifecycle model, also known as predictive lifecycle and fully plan-driven lifecycle. In this model, at the earliest time in the project life cycle, the scope of the project and the time and cost required to deliver it must be determined.
    • In this model, when the project starts, the project team focuses on defining the overall scope of the product and project, then formulates the product (and related deliverables) delivery plan, and then executes the plan through each stage. Project scope changes should be carefully managed. If there is a new scope, you need to re-plan and formal confirmation. For projects that change frequently, the waterfall model is worthless.
  • Progressive delivery process
    • The progressive delivery process, summarized by Steve Mike Cornell and 1996, is closer to the iterative development process. It mainly refers to that when the main requirements and architecture of the system are clear, the software team will enter the cycle as shown in the figure, and the cycle will continue until the project is underfunded, the project time is insufficient, or the product can satisfy the user.
  • Development principles followed by agile processes
    • Early and continuous delivery of valuable software to meet customer needs ;,
    • Agile processes welcome changes in demand and use this change to improve users ’competitive advantage;
    • Regularly release available software, the release interval can be from a few weeks to several months, can be as short as possible;
    • Business personnel and developers should work together daily during the project development process;
    • With ambitious people as the core of the project, fully support and trust them;
    • No matter inside or outside the team, face-to-face communication is always the most effective way of communication;
    • Available software is the main indicator to measure the progress of the project;
    • Agile processes should maintain sustainable development. Leaders, teams and users should be able to continue to cooperate at the current pace;
    • Only by constantly focusing on technology and design can we become more and more agile;
    • It is very important to keep it concise-the skill to simplify the workload as much as possible;
    • Only a self-managed team can create excellent architecture, requirements and design;
    • Always summarize how to improve team efficiency and put it into action.
  • TSP principle
    • Using a well-defined process, each step in the process can be repeated and the results can be measured;
    • Each member of the team has a unified understanding of the team's goals, roles, and products;
    • Try to use mature technologies and practices;
    • Collect as much data as possible (including data that is bad for the team), and use the data to help the team make rational decisions;
    • Make realistic plans and commitments, and team plans should be developed by specific execution roles (not from superiors);
    • Increase the team's self-management ability;
    • Focus on improving quality and strive to discover problems early in the software life cycle. The most effective way to improve quality is to do comprehensive and meticulous design work (instead of rushing to fix problems later).
  • Discussion screenshot


Select a college team project test analysis

  • Select the PureMan team project of Beijing University of Aeronautics and Astronautics 2019 Spring School of Computer Software Engineering

  • Reason for choosing the team project

    • The main reason is that the project is implemented on the mobile terminal and is an APP. I want to familiarize myself with the development of the mobile terminal through this project, and I can learn how to develop a team project.
  • The division and cooperation of the team members

    • In my opinion, the team mainly uses the symphony model to develop, and the developers are mainly responsible for implementing the functions and interfaces of the client. At the beginning, the division of labor is for each person to be responsible for their own functions, and then communicate the obstacles encountered or make progress at the regular meeting, determine where to add the functions, and ensure the unity of everyone. At the same time, two developers regularly unify all interfaces And beautify. The tester is responsible for completing the compatibility test, stress test of the client, and the integration test of each function. The project manager is responsible for completing various documents, organizing meetings, arranging tasks to advance the project, communicating with relevant personnel, doing research, and promoting.
  • Evaluate the software project process characteristics of the project

    • The team's project development process, in my opinion, mainly adopted the symphony model for development. Each member has his own role, and it is well unified. The realization of this part mainly depends on the overall planning of the project manager, and the real-time adjustments during the development process make the project progress very smoothly.
  • The project warehouse file contains specification documents, as shown in the following figure

  • Deploy and use, and find out the bugs. The

    above is the rendering I used to deploy on the mobile terminal. I found a problem. In the mobile terminal interface, there is no background, and the interface is very single. Another thing is that the night mode can not be displayed directly on my phone, which is inconsistent with what he said in the blog.

  • Evaluate whether the team project is worth continuing development

    • I think this project is very worthy of continued development. As for what we have in front of us, blogs are widely used in the study of this course. The implementation of this project is very convenient for us to use. Let ’s go further. . If you add more features to it, it will be very convenient for developers to use the experience.

The actual time spent on various tasks in "Experiment 4 Software Project Case Analysis"

task Time spent (h)
Task one 5.0
Task two 3.0
Task three 10.5
Task four 2.0

to sum up

Through the study of this experiment, I learned the shortcomings of the last experiment and the process of team development. It has been very helpful to me, especially when I was studying task three. My feelings were so great that I clearly understood the gap between me and others. Through studying the knowledge of teaching materials, I clearly grasped the team development model and process, which is very helpful for the projects I want to develop in the future.

Guess you like

Origin www.cnblogs.com/zhilong12/p/12676729.html