Software Engineering (2018) first team assignment

Compilation principle auxiliary teaching practice software

1. Subject requirements

  • Create a team blog, you can designate a classmate's blog, and all future assignments will be posted on the classmate's blog- (it is recommended to use the captain's blog)
  • Team members brainstorm and vote on one of the team types we've talked about that you'd like to work with
  • Determine the team topic, the scope and source of the topic are best from the actual scene
  • Use the Competitive Requirement Analysis Framework (NABCD Model) to illustrate the rationality of team project topic selection
  • Identify team development techniques, including languages, tools, frameworks, etc.

2. Team introduction

1. Team name:

TAM

2. Team members and division of labor:

Team leader-- Zhang Yi : software design and development and program writing;
team member--Dang Lei : blog writing and questionnaire survey;
team member-- Hu Yihu : code testing and promotion.

3. Team mode selection:

Our team is a secret team type. The advantages of this type of team are: there is great freedom within the team, there is no outside interference, and team members have great input. The team members have their own division of labor and also cooperate with each other.

The selection of team projects

1. Project name:

Compilation principle auxiliary teaching practice software

2. Project background:

       The compilation principle represents the highest level of software technology, it represents the process of a person's rational thinking to formal thinking... All the methods in the compilation technology are very important for computer work. Almost all forms of computer work use compilers. Any professional who deals with computers should master the basic structure and operation of compilers. The compiler is a fairly complex system program, and its related technologies are widely used in many fields such as software engineering, reverse engineering, and software reengineering. It is a large-scale software development project with constantly changing user needs. Compilation principle is the basis of computer science and technical engineering, professional foundation and professional class. It is relatively theoretical, has many algorithms, and is very abstract. It is difficult for students to fully understand the connection between the theory of compilation principle and algorithm to apply what they have learned. . Compilation Principles is a high-quality school-level course for many years. In order to support the construction of the Compilation Principles course and promote the connection between the theoretical teaching and the practice of the course, a complete compiling principle-assisted teaching practice software based on engineering is designed.

Fourth, the competitive needs analysis framework (NABCD Model)

1.N (Need requirements)

At present, most colleges and universities divide the logic of the compilation principle into several stages to teach, and the compilation principle experiment is to design a small compilation front-end, and the compilation theory algorithm and practice are disconnected. It is extremely difficult for students to understand, especially for grammar-directed translation techniques and semantic rules. How to solve these kinds of problems is what our team needs to do.

2.A (Approach practice)

According to the idea of ​​software engineering, the practice teaching software of compiling principle is developed, and the idea of ​​software engineering is introduced into the compiler design step by step, and the quality of the software is improved by combining the compiling principle.

3.B (Benefit benefits)

The requirements of each stage of compilation practice are the expansion of the previous stage, so the software development of each stage can be regarded as an iteration of the development of the previous stage, so as to exercise students' ability to solve difficult problems in large-scale software development projects with constantly changing user requirements. And the ability to maximize the use of reused technologies.

4.C (Competitiors)

At present, with the existence of many compilers, in order to get better promotion, there must be new functions that attract users. The specific functions still need to be further discussed by our group to obtain suitable solutions.

5.D (Delivery push)

First of all, it can be pushed to the teacher who teaches the principle of compilation in our college. Under the guidance of the teacher, we will further improve the function. The final version after the improvement can be recommended to the students who are about to take the principle of compilation in our college to help them better understand the principle of compilation. If it can be praised by teachers and classmates, it can be promoted and used in other schools to achieve the wide application of the software. Promotion method: The most basic and the most commonly used method now is to forward and promote on social platforms such as Moments, QQ space and Weibo; it can also be promoted and tried through QQ and WeChat groups in classes, colleges, schools, and through the Internet. The platform can also more easily accept user feedback. Offline means can be promoted in classrooms by visiting the study rooms of freshmen.

5. Team development technology

Our team uses Java and Java web, the platform myEclipse 2013 (the database may be used in the process), and the framework MVP.

Guess you like

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