Computing and software engineering work 5

Computing and software engineering work 5

Work requirements https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
Course objectives Understand the methodology of software engineering. Selection of articles on software engineering methodology, based on their share views on software engineering experience.
references https://www.cnblogs.com/xinz/p/3852390.html
Text of the job https://www.cnblogs.com/yangqiuyan/

Keqianyuxi stage

Lecture 4 Scrum / Sprint

https://www.cnblogs.com/xinz/archive/2012/10/05/2712602.htm
1.Scrum / Sprint development steps:
1) identify the finished product needs to be done - Product Backlog, Backlog translated as "backlog work, "" problem to be solved "," product Order "can be.
2) determines the current sprint needs to fix things -. Sprint Backlog
. 3) Sprint (Sprint) in the sprint stages, outsiders can not directly disturb the team members. All of exchange can only be done by SCRUM MASTER. The measures to better balance the "exchange" and "focus" of the conflict.

2.Scrum development process:
. 1) Self-Managing
2) Self-Organizing
. 3) Cross-Functional

3. Summary:
A) Sprint / Scrum many needs for the project to take measures divide and rule, allowing personnel to concentrate on solving some of the problems within a certain period.
b) It emphasizes short-term iteration (iteration), constantly sum up in a number of iterations, the team improved processes and product features.
c) It is clear that different people of different inputs and responsibilities in a project
d) it through the daily scrum, ScrumMaster and other methods and roles within the team to encourage the exchange of communication and optimize teams and other personnel.
e) a member of its team made a very high demand, self-managing, self-organizing , cross-functional.
f) it does not solve all the problems of software development, as to how to track the progress of specific projects, how to manage the testing, how to manage complex projects, but also on fighting adopted piecemeal in the front line team members, came up with the right formula.

Lecture 4 Methodology - MSF

https://www.cnblogs.com/xinz/archive/2011/11/21/2257663.html
1.MSF basic principles:
(1) promote information sharing and communication (Foster Open Communications)
(2) for a common vision and work (work toward are A Shared Vision)
(3) full authority and trust (the Empower Team Members)
(4) carry out their duties, jointly responsible for the project (the Establish the Clear AccountAbility and Shared Responsibility)
(5) emphasis on business value (Focus on delivering value Business)
(6) remain agile, expect change (Stay agile, the expect change)
(7) the quality of investment (invest in at quality)
(8) all learning experiences (learn from all experiences)

2. specifically addressed

The basic rule Specific requirements
Promote information sharing and communication (Foster open communications) (1) All information is preserved and open discussions to include all the characters involved, decided to open, and inform everyone. (2) to involve confidential information technology, security, and so to take the necessary protective measures.
As common vision and work (Work toward a shared vision) What to clear project goals are. (1) This goal must be clear, there is no ambiguity; (2) be able to achieve this goal is not present, must be through the efforts to achieve; (3) the goal is not vague, it should be a day of project members work has guiding role.
Full authority and trust (Empower team members) (1) to a person of power and authority; to give someone more self-confidence and self-esteem. (2) In an effective team, all members should be able to be fully licensed, they have the power to complete the task in accordance with their commitments in their own terms of reference, at the same time, they fully trust other colleagues to achieve their Promise of.
Carry out their duties, jointly responsible for the project (Establish clear accountability and shared responsibility) Team Each character has its own responsibilities, if things go wrong, this role will be responsible.
Emphasis on business value (Focus on delivering business value) The commercial value of a project only when it is released and successfully run can be reflected, therefore, MSF process model include the development and release phases.
Stay agile, expect change (Stay agile, expect change) Software engineering, the only constant is change. So just do not fancy the needs of customers will be very clear in the first moment, and then held will not change. Note that we are expected to change, not expected to change.
The quality of investment (Invest in quality) Emphasis on quality, causing the quality of investment, causing investments in people, processes and tools.
All learning experience (Learn from all experiences) Systematically summarizes the team's successes and failures, as well as some of the characteristics and objective evaluation team team development process management, so that team members can promote an objective, forward-looking, problem-solving attitude to participate in "hindsight" will to avoid subjective assumptions or recriminations.

3. MSF Team Model
MSF team model can be extended to include external factors operating, business and users. To find common interests in opposition, the equilibrium in the conflict. MSF team model to promote the integration of different interests represented in the pursuit of common interests in the process.

4. MSF Process Model
1) MSF process model from the traditional waterfall model of software development and the spiral model evolved, it is the spiral model-based planning and the advantages milestone in incremental iteration combines the strengths of the waterfall model.
2) the basic elements of MSF process model is phases and milestones. The so-called "stage" is in this period of time the team concentrate on a certain type of things, the end of each stage represents a change in the progress of the project and team work focus. For example, in the "development stage" ends, the team will no longer allow design / implement new features, unless there are good reasons for "change request."
The end of each stage 3) marks a milestone, team members should now shift the focus to guide the work, and to encourage the players a new perspective to look at the next phase. Resulting in a variety of stage deliverables, will be the starting point for the next stage.

5. MSF Agile mode
a) more emphasis on communication with the user;
b) Quality - preventive measures (to prevent the occurrence of defects and to ensure that the bug is fixed in charge);.
C) emphasis on quality in actual combat conditions;
d) streamline the process, go straight.

Homework phase

1. Software development process
Software development process, with the evolution of technology and the development of subsequent improvement.
From the early development models waterfall (Waterfall) to;
spiral iteration (Spiral) later appeared open;
that recently began to rise Agile Software Development (Agile);
they showed up in a different era for the development of the software industry process the different perceptions and understanding of methods for different types of projects.

2. A new way of thinking and design principles
as the software technology, in particular object-oriented technology (0O) development, software engineering, made the following new ways of thinking and design principles:
1) Abstract: extracting the most basic properties and behavior of things , ignoring non-essential details. Using different levels of abstraction, from top to bottom. Layer thinning of ways to control the complexity of the software development process.
2) information hiding: the module is designed as a "black box", the implementation details hidden inside the module, the module let users direct access, use and implementation of the principle of separation.
3) Modular: implemented by the object information hiding and abstract, etc. modular way to help represent complex systems.
4) localized: centralized computer resources logically interrelated in a physical block, to ensure that the loose coupling between the modules having internal modules with a strong cohesion. This helps control the complexity of the solution.
5) uncertainty: the expression of all the concepts of the software development process should be defined, unambiguous, standardized.
6) Consistency: the entire system software (including programs, documents and data) of each module should use the - - concept consistent, symbols and terms.
7) Completeness: software system does not lose any important components, the system can be fully realized the extent of the required functions. In order to ensure the completeness of the system, it requires rigorous technical review in the software process. In.
8) verifiability: development of large software systems require top-down system, layer decomposition. System decomposition should follow the principle of the system is easy to inspect, test, evaluation, and to ensure the correctness of the system.

3. Software engineering methodology
of software engineering methodology means that the general rules of conduct and in the process of software development, must be followed.

1) heavyweight method: presenting is a "defensive" posture. In the application "Method heavyweight" software organization, due to a software project managers rarely involved or not involved in programming, can not grasp the progress of the project from the details, so that the project will have a "sense of fear", constantly had to ask the programmer to write many "software development documentation." Heavyweight approach emphasizes to develop a process-centric, rather than people-centered.

2) Lightweight method: presenting "offensive" attitude, which is from the XP method with particular emphasis on four criteria - reflected on "communication, simplicity, feedback and courage." There are a number of people think, "heavyweight method" for large software team (more than dozens of people) use, and "lightweight method" for small software team (a few people, a dozen people) use. Of course, on the merits of heavyweight and lightweight methods, there are many methods of dispute, and various methods are constantly evolving.

4. waterfall
. Advantages:
1) to project a checkpoint by phasing
2) current - After completion stage, just need to concern subsequent stage
3) may be applied in the waterfall model iterative model
disadvantages:
1) each fixed Phasing , lack of flexibility, a large number of documents generated between phase increases the workload
2) the development of basic linear model, the user can only see the results at the end of the project life cycle
3) early error to post-test can be found, then bring Serious consequences

5. incremental
advantages:
1) the customer does not have to wait until the system is fully completed will be able to get what they needed
2) available to customers earlier incremental component prototyping, after obtaining the live experience to build new incremental demand
3) failure of the project lower risk, not because of individual problems lead to the whole project can not be delivered
4) the highest priority of the first service delivery, and integration with other successive incremental build
drawbacks:
1) adding components must not destroy the good parts of the system have been constructed, need software includes an open architecture
2) when the requirements change frequently, easily losing the integrity of the process control software
3) If the case of the intersection between the incremental member and not handled well, the system must make a comprehensive analysis

6. The process of scientific research under the guidance of software engineering methodology, divided into the following five steps
1) topics. Topics That problem definition, is the first step in the research is the most crucial step, largely reflecting the newness of the paper, at this stage it requires access to large amounts of data, in-depth understanding of current research.
2) access to scientific facts. Corresponds to the software development cycle, I think it is the overall feasibility analysis and design phase. For researchers of our data mining direction, it should be collecting data sets, as well as the hardware environment, consider options such as how much memory the computer, the need for parallel processing clusters.
3) thinking process. This phase requires the theory put forward, and prove derivation formula, and preliminary tests, detailed design to choose what data structure.
4) verification. Corresponds to software testing, requires a lot of experiments, complete black box, white box, etc. - - test series.
5) establish a theoretical system. If the test results were successful, we can sum up experience, complete papers. In short, the process of scientific research and software development process is similar, it can all be quantified and qualitative analysis.

Guess you like

Origin www.cnblogs.com/yangqiuyan/p/12611993.html