Assignment nine: A summary of the software engineering course

Source: Internet
Author: User

Time is fast, the software engineering course is nearing the end of this semester, reviewing the study of software engineering, I have found a corresponding answer to the problems encountered during the initial study.

Question Answer:

  Question 1: In the textbook mentioned the development of software engineers, the book said the software engineer's test grade and certification, my question is: whether the Test level is necessary, when to test the level will be more appropriate, Test level we all need to master what skills?

The main product providers in the operating system domain are Microsoft, Novell, IBM, HP, Sun, Red hat, etc. Far-reaching, more classic certifications include Microsoft MCSE, MCSA, Sun CSA, and more.
The main product providers in the field of application software development are sun, Microsoft, IBM, BEA, Borland, etc. Far-reaching comparative classic certifications include Sun Scjp/scwcd/scea, Microsoft MCAD/MCSD, and more.
The database domain's product providers are mainly Oracle, Sybase, Microsoft, IBM, etc.

Question 2: Most software success stories are developed in a team collaboration model, how to build a team, what kind of team model should be chosen, how can the team avoid "noisy"?

After learning Agile development, I found that building a team to avoid unnecessary hassles requires a daily stand-up meeting to coordinate communication. You can avoid conflicts by focusing on the problems you encounter.

Question 3: What are the advantages of waterfall development compared to agile development?

1. Any software class system or project, even if you spend a long time on demand, it is difficult for you to really analyze and dig out all the requirements in the phase of demand. Some requirements are destined to occur gradually in the design implementation or user use process. Recognize that this uncertainty exists in software development. The waterfall model delays this recognition change to the best testing or user-use stages, and significantly increases rework or change costs. Agile ideas embrace and adapt to change through short-cycle iterations, as early as possible by delivering the available iteration versions.

2. Any software project, requirements or design done we do not know whether the progress of the actual completion of 60% or more, anything that is not tested through the function we are very difficult to grasp the actual progress of the completion of the situation. So in the agile inside a change of thinking, such as the project split into 100 granularity of the function points, if there are 60 function points all completed and through verification and testing, we are more confident that the overall progress completed 60%. This visual assessment of the progress pattern is more difficult to achieve in the waterfall.

Question 4: In software requirements analysis, we should focus on which aspect to analyze?

  Software requirements analysis is a decisive step in the planning phase of the software engineering process, in which the vague software concepts are transformed into specific specifications, thus laying the groundwork for software development. This paper introduces the definition of requirement, the type of requirement, the task of requirement analysis, the method of requirement analysis, the change of requirement and the application example, which can be used as a reference for the analysis of demand in software development.

Question 5: How can I be a qualified project manager? What are the responsibilities of the project manager?

Responsibilities of the project manager:

1, full responsibility for the whole project.
2, to ensure that all work in the budget within the timely quality of the completion of customer satisfaction.
3, lead the project planning, organization and control work to achieve the project objectives.
4, strict implementation of the company's project management norms, software development project implementation of the company developed a unified software development norms.
5, responsible for the entire project stakeholders (customers, superiors, team members, etc.) the relationship between the coordination.
6, make work plan, project execution plan, staffing plan, work breakdown structure, cost plan, etc., at the same time report to the superior leader, and report to the company for approval.
7, regular report to the company leader project progress, usually once a week.
8, the team members to work arrangements, supervision.
9, the regular meeting of team members, in the case of possible invitation to customers, senior leader to participate.
10, at the end of the project, the work of the knot, sorting out a variety of relevant documents.

Question 6: What is a black box test and what is a white box test?

Black box testing: Software black box testing is also one of the main methods of software testing, or it can be called functional testing, data-driven testing, or specification-based testing. Testers do not understand the internal situation of the program, only know the program's input, output and system functions, which is from the user's perspective for the software interface, functions and external structure testing, regardless of the internal logic structure of the program.

White Box Test: This method is to treat the test object as an open box, the tester designs or selects the test case according to the internal logical structure of the program, tests all the logical paths of the program, and determines whether the actual state is consistent with the expected state by checking the state of the program at different points.

Question 7: How can you make a program closer to the user and attract more users?

If you want a program closer to the needs of customers to attract more users to use this time needs to make a reasonable demand analysis of user groups, software requirements analysis is the software planning period established software feasibility analysis refinement and refinement, analysis of various possible solutions, and assigned to the various software elements. Demand analysis is the final step in the software definition phase, which is to determine what the system must accomplish, which is to put forward complete, accurate, clear and specific requirements for the target system.

Question 8: How does software re-engineering work?

Software re-engineering refers to the development process of investigating the existing object system and reconstructing it into a new form code. It is one of the most important features of re-engineering to maximize the reuse of the various resources of the existing system. From the software reuse methodology, how to develop reusable software and how to construct a system architecture with reusable software is the two most critical issues. However, for the re-engineering, the former is a large part of the existing system of non-reusable components of the transformation. Software engineering reengineering is guided by the software engineering methodology, which re-designs, re-encodes and tests the program, using case tools (reverse engineering and re-engineering tools) to help understand the original design. At all stages of software re-engineering, the degree of reusability of software will determine the workload of software re-engineering.

Semester Summary:

  In class when I was very serious to listen to what the teacher told the content, I think his thoughts and I have always come to cultivate the overall quality of computer students understand or to a certain extent, the so-called demand acquisition, it is a negotiation, debate, exchange process, is not simply a compilation program can solve the problem. From what I have seen and heard, I am most afraid of the computer department students are said to be a person with thick glasses, can only be programmed in front of the computer, in the communication field do not know what to say and a word can not say. I think such people have no future after entering the society, at least they lack the ability to communicate with people. And this course, to some extent, gives us these students a chance to exercise their abilities on the other hand, and imagine that a person who has the skills and ability to communicate with others has achieved a much greater achievement than a mere program-making person.

What impresses me most is the part of pairing programming, the kind of cooperation with others at the time of the development of a lot of new experience, understand the benefits and convenience of multi-person programming, can make us in the future work and life have a better team consciousness.

Assignment nine: A summary of the software engineering course

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.