201671030106 He Qizhi experiment fourteen team & project review course summary

project content
This work belongs courses >> 2016 Computer Science and Engineering Software Engineering (Northwest Normal University)
Where this requirement in the job >> experiment fourteen project review team & course summary
Course learning objectives 1. Master software project review meeting process; 2. to review all the knowledge of the semester and comb; 3. to think again and try to answer by the present prior knowledge of what they have learned doubts.

First, the answers to the questions raised by the experiment a

To doubt a reading experiment "Construction of Law" to answer questions:
Q1:
the book says, software = + Software Engineering program, now have learned a semester software engineering, and what software should understand it? The computer software is a collection of data and instructions specific sequence organization. In general, the software is divided into a programming language, system software, application software, and middleware between between the two. As the previous formula spoken, software equivalent program plus software engineering, program and is equal to the data structure plus algorithms, and software engineering, including user experience, user interface design, some software development activities such as building management, source code management, software design, software testing, project management and other related content is the core of software engineering. Now look back problems, difficult to draw, procedures (algorithms, data structures) are basic skills, on top of algorithms and data structures, software engineering in turn determines the quality of the software.
Q2:And leadership on the team, I used to be less contact, so he did not understand, because in the past we learn very little experience of this team, but many of our courses this semester, especially in this course are software engineering group cooperative learning, so now the completion of software engineering, which may be more understanding and team leadership. In a team, we stress small but efficient staff, which means we do not need a lot of team members, but each member had to have a module responsible for their own, to have to do their part, but after practice only to find , the fact that this is very difficult to make. Because almost every team I'm sure there are always a few not working, he joined the team just so they do not fall alone, not even hanging branches. So, among the study groups, we will go to a good trade-off, such as assigning tasks should be how the distribution will be more reasonable. In my opinion, everyone's ability is not the same, there must be the envy of everyone we learn that there is a good "school bully", of course, we must also have the presence of "learning slag" (and not for individuals, but for example), then the team when assigning tasks, and I think that can be a little unfair, because we need to learn but also to help students to learn a little bit worse we can allocate some of his own students can do will do work, we do not compare to this task a lot more difficult or less large or small, we want to vary, they should be given more opportunities to drive almost a little learning ability of the students, so everyone can move towards higher and more far away, after all, the group is a group, there should be unity of atmosphere and action, we progress together is a win-win situation.
Q3:Students in the learning stage, for example, I, as a student of computer science, since college reading this profession, you will face many famous courses every day, almost every day related to programming inseparable from, we learned Python, C language , Java language and assembly language, and so on. So in the learning stage, we can say that time spent on specific code is very much, even more than than engineers. However, since the software engineering learning this course, we also know that, in addition to coding, needs analysis and related some of the documents is extremely important. But we have been focusing on the coding job before and lost the other study, by that time is blank. By comparison, the engineers, they spent on needs analysis and test time is more and more, so that a comparison with us, feeling as if two are extreme, it is more the opposite. So, I think as a student, we must grasp the focus at the time of learning, not just learn one thing and lost the other, because the school can not only learn certain knowledge this knowledge was out of line with other knowledge, our learning are interlinked, including also have the connections between the various disciplines, and therefore in their own time to learn to do a balance, learn together, rather than separate them learn to make a clean break.

Second, the knowledge points summary

Software development process including feasibility analysis, needs analysis, outline design, detailed design, implementation, operation and maintenance of seven steps:

  • Feasibility Analysis: Feasibility analysis by market demand for the project, supply of resources, the scale of construction, process routes, equipment selection, environmental impact, financing, profitability and other aspects of the research, from the technical, economic and engineering point of view project research and comparative analysis, financial, economic and social and environmental impact after completion of the project may be made in scientific forecasting, to provide fair, reliable, scientific advice for the software project decisions. Mainly from the economic, technical, social and environmental analysis solutions is feasible given, when feasible solutions and a certain economic and / or social benefits is only the beginning of a true development system based on computer.
  • Requirements Analysis: needs analysis is to establish the feasibility of the software during the software program analysis and refinement refined analysis of the various possible solutions, and assigned to various software elements. Software requirements analysis is the final step in the definition phase, the system is to determine what work must be done, which is made complete on the target system, accurate, clear, specific requirements. Task by means of the current logical model of the system of export logical model of the target system, the target system to solve the problem of "what". Data requirements analysis system, the logical model export system, correction system development plan.
  • Summary of design: describes the general architecture of the software is the outline design, preliminary design phase of the software should "what" of the logical model into the "how to do" physical model, that is, begin to realize the needs of the software, and design results reflected in the "design specification" document, the software design is a process of converting software requirements to software representation.
  • Details Design: detailed design is a refinement of the outline design, detailed design of each module is implemented algorithms and a desired local structure. The main task is to design algorithm detailed design of each module, the local data structures required. Detailed design has two goals: the arithmetic logic implementation module to function properly and to be straightforward algorithm description.
  • Implementation: software implementation is to use the code generated by the compiler software.
  • Operation and Maintenance: Software maintenance mainly refers to part or all of the modifications to the application according to changes in demand or changes in the hardware environment, should make full use of modified source code. After modifying the program to fill in the registration form to change, and the change in the program indicate the difference between the old and the new program in the notice. Including the correctness of maintenance, adaptive maintenance, improve maintenance and preventive maintenance.
  • Testing: Software testing is to use manual or software that runs automatically to verify whether it meets specified requirements or understand the process of the difference between the expected results and the actual results. It is to help identify the development is completed (intermediate or final version) of computer software (in whole or in part) the accuracy (correctness), completeness (completeness) and quality (quality) of the software process; is SQA (software quality assurance) of important sub-domains.
  • Project acceptance: acceptance of project quality inspection is the last active users of the software product into the practical application of software development after the end of the previously conducted. To answer whether it developed software products meet the requirements and expectations of the user whether to accept the problem. Because it's not just test the quality of some aspects of the software, but to conduct a comprehensive quality testing, and software is qualified to decide, therefore acceptance testing is a rigorous formal testing activities. According to the plan in advance of the need to develop, review the configuration software, functional testing, performance testing and other aspects of testing. Project developers should provide a "needs analysis statement", "outline design specifications," "detailed design specification", "database design specifications," "test plan", "Test Report", "Program Maintenance Manual", "User Manual" "project summary report" and a series of documentation.

    Third, feelings and experiences

  • Personal items: In my personal projects, I completed word frequency statistics software. In fact, me personally, programming ability is relatively weak, so from the beginning of this lesson is really quite difficult, and in the process of doing this software, I have been unable to resolve their own difficulties of all kinds. So, the first project is more confused, do not know why some places do it, there is no more to think about.
  • Pair programming: pair programming is a student in collaboration with outside orders, in my guidance and help in pair programming, had the first personal project, coupled with the cooperation of students, and slowly I began to understand software What kind of project is a process, something needs to be done, what steps to prepare something before encoding. With the cooperation of the two, understanding of software engineering is also deepening.
  • Project Team: Software Engineering highlight of this course this semester on a number of our team project. We are a small group of five people, made a dormitory management system, compared to the previous personal projects and twinning projects, the more difficult it becomes more complicated. Five people in the process of cooperation, we have always been in cooperation and common learning and "carry out their duties," a team of cooperation is very important, but I think the division is also essential. In the entire system development process, our team strength is very important, after all, the soul of a team is the strength of the team, only if we work together to make the team play a huge force.

IV Summary and upgrade

1. In the software engineering practice I finished code

In software engineering practice I've probably done more than two thousand lines of code

2. At each time software engineering job in the time spent

operation Spent time (min)
Experiment a doubt >> read "Building the Law" 120
>> 201 671 030 106 word frequency statistics software project report 350
Peer review and improve the reporting He Qizhi third experiment operations 201 671 030 106 >> 200
"Statistical analysis of the English text," Qizhi 201 671 030 106 >> twinning project reports 400
>> "team captain put it," The first job: team debut 60
>> "team captain put it," a second job: Project Selection Team Report 80
>> "team captain put it," third job: project team prototyping 200
>> "team captain put it," the fourth work: the demand for research and analysis project 200
>> "team captain put it," the fifth job: project needs analysis and system design improvements 120
>> "team captain put it," the sixth job: project design team to improve the system and detailed design 120
>> "team captain put it," the eighth sprint teamwork Alpha 100
>> "team captain put it," the ninth team work: Beta sprint preparation and acceptance 120
>> experiment fourteen project review team & course summary 200

3. The most impressive one operation

I was most impressed by a job is a "team captain put it," the eighth teamwork Alpha sprint , this is our job, "team captain put it," team together to complete, this requirement is optional continuous work five days Alpha carried out sprint, made a blog every day, all assigned tasks every day. Our team just five people, was originally planned a five day official development blog (but the work we have to do), but we actually work a few days or not, whether it is down to do a blog project tasks or, from start to finish to complete the five of us together, we can discuss, learn together and progress together. Through this job I feel the unity is strength, and true interpretation of what is "team." We are a team, it is an inseparable whole. Time fly, a semester is over, but I believe that we "say team captain" would have been in, would have been progress, getting better and better!

4. On the software engineering as well as the cumulative time spent each week to spend time

In this semester software engineering cumulative time I spend is 48h, the average weekly time the bill is 2.6h.

5. learn and master a new language, a new platform

In the process of learning this semester, I have to learn and master the new language is JavaWeb, learned new blog platform Park, GitHub, China University of MOOC, Markdown, rain classroom

6. Summary development tools, development methods and modeling methods of software engineering

Software development tools, software management tools Software development methods Modeling software
Github,MyEclipse,MySQL,墨刀,mockplus Object-oriented approach, Jackson method, software reuse, prototyping Data flow diagrams, database modeling, object-oriented modeling, structural modeling

7. Other aspects of harvesting and promotion

Through this semester, I learned the added bonus is the use of MOOC network for independent study, also noticed the flipped classroom teaching model teacher.

V. Recommendations of the course

One-semester course was soon over, in the process of learning software engineering this course, I learned a lot. First of all, I think a teacher on behalf of the teacher is very serious and responsible, but also very innovative teaching methods, truly flipped classroom. There are several assistant teachers are very responsible, dedicated to correcting homework for us, a great amount of tasks, but they are really conscientious, serious comments to each student, which I admire, thank teachers guidance and help. Second, the time may take this course of study is more, because the task is a lot larger than the relatively time-consuming job, but in the process I learned. But I think one semester down, flipped classroom teacher for us, may really not very suitable, it could be that we sometimes can not adapt, but the feeling is not very good. In short, thanks behalf of the teacher to teach this semester!

Guess you like

Origin www.cnblogs.com/qz-h/p/11108654.html