OutOfTheOrdinary--The Beta Summary Essay

OutOfTheOrdinary 团队账号 2023-12-15 22:25:09
Which course does this assignment belong to2301-MUSE Community
Assignment RequirementTeamwork——Beta Sprint
Team nameOutOfTheOrdinary
The goal of this assignmentFinish the last beta summary essay
Other referencesNo reference

目录

  • 1.Introduction
  • 2.Task Competition
  • 3.Improvement comparing to Alpha and Completion of Beta stage
  • The automated test of back-end is below:
  • 4. Project links
  • 5. Running pictures, gifs or videos
  • 6. Each member's experiences, gains, and insights
  • 1.Yiting Wang
  • 2.Zhengxiang Sun
  • 3.Qinghong Ma
  • 4.Zhuoran Chen
  • 5. Taoran Lin
  • 6.Kaixiang Xiao
  • 7.Zhengyang Cai
  • 8.Jinjie Huang
  • 9.Yuankui Huang
  • 10.Shuhan Cai
  • 11.Zhehan Huang
  • 7.The contribution of each member

1.Introduction

In the beta sprint, we summarized some of the problems in the Alpha sprint and conducted the Beta sprint, planned the rest of the work, and developed the software. The software was called Face_Rolling, which was a face recognition camera system based on face recognition technology. It is suitable for the scene of class attendance in colleges and universities and attendance at company meetings. When the activity starts, open the software and take photos to compare with the data in the back-end database, so as to achieve the function of check-in and attendance.

2.Task Competition

TasksFinished percentage
Finishing the blog on CSDN and some related document.100%
Analyze the market demand, reasonable user needs, put forward the appropriate product demand.100%
Changing the products' requirements according to the developing task.100%
Design the total UI/UX pages.100%
Improve some elements and pages of UI to meet the actual developers and users's sense and requirement.100%
Front-end developer makes out all Android pages to finish the main tasks.80%
Front-end developer improve the Android pages according to the UI, the Back-end.100%
Back-end developer finish the Back-end code, figure out all interface of tha back-end.100%
Achieving the connection between the frond-end and back end.100%
Test worker using related automatic testing tool to finish the testing task.100%

3.Improvement comparing to Alpha and Completion of Beta stage

Comparing to the Alpha stage, The backend staff completed all the interfaces of its functions, and the testers carried out automated tests on these interfaces to ensure that these interfaces can work normally. At the same time, the UI designer modified the UI interface according to the needs of the product manager, making the UI interface style more simple, which is convenient for front-end developers to understand and develop the page. The product manager fully participated in the market research, understood the market demand, and deleted the functions with low cost performance in the original product, which fully reflected the convenience and accuracy of our face check-in and attendance system. Finally, the front-end developers used the latest technology of Compose to greatly reduce the amount of front-end development code and improve the efficiency of front-end development. And it fully embodies the goal of "learning while doing". Finally, compared with the Alpha phase, the software was successfully run, and the function of face recognition was carried out.

The automated test of back-end is below:

Comparing to the Alpha Sprint, We changed our testing tools to automate our backend interface to test the stability of our interface.
(1)According to the interface document, the interface file is established for each module, and the priority is set separately
(2)Set the interface address, parameter name and parameter type of the test according to the address, interface communication method (POST/GET) and parameter description of each module in the interface document
(3)Set the run configuration of the test (number of loops, interval to send requests to each interface, number of threads)
(4)Run the data request corresponding to each interface of a module to obtain the test report
(5)According to the report results, the interface work is analyzed
(6)Establish a file to save the interface parameters that have been sent (because the server has a database for storing data, some data are not allowed to be repeated, and the secondary transmission will not be stored, resulting in changes in the interface response time; Corresponding changes are taken into account)

img

img

img

img


img

img

img

img

4. Project links

The github links:https://github.com/Will-OutOfTheOrdinary/Face_Rolling
https://github.com/Will-OutOfTheOrdinary/Face_Rolling_Front_end

img

5. Running pictures, gifs or videos

In this part, we will run us spftware to show our project and the main page is below

And below video show how to use our software:

6. Each member's experiences, gains, and insights

1.Yiting Wang

Throughout the project, I assumed the role of product manager, responsible for ensuring the successful launch and continuous improvement of the product to meet the needs of users and the business. I learned the following:
Discuss product design with the development team: Ensure that the development team fully understands and correctly implements product requirements and design. Through communication and collaboration, I was able to communicate the product vision and goals to the development team to ensure that the product was delivered on time.
Participate in the development plan: follow up the project progress and solve the possible problems. Through effective planning and coordination, I was able to ensure that the development team completed the various stages of work on time, and ensured the quality and functional integrity of the product.
Work with marketing team to develop promotion strategy: develop product launch promotion strategy and plan. By working with the marketing team, I was able to ensure that the team fully understood the value and characteristics of the product and achieved a competitive advantage in the market.
Work with data analytics team to evaluate product performance: Use user data and analytics results to evaluate product performance and suggest improvements. Through data-driven decision making, I am able to timely understand user needs and behavior patterns, and adjust product strategies according to market trends.

2.Zhengxiang Sun

In this stage, I formulated the long-term roadmap and short-term plan of the product, coordinated the work of the development team, the design team and other relevant departments, and made the user's data flow diagram and flow chart. In addition, I learned how to develop a product roadmap, complete a competitive analysis of the product, and perform product optimization and iteration. I also participated in the formulation of test standards, and gained a deeper understanding of how to evaluate software reliability and verify functions. I also learned how to use data analytics to support product decisions. Analyze user behavior data and market trends to make more informed decisions and optimize product features and user experience. In general, through this team project, I have greatly improved and accumulated experience in product management, team cooperation, competitive analysis, test standard formulation and data analysis.

3.Qinghong Ma

During this sprint, I learned the importance of feedback. At this stage, the new design idea needs to be transformed into a visual prototype as soon as possible on the original basis, and the communication and feedback with the team and users are carried out. Through feedback loops, we can find and fix problems and ensure that our design meets our users' needs. In addition to the basic functional interface, it is also important to focus on the user experience. During the design of the prototype, we always put the user experience first. By paying attention to user needs and studying user behavior and expectations, we can create more intuitive, easy to use, and beautiful interface designs. At the same time, we learned to conduct user testing and feedback to verify and improve the design to ensure that the final product meets users' expectations.

4.Zhuoran Chen

In the beta sprint phase, I completed and identified market requirements and customer expectations; Made, constantly updated user time sequence diagram, data flow diagram and other thought map; Evaluated the existing products in time, collected relevant paper and research results, and predicted the future of the product; Discussed and planned the future business model with the creator; Synchronized with the main developers of the project, and followed up the implementation difficulty and development progress.
In addition, I was involved in developing test standards (including assessing reliability, validating functionality, ensuring safety), additionally learned automated testing and jemeter software, helped the front and back end to confirm interface addresses and interface documents, and verified the stability of interfaces and the ability to withstand pressure in multi-user scenarios.
In this team project, I learned the basic process of developing a software (application) and got familiar with the complete process of taking over tasks as a product manager; The only small regret is that I have always wanted to participate in the UI interaction design work, but it could not be realized because of the personnel arrangement. If there is such a development opportunity in the future, I think I will definitely try the front-end and UI operation part without hesitation.

5. Taoran Lin

During the beta spring stage, I took part in the task group. The mainly job of mine was to make use of the automatic tasting tool to apply response test / pressure test on the software APIs(from server to client) of our group. The results varied(in one test several response failed due to too long request-posting, while in another all samples passed quickly), and the main problem I found was the quality of Internet connection(external factor). That gives a conclusion that the software APIs would work well without Internet interference.
The experiences I’ve got from these stage under the work of testing are:
To start with, though the test job does not require too much coding, it still needs one to master basic back-end knowledge so that he knows what data of which format to send to the server to run the data flow. If not, testing might become a tough job.
Moreover, under the test of APIs from a server with its database, it’s necessary for the tester to create a document of what data has been sent during the procedure. As the data will be memorized in the database where some of the can not be duplicated(like the user login data and information of a team), it will be a mass as one might not remember what have been sent. Under this situation, the data of average testing time would become inaccurate, since the response time of a server with data saving will be different from that without data saving.

6.Kaixiang Xiao

Efficient team handoff-Through proper communication and clear documentation, we ensure that information flows smoothly.
Report analysis and collation: Through regular communication with team members, I had an in-depth understanding of the progress of the whole project and improved the team work efficiency.
Putting together the final report: Integrating the various parts of the report, showing the team's collaborative results, learning editorial skills and taking a holistic view.
Programming skills improvement: In the process of learning programming, through the practice of actual projects, I have continuously improved my programming ability and deepened my understanding of software development. At the same time, skilled use of CSDN and GitHub platform, effectively communicate progress, share experience, improve the visibility of the team in the open source community.

7.Zhengyang Cai

In this project, I played the role of UI designer and front-end development assistant. Through this period of learning and improvement, I have gained a lot:
1.First of all, I understand what UI is and the importance of UI in software development. At the same time, I learn the method of making UI interface diagram and the method of designing advanced dynamic interaction. I understood and mastered the best UI design software "Instant Design" in China. I used this software to complete the home page module and calendar module at that time, and realized and modified good interactive functions.Make sure that the front-end developers can correctly understand the specific role of the UI interface, so as to carry out the front-end development correctly and in the end, I finished the half of all pages of this software.
2.Secondly, I am also a front-end developer assistant. Under the leadership of Huang Yuankui, I have learned a lot of Android knowledge. For example, how to realize the function of popup window, how to use javaBean to add elements to itemlist and so on. These successful experiences give me the courage to learn the front end of Android2. In the future, I will continue to learn Android to improve my personal ability when I have free time.
Summary:
In this project, I completed half of the UI design tasks, which greatly improved my personal ability. At the same time, I mastered a lot of knowledge about front-end Android. With the help of Huang Yuankui, I assisted the front-end to beautify the page, and assisted the main front-end developer to troubleshose the bugs of the front-end code to ensure the safe operation of the software.

8.Jinjie Huang

UI Design Work Summary
During this period, the UI design team completed the following work:
1.Designed the overall layout of the user center interface, including the navigation bar, personal profile, suggestions and feedback, and historical data.
2.Set the corresponding styles for each section to make the interface more beautiful and user-friendly.
3.Designed the interface for modifying personal profiles, including input boxes for information such as name, position, and contact information.
4.Set the corresponding styles for the input boxes to make it easier to enter information.
5.Designed the interface for submitting suggestions and feedback, including input boxes for suggestions and feedback.
6.Set the corresponding styles for the input boxes to make it easier to enter information.
7.Set the corresponding styles for the information table to make the information clearer and easier to read.
8.Added the “group chat” option, “messages, members, files” options, and “favorites, sharing, files” plugins in the team interface.
9.Improved the functions of the user center interface and the team interface, and solved the problems reported by users.
10.Exported all UI slices, organized documents, and completed front-end integration.
Issues
1.The overall layout of the team interface is reasonable and the style is beautiful, but some details need to be optimized.
2.The group chat function is easy to operate, but some functions need to be further improved.
3.The “favorites, sharing, files” plugins are powerful, but documentation needs to be added.
Follow-up Work
1.Further optimize the layout and style of the interface to make the interface more beautiful and user-friendly.
2.Improve the group chat function to make the group chat more convenient and efficient.
3.Add documentation for the group chat function to facilitate user use.
4.Add documentation for the “favorites, sharing, files” plugins to facilitate user use.
UI Design Details
1.In terms of interaction design, the scrolling function of the UI interface was improved, and the corresponding technical problems were solved.
2.The interaction method of the calendar interface was changed, and the scrolling function of the “historical data” interface and the team interface were added.
3.The prototype design of the bottom navigation bar interface was completed, and the color conversion interaction was used in the add personnel interface.
4.In terms of detailed layout, the incorrect positions of some icons were adjusted, the position of the bottom navigation bar was adjusted, and the deficiencies in the UI prototype pages were checked in time.
5.The design of the new user registration interface, as well as the design and improvement of the “historical data” interface and the “face binding” interface, were completed.
6.The original logo and the second version logo were designed, and the documents and slice files were organized. Communication was conducted with the product manager and the front end.
Summary
The UI design team completed the assigned tasks on time and within budget. The team worked closely with the product manager and the front end to ensure that the designs were user-friendly and met the needs of the users. The team also identified some areas for improvement, and plans to address these issues in the future.

9.Yuankui Huang

In my previous experience, I learned the design of xml interface of Android Studio and small-scale actual combat. In the alpha and Beta sprints, I relearned the compose technology of Android. Experience actual combat projects with teammates. In addition, Jetpack's materialDesign, the life cycle of compose, the concurrent call of interface, the interaction between data and interface in the form of MVP, mobile phone rights and file acquisition. And how to test the software, how to debug it, and how to check the log carefully to find the error. There is also the most painful lesson of this sprint. It is very important to read the interface documents carefully and observe the data provided by the back-end personnel for the separation of front and back-end development.
Personal experience: software development is a team task, and communication is very important. The more face-to-face communication and problem solving, the better. For teamwork, communicate with others as much as possible, find problems together and solve problems together. In this cooperation, although not everyone works together, it is most exciting to work together with those who work hard and not give up when the final problem is solved. This kind of fun, pain and difficulty of teamwork can only be realized if we really put in and try our best. When I saw the stagnant progress, I thought about giving up. At the last moment, when I encountered problems, I also thought about giving up, but I was unwilling. I have been working for so long, so I have to hand in a scrap. At this time, it was the team members' perseverance and encouragement that made me overcome my sadness and continue to improve. The victory of the team is that everyone does not give up in teamwork, and will not stop until the last moment.

10.Shuhan Cai

This sprint cannot be said to be a perfect sprint, but at least we have finally completed the main functions, although it comes at the cost of removing some features. This sprint has made me deeply realize the importance of project schedule management and team member communication and collaboration.
In the final sprint, I modified the data type and added a batch import information method using Excel files as the basic data carrier, and successfully connected the face recognition interface with the front-end. In addition, I have also made some improvements to the interface for reading personal information and processing images according to the requirements of the front-end.
Unfortunately, we had to delete some modules because the project progress was slightly delayed. I think the reason for the single progress of the project is due to communication and coordination issues among team members, which makes it difficult to achieve efficient and accurate communication. For example, when I was writing face. py, the front-end requirement was to provide list returns. However, due to the inconsistent names of data types between Python and Compose, I was not aware that data packages based on the dictionary dict needed to be added to the list. This resulted in us spending a lot of time adjusting other issues, which delayed the project progress.
Due to the lack of a graphics card for deep learning on our server, our demonstration did not demonstrate the efficiency of our software very well. However, I at least achieved pulling and copying from open-source deep learning models, and successfully embedded them into the Flask framework and integrated APIs, which allowed me to gain a lot of experience in applying deep learning models to commercial software.
Finally, I realize that adjusting the project plan according to the situation is very important, especially in projects developed by multiple people. It is important to constantly monitor the progress of the project and adjust the project plan according to the execution ability and skill level of the current team members, so as to ensure the smooth operation of the project.
In addition, some writing methods about pre response and post response functions have also provided me with more flexible methods for building backend interfaces.
In summary, this was an impressive experience where we overcame difficulties, gained growth, and gained a clearer understanding of how good software should be developed, how a good team should be managed, and how team members should coordinate and communicate. I will attach the code submission record and link for the last update to GitHub at the end of the article.

11.Zhehan Huang

In the beta sprint, I assign testing work. I learned jmeter automated testing through the Internet, how to write test cases and results according to projects, and how to write HTML reports. According to our project and the progress of the developers, Apifox was finally selected for testing. Apifox combined with jmeter, it is more convenient to fill in parameters directly for debugging without writing scripting language. Its automated test is also fast to test the interface, and it can automatically generate test cases and execute tests, which greatly improves the test efficiency. Secondly, Apifox can automatically generate test reports, including test case execution results, defect statistics and analysis, so that we can view and share test results. In the process of learning apifox, I found it easy to use, as a beginner can quickly get started with apifox. I used apifox to create the project and filled in our team project name and test plan. Find the interface to be tested in the project, fill in the request method, URL, request header, request body, etc. Apifox automatically performs the test, displays the results on the interface, and generates the corresponding test report, you can view the request parameters, response parameters, performance indicators.

7.The contribution of each member

Student NameStudent IDTask DescriptionContribution
Yuankui Huang832102224The Frontend Developer25%
Shuhan Cai832102229The Backend Developer25%
Zhengyang Cai832102230The Frontend Asistant,UI Designer18%
Jinjie Huang832102226UI Designer9%
Zhengxiang Sun832102207Product Manager3%
Qinghong Ma832002226UI Designer3%
Yiting Wang832102203Product Manager2%
Taoran Lin832102122The Backend Developer,Test Engineer5%
Zhuoran Chen832102216Product Manager2%
Zhehan Huang832102225Product Manager, Test Engineer5%
Kaixiang Xiao832102111Product Manager3%
...全文
274 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

176

社区成员

发帖
与我相关
我的任务
社区描述
梅努斯软件工程
软件工程 高校 福建省·福州市
社区管理员
  • LinQF39
  • Jcandc
  • chjinhuu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧