Experiment 14 Team Project Review & Course Study Summary

project content
Course Title Software Engineering, School of Computer Science and Engineering, Class of 2016 (Northwest Normal University)
Work requirements Experiment 14 Team Project Review & Course Study Summary
Course learning objectives (1) Master the software project review meeting process (2) Reflect on and summarize the learning content of the course.

1: Answer the question "Experiment 1 Software Engineering Preparation"
1. Why is software engineering related to computer science and engineering? Is it purely programming code?

computer science software engineering
Discover and study long-term, objective truths short-term actual results
idealized Compromise of various factors
certainty, universality Management of uncertainty and risk, good enough, specific applications
Independent in-depth research in various disciplines to produce results Focus on and apply knowledge from various related disciplines to solve problems.
unity of theory The practice method of blooming a hundred flowers
Formalization, the pursuit of concise formulas Inspiration and intuition built in practice
correctness reliability

Advances in computer theory help software engineering (eg, the analysis of program correctness); advances in software engineering help computer scientists conduct experiments and explorations more efficiently.
2. Why study software engineering and what will be the future of software engineering?
Software engineering is the study and application of how to develop and maintain software in a systematic, standardized, and quantifiable procedural approach, and how to combine time-tested management techniques with the best available technical methods up disciplines. It involves programming languages, databases, software development tools, system platforms, standards, design patterns and so on. Improve the efficiency and quality of software development. Standardize and industrialize software development.
3. The complexity of software project management mentioned in the book is proportional to the square of the number of personnel, so there will be a problem of communication costs among the personnel in the team, so how to solve this complex problem, although the book mentions The solution to this problem, but still somewhat difficult to understand. I hope these questions can be answered when I study software engineering.
The MP communicates with other members to understand the requirements. The MP only writes abstract pseudocodes or descriptions of functions; the SP implements specific functions according to the MP's documentation, and the SP only needs to communicate with the MP, which greatly reduces the cost of communication.
2. Summary of knowledge points
Feasibility analysis: Feasibility analysis is based on the research on the market demand, resource supply, construction scale, process route, equipment selection, environmental impact, fund raising, profitability, etc. Investigate, study, analyze and compare the project from the perspective of engineering, engineering, etc., and make scientific predictions about the financial, economic and social environmental impacts that may be obtained after the project is completed, and provide fair, reliable and scientific software consulting opinions for project decision-making. Mainly analyze whether the given solution is feasible from the aspects of economy, technology and social environment. Only when the solution is feasible and has certain economic and/or social benefits will the real development of computer-based systems begin.
Requirements analysis: Requirements analysis is to refine and refine the software feasibility analysis established during software planning, analyze various possible solutions, and assign them to each software element. Requirements analysis is the last step in the software definition phase, which is to determine what the system must do, that is, to put forward complete, accurate, clear and specific requirements for the target system. The task is to derive the logical model of the target system with the help of the logical model of the current system, and solve the problem of "what to do" of the target system. Analyze the data requirements of the system, derive the logical model of the system, and revise the development plan of the system.
Software design: software design is mainly software outline design and detailed design. In the outline design, the functional structure of the system is mainly divided according to the results of the requirement analysis stage. First of all, it is necessary to design the system, imagine some reasonable physical solutions to complete the system functions from the data flow diagram, and then select an optimal solution with the user, and then design the software structure, determine which modules the software consists of and the relationship between these modules. The dynamic calling relationship between them. The overall structure of the exercise can be described with a chromatographic block diagram, and in object-oriented design, class diagrams, use case diagrams, activity diagrams, sequence diagrams, etc. can also be used to describe. In the software detailed design stage, it is mainly to determine how to specifically implement the software required by the user. Combine the specific development mode to refine the algorithm flow, data structure, and interface design of each module. In object-oriented design, it is mainly to improve the class diagram, refine the attributes and operations of the class, define the service parameters and specific implementation logic in the class in detail, adjust the hierarchical relationship and association relationship of the class according to the software development environment, and define the software database table structure, etc.
Implementation: It mainly includes coding and testing. Coding is mainly to translate the result of software design into a program written in a certain high-level language. Therefore, the quality of the program mainly depends on the quality of the design, but the choice of high-level language, especially the style of writing the program, also has a great impact on the quality of the program. big impact.
Testing: Testing is mainly to find errors in the program. The main testing methods are white-box testing and black-box testing.
Acceptance: Deliver our project to the acceptor, and show the function and specific operation of the system experiment to the acceptor. Need to prepare various documents designed in development.
Three: experience
When I first started the class, I thought that the course of software engineering was to write code to develop some software, but what I didn't expect was that the development of a software requires a lot of work, and writing code is only a small part of it. Starting from a personal project, I slowly set up some software development processes. The content of personal projects is relatively simple, but it takes a lot of time to complete the project. Later, in pair programming, I found that pair programming can speed up the programming speed extremely quickly, and errors are also reduced. Very little has changed. After this project, I have already felt the weakness of a person's strength. Then I went to the team project. During this process, I clearly recognized the importance of a team and understood that to make a good software, a good team is needed.
Four: Summary
1. Statistics in software engineering practice, how many lines of code you have completed.
About 1000 lines of code.

    2.你在软件工程实践的各次作业分别花了多少时间?
experiment Time (min)
Experiment 1 Software Engineering Preparation 110
Experiment 2 Software Engineering Personal Project 200
Experiment 3 homework mutual evaluation and improvement 70
Experiment 4 Software Engineering Twinning Project 270
Experiment 5 Software R&D Team Formation 70
Experiment 6 Team Project Topic 75
Experiment 7 Team Project Prototype Design and Development 110
Experiment 8: Research and Analysis of Team Project Requirements Based on Prototype 150
Experiment 9 Team Project Requirements Improvement and System Design 210
Experiment ten team project system improvement and detailed design 310
Experiment 11 team project design improvement and coding 120
Experiment 12 Software Testing and Alpha Sprint 410
Experiment 13 Beta sprint and team project acceptance 420

3. Which assignment impressed you the most? Why?
I feel the importance of teamwork. There will be various problems in teamwork, and our group is no exception. There are also many disagreements and quarrels in the process of cooperation, but they are resolved peacefully in the end
. hours in software engineering practice? How many hours do you spend on average per week?
A total of 40 hours are spent in software engineering practice this semester, with an average weekly time of 1.3 hours.
5. New languages, new platforms that you learn and master.
Language: Java Web, Java
Platform: Blog Park, GitHub, Chinese University MOOC
6. Gains or improvements
in other aspects During the learning process of the whole software engineering course, my blog writing ability and program writing ability have been greatly improved , and, after many teamwork, my teamwork ability has also been greatly improved.
7. Fill in the table below to summarize the software engineering development tools, development methods and modeling methods you have learned or used during the semester

Software development tools, project management tools software development method software modeling method
Eclipse, ink knife Object-Oriented Approach; Formal Approach Quickly build software models

Course Comments
The one semester course came to an end quickly, and I learned a lot while taking this course in software engineering. This is inseparable from the help of the team and the teaching of the teacher, thank you teacher. I think the study of this course may take a lot of time, because the amount of tasks in the homework is relatively large and time-consuming. Therefore, I hope that the teacher can add some time to each project, so that the students can complete it better.

Reprinted in: https://www.cnblogs.com/luorbhu/p/11110850.html

Guess you like

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