Software Engineering Practice - Software Evaluation Assignment

which course this assignment belongs to 2023 Fuda University - Software Engineering Practice - Class W
where is the job requirement Software Engineering Practice Assignment Requirements
Teacher Zou Xin's case analysis homework requirements Software Engineering Case Study Assignments
goal of this assignment software evaluation
other references "The Method of Construction", CSDN, InsCode, IT House - Programmer Software Development Technology Sharing Community, Online Compiler and IDE

0 Part Zero

recommended standard Recommendation conclusion Recommended
A few functions work paste
Some functions work improvise ☆☆
Some features work and are well designed generally ☆☆☆
Most functions work good ☆☆☆☆
Most features work and are well designed excellent ☆☆☆☆☆

1 Part I——Research and Evaluation

1.1 Software 1: InsCode

1.1.1 Experience description

1.1.1.1 Introduction and use of basic functions

InsCode is a product that GitCode provides code hosting services, runs projects online, and can share your own projects or view other people's projects.
The main functions include creating projects (providing the option to import projects), online editing and modifying codes, and sharing and publishing works.

Registration and login: Follow CSDN members on WeChat, and you can log in to the GitCode account created with the CSDN account by scanning. Since InsCode is managed by GitCode, you can log in successfully, and the operations performed on the project will also be directly submitted and synchronized to On my GitCode.

Log in

Create a project: There are two ways. You can directly import the project on your GitCode, or you can choose to create it according to the template provided by the template center. Here, take the MarkDown template as an example. Click the template center, select MarkDown to open, click to use this template, and customize The title, description, project ID and visibility on the right side of the template correspond to the name, description, URL and project visibility in the gitcode project after the project is created. The created .inscode and .nix are InsCode project configurations File, record information such as the corresponding entry file.
insert image description here
insert image description here
insert image description here

Editing project: After modifying the code online, it can be run directly, and the online demonstration can be synchronized. The modified content will be automatically submitted to the project corresponding to gitcode. The HTML template file is used for demonstration here.

Publish works: Users can publish their own projects to the community for sharing, and can also fork interested projects in the community to modify and learn.
insert image description here

1.1.1.2 Analysis of Advantages and Disadvantages

Advantages: 1. What you write is what you see, and the function of instant demonstration allows users to use it in the scene that needs to demonstrate the project. It does not need to worry about the environment and other configurations. It can be directly demonstrated, and it can also be saved and made into a related demo for display.
2. The written code can be updated on GitCode synchronously, and it is easier to write and change on this product, and it is not necessary to learn to download auxiliary information such as Git submission and push.

Disadvantages: Most people mainly write and run on their own compilers. When the platform is needed for the demonstration, different languages ​​and code files have different demonstration methods, and the ease of use is poor.
2. It is only suitable for personal gitcode project writing, without multi-person development function, and not suitable for team project operation.
3. It is not timely to modify the project on the platform to synchronize the update on GitCode. You need to exit the project and open it again to see the updated code on GitCode.

1.1.1.3 Improvement suggestions

You can consider adding a guide for users on how to run demos online with different codes. In addition, you can improve the synchronization speed and method of GitCode, so that users can see the updates on GitCode in a timely manner.

1.1.2 Bug description

The interface displayed by different buttons in the upper right corner overlaps, which affects the appearance and selection. Automatic folding needs to be manually clicked again to close the interface, and clicking other places can only be automatically folded occasionally. Some places can be folded after clicking, and some places cannot.
insert image description here

It is still possible to change the information of the project when creating the project, which is not conducive to project creation.
insert image description here

1.1.3 Conclusion

☆☆☆☆
The overall project is well built, and the ability to run the demo code online is beneficial for users to use in specific scenarios, but there are some details that the experience is not good enough, such as the UI interface card display folding is not reasonable, and the running time of creating a project is relatively long, easy to use It takes about 2-3 seconds to create a template project. If you add your own code, it may take longer, the user experience is not very good, and the information can be edited during the jump time, although the final content before the initial creation shall prevail.

1.2 Software 2: IT House - Programmer Software Development Technology Sharing Community

1.2.1 Experience description

1.2.1.1 Introduction and use of basic functions

IT House is a product that provides coders with various online tools and learning tutorials, as well as a Q&A area. The main functions are online tools, rookie tutorials and Q&A area.

Homepage: Display the rookie tutorial and Q&A area in another form.
insert image description here
insert image description here

Online tools: The default page of the product, divided into compilation tools, data tools and front-end tools. Here, to compare InsCoded, use the HTML/CSS/JS tools in the front-end tools as an example. After entering the code, you can choose the default template and modify it, or you can choose to search the corresponding library and execute it.
insert image description here

insert image description here

Cainiao Tutorial: Shows the novice tutorial reference manuals of different technologies. There is a search function in the upper right corner. The upper part of the page is a directory of all tutorial categories. By default, all tutorials are displayed. Here, the java tutorial is taken as an example. Searching for java jumps to all with the word java The article does not directly correspond to the corresponding tutorial to view. The search scope is refined. After clicking the java tutorial, all the contents will be displayed in the form of a directory. If the directory is too long, scroll to the bottom and click the corresponding directory to display the corresponding directory at the top. The tutorial page, and searching and viewing a technical tutorial does not open a new tab page, but directly overwrites the original page. Viewing specific search articles opens another page.

java tutorial

Questions and answers library: You can choose the type of questions and answers you want to view on the page and jump. Here, java is still used as an example. After clicking and jumping, it is the same as the article searched by the rookie tutorial for java. It seems that the specific articles after the rookie tutorial search belong to the question and answer For articles in the library instead of the tutorial directory, search for java in the search box in the upper right corner, the search box is cleared, and the corresponding search content is displayed.
insert image description here

insert image description here
insert image description here

1.2.1.2 Analysis of Advantages and Disadvantages

Advantages: 1. The overview of the overall interface is clear, the functions are clear, and you can directly view it without registering and logging in, which is very conscientious.
2. The catalogs of different language technical tutorials are very detailed. After selecting a long catalog, you can automatically slide to the top to view the corresponding catalog content. The user experience is very good.
3. The description of the online tool is very detailed, you don’t need to click to know the general function of this tool, and the sub-categories can also be easily viewed.

Disadvantages: 1. Occasionally, an advertisement will pop up when you view the page. The advertisement interface will cause the entire page to be unclickable, and you will be a little confused and jump to the specific advertisement interface, which will affect the experience.
2. The default interface of the product is "Online Tools", and the "Home Page" displays the synthesis of the existing "Cookie Tutorial" and "Question and Answer Library" in the navigation bar. Generally, everyone defaults that the home page is the first one to open the product. The default page, and the extra homepage is just a simple summary, and you have to click on the homepage to know it is like this, personally think it is unnecessary.
insert image description here

1.2.1.3 Improvement suggestions

1. It is recommended that the ad placement can be displayed in a small part of the page as a card frame, and other functions of the page can still be used normally.
2. You can consider changing the default page back to the home page, changing the content of the home page to a picture or LOGO that is beautiful and can reflect the product, briefly introduce what the product does, and add a contact feedback function, etc.

1.2.2 Bug description

The advertisement trigger mechanism is very strange. Sometimes you click on the online tool and then click on the home page to pop up the advertisement. Sometimes it pops up when you click on the tutorial to view it, and only the advertisement interface can be operated when it pops up.
insert image description here

The icon UI design in the rookie tutorial is not uniform, some are colored and some are black and white
insert image description here

The content searched in "Cainiao Tutorial" and "Online Tool" belongs to the content in the Q&A library, not the related content in the tutorial or online tool, and it shows that there is a problem. Here we take the online tool page search as an example. I searched from the online tool page. After I searched, I should be able to return to the online tool just now, but it shows that I can only return to the home page. As mentioned above on the home page, the home page design at this time is actually a lot of redundant existence.
insert image description here
insert image description here

In all the search functions that have been opened, after searching for keywords, the content will be deleted from the search box, which is very unfavorable for users to compare and search again, and the search content should be placed in the upper left corner of the page that should display the level of the jump relationship. The original upper-level page is overwritten. First, it is not conducive to returning to the previous page. Second, the content searched by the user is directly displayed on the page similar to the directory, which is detrimental to the appearance.
insert image description here

1.2.3 Conclusion

☆☆☆☆
The overall function is good, the tutorial catalog is detailed and rich, which is very helpful for beginners to learn, the online tool responds well, and the classification is clear and easy to use, but the design of the homepage is superfluous and is not the default page, and the details of the search need to be strengthened Perfect, the design of the advertisement can be considered again.

1.3 Software 3: Online Compiler and IDE

1.3.1 Experience description

1.3.1.1 Introduction and use of basic functions

Online Compiler and IDE is a product that provides online running code and viewing excellent code uploaded by others.
Homepage new code: The homepage is the interface that can directly run the new code. By default, there is a language and its template code. You can use this function directly without registration. You can modify the sharing settings of the code whether it is public or private, and you can expand the input.
insert image description here

Registration and login: Fill in the registration information normally, but the verification code is displayed, but there is no verification code input box on the page, and no verification code is sent to my email.
insert image description here

Published codes recent codes: View the codes whose editing permission is public for users who use this product, showing the name, language and release time of the user codes.
insert image description here

Example: You can view excellent codes in different languages, have fork and download functions, and can edit and use online after fork.
insert image description here

1.3.1.2 Analysis of Advantages and Disadvantages

Advantages: 1. Codes in different languages ​​can be run online without considering the configuration environment.
2. You can also view and share excellent codes in related languages, which helps to inspire code inspiration.
Disadvantages: 1. The loading and running time is too slow. It takes about 3-4 seconds to jump to different pages, not to mention the running time. A simple template code takes about a few seconds, and the response speed is poor.
2. The overall page is described in English, but it is always mixed with Chinese and traditional characters, and I don’t quite understand the meaning. If it is aimed at foreign users, the use of traditional characters seems to be difficult for both foreign and domestic users.

1.3.1.3 Improvement suggestions

1. It is recommended to improve the registration function so that it can be used normally.
2. It is recommended to improve the language design of the page, and decide whether to use all English or change traditional Chinese to simplified Chinese.

1.3.2 Bug description

1. The registration function is missing, and the verification code entry is not found, but it reminds me that I need to complete the verification code.
insert image description here

2. The necessity of the registration and login function: there is no entry similar to the personal center, and the code that runs when not logged in can be displayed in the recent code.
insert image description here
insert image description here

3. The necessity of the existence of recent code: This page displays the records of various codes running in real time, including other people's. If it is considered that users can go back to their previous codes, it should be set only for themselves, but the function of registration and login is not It is not perfect. If you want to view everyone’s code, the page information can only view the name assigned to the code and the language used. There is no other information to provide the code you need to distinguish, and the code is mixed and it is difficult to find what you need. The code, but the function that needs to view the excellent code has already provided a sample page to view, so the necessity of existence is open to question.

1.3.3 Conclusion

☆☆
The overall online running and viewing excellent code functions are available, but the running and loading time is too long, and there are contradictions and duplications in the registration and backtracking functions, which need to be improved.

1.4 User Interviews

Introduction to interviewees: Interview user Z, a student majoring in software engineering at the 22nd grade, meets the requirements, and hopes to find products that can provide effective help for daily learning. Interview
record:
insert image description here
insert image description here

Feedback from interviewees:

I used the C++ tool in the online tool, and pasted the code I usually wrote. The template at the beginning made me wonder where the code should be pasted. Later, I deleted the template and posted it, but I don’t know why. After pasting more than 600 lines of code, only the last few lines have code, and the first few hundred lines are all empty. Pasting 30 lines of code is normal, and there is no problem in running it.
I tried to view the tutorial again, and the result jumped out of an advertisement page, but fortunately, it disappeared after clicking Close, but the interface was completely different from the previous one, and I didn’t know which one was true, so I quit and tried again Click the tutorial, the interface will be the same, I think this is correct.
I briefly browsed the C++ tutorial (it took me a long time to find it in the directory at the beginning), and I was quite surprised. I didn’t expect there to be so many tutorials. I feel that I will bookmark this URL for later use. There will be a It’s uncomfortable to look at the form without the form line for a while. It’s more detailed and the content is quite rich. There are also things that I don’t learn this semester. I just read it or I can’t write it. That’s about it. Overall, I feel that the basic content is good for me
. It is very helpful to learn. There are some problems when the amount of code in the compiled code is too large. At other times, it is very useful if you don’t want to download the software or try to see if the code can run in another place. However, there are no specific exercises. Some questions can be added for consolidation.

insert image description here
insert image description here

insert image description here
insert image description here
insert image description here

2 part two

2.1 Estimated product development time and reasons

project Estimated development time Estimated reason
prerequisite The team size is about 6 people Computing university graduate with professional UI support
InsCode 30h The main part is synchronization for community development, template data and project creation
IT House-Programmer software development technology sharing community 40h The main part is a large number of online tools and tutorial questions and answers
Online Compiler and IDE 20h The main part is code compilation and good examples

2.2 Comparison and ranking of similar products

Comparing the three software, all of them have online compilation function. InsCode mainly designs the synchronous interaction and demonstration with GitCode. IT House mainly designs the selection of various compilation tools and tutorials, which is more suitable for online learning for novices. Online Compiler and The IDE pays more attention to the preservation of historical records, and can compile without logging in.
If the three are ranked, IT House is richer in functions and ranks first, InsCode is more beautiful and easy for users who use GitCode to get started, ranking second, and Online Compiler and IDE ranks third.

2.3 Advice on software engineering

InsCode: It is suggested that the response on the synchronous GitCode can be faster, and corresponding feedback can be given, so that users do not need to go to GItCode to confirm repeatedly. After all, this is its biggest highlight.
IT House: The UI can be designed to be more beautiful, some are too unpretentious, you can consider rendering the background and the like, I hope that the function of the search part can be considered to be improved, don't jump directly to the content in the Q&A library.
Online Compiler and IDE: I can only say that it is recommended to consider improving code running and page loading time.

2.4 Cause Analysis of Bug Existence

InsCode: The speed of synchronization and some small problems in UI design, I think it is the reason for the poor consideration of time and simultaneous application of multiple functions during testing.
IT House: The main reason is that the quality of the design can be further improved, such as the icon color is not uniform homepage design is the reason.
Online Compiler and IDE: The user's needs are not well grasped, and the correlation between login and history is poor and not linked, so that some functions are wasted.

3 Part III

3.1 Market Overview

The market is probably aimed at users who need to run or learn computer code.
The direct users are computer students, and the potential users are self-taught computer students and employed workers who want to learn new languages.

3.2 Market Status

At present, there are already many online products on the market, such as several large-scale OJ platforms for training on different types of topics, such as Likou, pta, etc. There are also many large-scale platforms that provide tutorial articles and videos, such as Universal B Station Both Zhihu and Gaoshubang are providing corresponding learning tutorials.
The above-mentioned products are targeted at students who need to solve problems. The advantage is that they can help students learn and summarize their coding skills through problem-solving tactics. The number of student users is very large, so the source of users is relatively large. Don’t worry too much about publicity and usage. The disadvantage is that different platforms have similar questions, which is highly competitive and requires targeted innovation.
The relationship between the above products is actually intertwined. The tutorial class guides novices to learn knowledge, and the online quiz class helps novices master and consolidate knowledge. The two categories correspond to different user demand scenarios, and the same category is the relationship between competing products. , the products in the competition have different pertinence. For example, pta is aimed at algorithm questions, while Likou allows users to brush up the corresponding questions before applying for a job to consolidate their preparations. Different situations can be differentiated, that is, among similar See general directions.

3.3 Market and product ecology

The core user group of online operation brushing products is students. Typical users are students of computer-related majors who have practical needs for language or knowledge, mainly between the ages of 18 and 22. Computer-related majors may like to write code and have no income or low income. College students who need to address test or competition requirements.
The core user group of tutorial products is students. Typical users are students of computer-related majors who have theoretical needs for language or knowledge. They are mainly students between the ages of 18 and 22 who are majors in computer-related majors and who may like to study and have no income or low income and need to solve exams. College students, potential users may include adults who want to learn computer-related professional content by themselves.
There is a certain relationship between the user groups of the product, which may be the transition from learning students to graduate workers who learn more technologies and master more possibilities. There is a possibility of using their interactions to form a specific user ecology. It can meet the needs of providing theoretical or practical knowledge to college students, and can also meet the needs of providing job knowledge or application knowledge to graduates who need employment.
There is also a certain relationship between the derived sub-products or other products. Since there are tutorials for university knowledge, there can also be tutorials for popularizing work knowledge, and the two can also exist at the same time to increase user stickiness and make use of their interaction. The function secondary constitutes the possibility of a specific user ecology.

3.4 Product Planning

3.4.1 Function and NABCD analysis

I hope that the products of brushing questions and tutorials can be integrated. Since there are many computer languages ​​and a wide range of knowledge, tutorial supplements can be added for content with code requirements, from the beginning of learning knowledge points to the process of consolidating knowledge point exercises Learning can meet the test-taking needs of contemporary college students.
Therefore, it is aimed at the needs of college students for mastering the knowledge of college exams and competitions. From the integration of tutorials into basic knowledge learning, how to combine theory with practice, and finally how to apply it in work, consider everything from head to toe. Students who have just started learning or have already mastered the game and want to rely on it to get a job can use this product. The time range for different users will be very long, and the number of users will naturally be higher.

3.4.2 Role configuration

One person A is responsible for art and front-end design, three people are responsible for BCD configuration function development, one person E is responsible for testing, and one person F is responsible for information processing such as data sorting and demand research.

3.4.3 Detailed plan for 16 weeks

week number Task
the first week Everyone discusses to determine the project goals, analyzes and determines each person's ability and responsibility, researches the market and user opinions, and simply determines the functions.
2nd - 3rd week Everyone analyzed the needs, BCD determined the function section and drew a class diagram, E followed up and reviewed the rationality of the function, A proposed function modification suggestions based on the rationality and aesthetics of the front-end display, and F followed up and summarized
the fourth week ABCD formulates prototype design based on demand analysis, E checks page design, and F investigates user opinions based on demand
5th - 6th week BCD respectively carry out system design, optimize class diagram, E follow-up test, A design preliminary page, F design preliminary database
Seventh - eighth week BCD try to write the preliminary function design, A optimize the page, E follow up the test, F continue to design the database
Ninth - tenth week Discuss optimization details after preliminary function integration, and divide labor to implement optimization and improvement
Tenth - twelve weeks Continue to optimize and improve
Thirteenth-fourteenth week Preliminary release, adopting user opinions
fifteenth week Improve and optimize according to user needs
sixteenth week Release the initial test run and deal with the corresponding feedback needs

Guess you like

Origin blog.csdn.net/s_2622/article/details/130022188