Experimental fourteen team project review summarizes experimental courses & a question after reading through the textbook "Building of the law"

 

project content
This work belongs courses Classroom teachers blog home page link
Where this requirement in the job Job link address
Job learning objectives

(1) master the software project review process will

(2) summarize the course content to reflect

 

 

 

 

 

 


Task one: the semester course content, contrasting Task 5 issue you mentioned, to try to answer questions and clarify how through learning / practice / discussion to figure out; learning whether or not a new problem? If so, please ask.

Experiment a problem after reading through the textbook "Building of the law"

1. What is software engineering in agile development?

Agile development to user needs evolve as the core, iterative, gradual approach for software development. Agile development software project in the initial construct is cut into a plurality of sub-projects, each sub-project deliverables are tested, with visual, and can be run using the integrated features. In other words, the project is divided into a large number of mutually contact, but can also be run independently of small projects and were completed in the course of this software has been in a usable condition.

Core Principles

◆ simple proposition

When engaged in development work, you should advocate the simplest solution is the best solution. Do not over build agile development.

Agile Development

(Overbuild) your software. That is, if you now do not need this additional feature, do not increase it in the model with AM argument. Have the courage: you are now unnecessary for this system excessive modeling (over-model), as long as modeling based on existing demand, future demand there is a change, come reconstruct the system. Keep it simple as possible models.

◆ embrace change

Needs changing all the time, people also understand the needs of changing all the time. Project in progress, Project stakeholder may change, there will be new entrants, there will be old people left. Project stakeholder views may change, goals and success criteria for your efforts also may change. This means that as the project, the project environment are constantly changing, so you must be able to develop methods reflect this reality.

2. How should we be right pair programming?

     Pair programming (Pair programming) is a method of agile software development, two programmers working together on a computer. A man enter the code, and the other person to review every line of code he entered. Enter the code of people called the driver, who reviewed the code is called observer (or navigator). Two programmers often swap roles. To correct pair programming, we must first choose a comparable level of people, because otherwise I think it will all live basically fell on a person's body, this will make the knot does not make sense for programming. Secondly, I think we should correct pair programming, everyone should be conscious that to do their part, it will reduce unnecessary friction, so that the project can be carried out quickly. Finally, I feel the need to correctly pair programming, should choose to temper the taste as much as possible, technology-minded people, this pair will be very happy, but will impact a lot of sparks, efficiency will be improved significantly. On the contrary, it may fall into a lot of bickering, resulting in stalled progress, and ultimately affect the team.

3. Software team how to find accurate and comprehensive needs analysis?

1. Obtain and guidance needs.

2. Analysis and definition of requirements.

3. Verify requirements.

4. Management requirements software product lifecycle.

Demand proposed

Focused on the purpose of the system is described. Demand presented and analyzed only focused on views users of the system. Developers and users to determine a problem areas, and the definition of a system that describes the problem. Such a definition is called system specification, and it acts as a contract between the user and the developer.

Description of Requirement

The main task of the problem analysis phase of analysts is: the user's needs identification, synthesis and modeling, data requirements to clear the fuzziness, ambiguity and inconsistency and systematic analysis of user needs, establish a logical target for the original problem and software model. Analysts will be combined with the original understanding of the issues of software development experience together, in order to find out which requirements are due to the unreasonable demands of the user or one-sidedness caused by short-term behavior, which is not yet made, but the potential user demand has real value.

Requirements Review

In the needs assessment phase, the analyst should, in cooperation with users and software designers to generate their own preliminary requirements specification and user manual are reviewed to ensure the integrity of the software requirements, accurate, clear, specific, and users and software designers agree on a preliminary understanding of the requirements specification and user manual. Once the missing or blurred discovery must be corrected as soon as possible, the re-examination.

 

Task Two: summarize their analysis / needs analysis / software design / implementation / testing / project acceptance / learned what "knowledge" in the feasibility of the project.

stage Summary of learned knowledge
Feasibility Analysis Feasibility analysis is conducted in terms of technical, economic, engineering and other projects by the main content and related conditions, such as market demand, supply of resources, the scale of construction, process routes, equipment selection and environmental impact, financing, profitability, etc. research and comparative analysis, financial, economic and social and environmental impact after completion of the project may be made to predict, which made the project worth the investment and advice on how to build and provide a comprehensive basis for decision-making project systems analysis. Feasibility analysis should have predictability, fairness, reliability, scientific characteristics.
demand analysis Needs analysis is to decide "what to do, what not to do," needs analysis is the key to the success of a project, so be sure to pay attention to ideology. In doing needs analysis must be sure to consider fully meet user needs as much as possible, to do the necessary research.
software design In the software design phase, systematic study of prototyping tools, drawing tools, understand the MVC design pattern, C / S and B / S structure. The main design and database design to the front desk, is very important, only complete database design and layout of the background of the front desk in order to write code and there is not a clue. To reduce the workload of late.
test There are black box testing and white box testing, black box testing, also known as functional testing, it is through testing to detect whether each function can be used normally. Structure, also known as white box test, whether the main program performs path detection can be predetermined work required.
Project Acceptance Project acceptance, also known as scope verification or transfer (Cutover). It is whether the work or activities within the scope of the provisions of the verification project has been completed, the deliverables are satisfactory, and the results of the verification record a series of activities in the acceptance document.

 

 

 

 

 

 

 

 

 

 

 

Task three: a combination of personal items / junction personal experience of program / project team, talk about the experience.

When the beginning of class, I do not know what to do in the end of course, that software engineering is to write the code, and later through a semester of study, know this course can guide our software development, just on the experimental course of time, the first a task is to apply for your own personal blog and write a blog, is very simple thought, a few words to write clearly, did not think there is a certain format and specifications, spent a lot of time in the editing blog above. The first project is a personal project, due to a previous foundation courses, although functional, are relatively simple interface, but the basic functions can be achieved, the project is relatively easy to complete, and for blog writing, just mechanically according to the teacher each part of the template to fill in the content.

The second project is a twinning project, the project is to improve and expand on a personal project, carried out in the form of programming has become both cooperation and communication needs from a single person, which I felt was a bit difficult, because this means that the twinning project needs ideological unity of two people, but in the process to complete the project will inevitably be conflict, such as time of conflict, the idea of ​​conflict, conflict and other technology, how to resolve these conflicts is very important to our team through the development schedule, in the overall framework of the project were discussed above, the preferred way to take on the project to achieve a step by step to solve these problems, regarded as a satisfactory cooperation projects. For team projects, from project topics, project needs analysis and writing, system design, detailed design, coding, testing and documentation of the project, personal experience and feelings of the process of a complete project, by writing a series of instructions, I understand the writing needs analysis specifications, detailed design specifications manual, manual coding standard specification etc. manual to learn the use of tools, such as the use mockplus prototyping projects using Visio modeling project, the project team in the process, my greatest achievement is reasonable division of labor team, which would make very efficient, so that people get good at this technique part of their own good, for everyone not familiar with the study, team members work together, common Discussion and research, we have to face advice and timely communication is not uniform; secondly, to write the document, I understand the meaning of its existence, during encoding, often forget what this part of the interface is how to write the function name, use to the database, then, that property is used in the database What, then it will review written document, the document is not only a summary of the work at this stage, but also to provide protection for future work.

In our team to complete the project, "hotel management system" in the investigation, analysis of user needs questionnaire beginning, to "Software Requirements Specification", the prototype system based on the system blade implementation to project improvements, and finally to implementation of the system, along the way, every step is not easy, also encountered a lot of problems during, for example, the very beginning, the user needs analysis opinion there is disagreement between the team members, and we again surveyed more after the user, the group agreed after careful discussion, what we are full preliminary research, it makes us at ease behind the concrete realization of the project, the completion of our project within the expected time. Of course, the implementation process is not smooth sailing, when meeting a rich text box editor of implementation, ran into trouble, there is no access to before, so I do not know how to realize, when I know what to do, our team members to come forward and out in their help, I successfully completed my task. In addition to the project implementation team to learn more new knowledge, I think it is more important is that team members cooperate with each other, cooperate with each other. This next time, we will be more perfect our project.

Task four: Summary of Practice on the course and upgrade to bring you, including the following:

1. Statistical software engineering practice, you completed the code number of lines:

Statistical software engineering practice, I completed about 2100 lines of code.

2. You were how much time each homework software engineering practices?

experiment When using (h)
Experimental Software Engineering to prepare a     3
Software engineering experiment two individual events    16
Improvement of the peer review with three operations     6
Experiment 4 software engineering twinning projects    16
Experiment 5 software R & D team building     6
Experiments six team project topics     5
Experiment 7 team prototyping and development project    16
Experimental research and analysis needs eight prototype-based team projects    16
Experimental nine team project needs improvement and system design    16
Experimental ten project team to improve the system and detailed design    16
Well-designed experimental eleven project team and coding    25
If a software testing and test Alpha sprint    25
Beta test thirteen team sprint and project acceptance    25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Which one job to make you the most impressive? why?

I am most impressed by the Software Engineering Experiment 4 twinning projects. Because the last time we experiment in personal projects, so do the knot during the project, and teammate Feng Tingxiu I first performed on a personal project between us made comments, both of us were in good part to do the integration, we determine together project code specification, together with the experimental needs analysis, a clear function in the twinning project, we need to determine the basic framework of the project, how the project of the development and when a time generally, and finally their own coding, integration . Because this is my first contact with the pair programming, so I am full of enthusiasm for this experiment, the most profound impression, through twinning projects, so I learned the importance of teamwork, and teamwork when we should pay attention many matters, knows when to be a team project, bilateral exchanges, the importance of communication, the importance of bilateral cooperation.

4. The cumulative number of hours spent on the practice of software engineering? The average number of hours per week spent?

A total of 160 hours were spent on software engineering practice, an average of about 10 hours per week to spend on software engineering practices.

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

Language: Java Web, Java, Markdown
platform: blog Garden, GitHub, China University of MOOC, rain classroom

6. form below, summarizes a semester of study, software engineering development tools, development methods and modeling methods you learn or use;

Software development tools, project management tools Software development methods Modeling software
Blade, GitHub Object-oriented methods, Jackson method, prototyping Data flow diagrams, database modeling, object-oriented modeling

7. Other aspects of harvesting or upgrade

By this semester, the exercise of my programming capabilities, document writing ability, mission planning, team collaboration capabilities, the greatest feeling is the power of unity and cooperation alone is greater than the power of learning more efficient manner, made out of the project will be better than individual projects. Brainstorming team members have problems, help each other, and finally solve the problem, understand the complete project development process, so I treat everything more rigorous approach carefully.

Task Five: What problems do you think the current curriculum, do you have any better suggestions.

In the course of the semester experiment, the teacher in accordance with the development process of software engineering arrangements to guide our experiments, item difficulty is acceptable, pre-project schedule is reasonable, but in the end Coding, due to the end of the period, the subjects into the project to make time , to be completed within a week coding projects, there are certain challenges, hope can be increased to two weeks. The overall course benefited me, learned a lot of knowledge and skills.

 

Guess you like

Origin www.cnblogs.com/muzili6/p/11108983.html