Software Engineer questions

By a semester learning advanced software engineering courses, I think the level of software engineering knowledge skill level software engineer is mainly reflected in the following areas

  1. A qualified software engineers must master the more popular languages, such as C, C ++, JAVA, C #, VB and other commonly used one or several languages, the ability to have a simple application development. This is a prerequisite for good software engineers, but also a basic skills.
  2. Proficiency in the use and application development Windows, Linux, Unix and other large mainstream operating system to master, including some of the basics of the network.
  3. Master the software requirements analysis technology, including software analysis and measurement technologies, including static and dynamic analysis software technology, and the ability to write software UML and quality analysis reports.
  4. Identifying common development technology, have the characteristics of various types of software architecture, have a good learning technology.
  5. The overall quality, need to have good command of English, have good language and writing skills, good communication skills and team spirit, strong sense of responsibility and enterprising spirit, attentive, patient, with reverse thinking ability.

 

Questions

 

1. In object-oriented design principles, (36) refers to the abstract principle I should not rely on the details, should depend on the details of abstraction, i.e. should the interface for programming, rather than programming.

(36) A. B. Richter shutter Alternatively C. D. Dependency Inversion knowledge happened

[Answer] D [resolution]

Dependency Inversion Principle refers to the abstract should not depend on the details, the details should depend on the abstract. In other words, we should address the interface programming, rather than programming. In the program code, or a combination (or aggregation) relationships, possible referenced high-level abstraction layer type, i.e., using the interface and the abstract class is the variable type declared parameter type declaration and the method return type declaration, and the data type when passing parameters conversion, rather than using specific classes to do these things. In order to ensure the application of this principle, a specific class should be implemented only method interfaces and abstract classes are declared, but do not give extra

The method, otherwise, the new method will not increase in calls to the subclass.

Implement the key principles of opening and closing is abstract and derives from the abstract concrete realization, if the opening and closing OOD principle is the goal, then the Dependency Inversion Principle is the main mechanism of OOD. With abstraction layer, it can make the system has good flexibility, to make use of abstraction for programming in the program, and the specific kinds of writing in the configuration file so that if the system behavior changes only need to extend the abstract layer, and modify the configuration file, without modifying the source code of the original system, expansion system functions without modification down to meet the requirements of the principle of opening and closing. Dependency Inversion Principle is one of the basic principles of COM, CORBA, EJB, Spring and other technologies and frameworks behind.

 

2. executor (the Actor) and using the relationship between the embodiment is (C)

(A) comprises the relationship (B) generalization relationship (C) relationship (D) extend relationship

3. In the class diagram, which of the following notation inheritance relationships (C)

4. In the class diagram, "#" represents the visibility (B)

(A) Public     (B) Protected      (C) Private    (D) Package

5. In the class diagram notation below which the interface (C)

 

6. The internal data module A direct access module B, Type A, and the module is coupled to module B  D

A. C. coupling public content data coupling coupling coupling labeled D. B.

Analysis: may be generally from weak to strong coupling into the following seven:

★ indirect coupling

It refers to any of a two modules are not dependent on each other independently. Such minimum degree of coupling.

★ data coupling

Transfer means between the two modules but simply parameter table data.

Wherein coupling ★

Means two modules are related to the same data structure.

★ control the coupling

It refers to the transmission of information between the two modules contained in the control information.

★ external coupling

Refers to a number of the same module associated with the external environment, for example, I / 0 processing all I / O modules and the particular device associated formats and communication protocols.

★ common coupling

It refers to two or more modules interact by reference a common data area.

★ content coupling

The highest degree of coupling is content coupling. Situation occurs content coupling comprising: a control module when using another internal module

And control information; and a module is transferred directly to another internal module and the like.

In general, to make use of the data coupler, less control the coupling, the external coupling limit, contents not fully coupled.

 

7. A company intends to develop a floor-cleaning robot. The robot controller first define the relationship between the cleaning tasks and tasks, the robot given the task need to respond to some unexpected events triggered in the external environment, dynamically adjusted according to their own state, and ultimately automate tasks. In response to these needs, the robot should be used () architectural style is most appropriate.

A. B. main object-oriented - the rule system subroutine C. D. tubes - Filter

 

[Answer] C [resolved] understand and grasp this title examines architectural style and architectural design strategies.

According subject description, the robot needs to be automatically adjusted according to its own state of the external environment, which is a typical respond to external events according to the scene. Comparison of four candidates, according to the rules of the system more suitable for outside Zou event to its state-based automatic processing and action scenes.

 

8. a company intends to develop a speech recognition system, the main speech recognition process which comprises dividing the original speech signal, identifying phoneme, generating candidate word, determining grammar fragment, provide semantic interpretation, each process needs to be based on a priori knowledge of the Analyzing conditions and corresponding identification operation. According to the characteristics of the system, using () architectural style is most appropriate.

(47) A. B. Object-oriented interpreter blackboard C. D. implicit invocation

 

[Answer] C [resolved] understand and grasp this title examines architectural style and architectural design strategies.

According subject description, the speech recognition system is a very typical expert system, which is characterized by solving more than one correct result, the solution process is more complex, the need to gradually get the right results through expert knowledge and feedback. Therefore, comparing four candidates, the board structure is particularly suitable for solving such problems.

 

9. A company plans to develop a passenger car cruise control system, the system needs to continuously measure the current real-time speed of the vehicle and start the car's throttle and brake control according to the set desired speed. In response to these needs, using () architectural style is most appropriate.

. (48) A process control interpreter B. C. D. layered tubes - Filter

[Answer] B [resolution] to understand and grasp this title examines architectural style and architectural design strategies.

The subject description, the car cruise control system is a very typical control system, which is characterized by continuously collecting the current state of the system, compared with the setting state of the system, and by comparing the current state and the set state is controlled so that . Therefore, comparing four candidates, process control is particularly suitable for solving such problems.

 

 

10. A company intends to develop an online gaming system, one of the design goals of the system is to support user-defined interaction between the game object properties, behaviors, and objects themselves. To achieve these goals, the company should be used (49) the most appropriate architectural style.

A. tubes - filter B. C. main implicit invocation - interpreter subprogram D.

 

[Answer] D [resolution] The main question examined software architecture design strategy and understanding and grasp of architectural styles.

According casual working description of the software system with special emphasis on relationships and behavior of user-defined objects in the system this feature, which requires an ability to provide system-defined run-time behavior of the change in the software architecture level, based on common architectural styles and features For the environment, it is possible to know the most appropriate architecture design should be the interpreter style.

 

11, the storage component embedded systems, the fastest access speed is (B).

A. Memory B. Register set C. Flash D. Cache

Access speed: register> the Cache> Memory> Hard> disc> floppy

Register belonging to a part of the CPU and cache only and is completely integrated into the CPU individual devices within the CPU package. Further both speeds vary greatly, the fastest access registers and finally followed cache memory.

 

The system 12 is provided in the UML view, (35) is an example of a logical view of the execution, concurrent with the described synchronization structure; (36) is the most basic needs analysis model.

(35) A. B. Implementation view process view D. C. EXAMPLE view of a deployment view

[Answer] AD [resolved]

UML definition of the system architecture is the organizational structure of the system, including system information decomposed components, and their relevance, interaction mechanisms and guidelines to provide system design. Specifically, the system refers to the following five views:

① logical view. Also called logical view design view, it represents a part of the design of the model is important in the architecture, i.e. class, subsystem, and a subset of the package achieved with the embodiment.

② process view. Process View is a thread of execution and modeling processes as the activity class, which is a logical view of the example of execution, with concurrent described synchronization structure.

③ implementation view. To achieve a view of the composition of a physical model based on the file and the code member of the system.

④ deployment view. The deployment member deployment view to a set of physical nodes, represents software to hardware mapping and distribution structure. ⑤ view of embodiment. Use case view is the most basic of needs analysis model.

 

13. The following on the importance of software architecture design description, (C) is wrong.

A. software architecture designed to meet system performance, security, maintainability and other quality

B. software architecture designed to help the stakeholders (Stakeholder) a better understanding of software architecture

C. software architecture designed to help architects to better capture and refine system requirements

D. software architecture designed to effectively manage the complexity of the system and lower system maintenance costs

[Answer] C [resolved] The main question examined the importance of software architecture design.

Software architecture design is to reduce costs, improve quality, on-time and on-demand delivery of key aspects of the product. Software architecture designed to meet system performance, security, maintainability and other quality; software architecture designed to help project stakeholders (Stakeholder) a better understanding of software architecture: software architecture designed to effectively manage the complexity of the system and reduce system maintenance costs; software architecture of the system has developed guidance: software-based system architecture design reuse laid; software architecture designed to support conflict analysis. It should be noted that the software architecture design and system requirements are orthogonal, the two are not necessarily linked.

13. In the embedded system design, several storage structure below is transparent to the programmer (11).   

(11) A. B. cache memory disk memory C. Memory D.flash

[Answer] A [resolution] The main question examined in an embedded system programming operations on the storage structure.

14. For a company to develop an industrial robot for assembling vehicle parts. After analyzing the company's architect and discussion, given that the two candidates robot control software architecture program: closed-loop control and hierarchy. For the following reasons for choosing these two candidates architecture, the error is

A. closed-loop control architecture should be used as a method of closed-loop configuration gives software into several cooperating members, which is particularly suitable for complex tasks 

B. Closed-loop control structure should be used, because the main components of the closed loop control architecture of the robot (monitors, sensors, engine, etc.) are separated from each other, and can be replaced independently 

C. hierarchical structure should be used, as well organized hierarchy member to coordinate the operation of the robot, the system structure more clearly 

D. hierarchy should be used, because there is a layer of abstraction to meet the need to deal with uncertainty: uncertainty of implementation details in a lower level than in Gao level becomes determined 

[Answer] A [resolution]

And reuse is possible to replace, but is generally applicable to closed-loop structure simple processing tasks (e.g., assembly machines, etc.), do not apply to complex tasks. Features hierarchy by introducing an abstraction layer, the lower level of uncertainty in the higher level implementation details will become determined, and able to organize collaboration among member (112), the system structure more clearly.

15. Windows operating system used in the graphic user interface processing core architecture style (51) style. Java language "write once" propaganda of the characteristics from an architectural point of view in line with the style (52) style characteristics.  

(51) A conduit VM B. - The filter event-driven D. C. microkernel - Extended 

(52) A conduit VM B. - The filter event-driven D. C. microkernel - Extended 

[Answer] CA [resolved]

Windows operating system used in the graphic user interface processing is a typical "event-driven" architectural style, first register the event handler is a callback function, when an interface events (such as keystrokes, mouse move

Move, etc.), the system will locate and select the appropriate callback function to handle the event. Java language is an interpreted language,

Runs on the Java Virtual Machine, which is typical of a "virtual machine" architectural style from the style point of view, that is shielded by a different hardware environment virtual machine architecture.

two. True or False

1. The development and operation of software is often subject to hardware limitations and constraints. (√)

2. The high cohesion within modules often means loose coupling between modules. (√)

3. The quality of the software primarily the responsibility of inspection personnel, other developers do not care. (X)

4. The decision coverage condition coverage does not necessarily contain, comprises a condition decision coverage does not necessarily cover. (√)

5. It should make full use of the code written in machine language, improve process efficiency, while reducing the use of high-level languages. (X)

6. UML can be applied only to establish a software system model. (X)

7. The purpose of software testing is to find all the missing without a mistake. (X)

8. User inaccurate description of software requirements, software is often one of the causes of the crisis - (√)

9. Currently, two scheduling software projects more commonly used method is to program evaluation and review technique (PERT)

And Critical Path Method (CPM). (√)

10. A good developer should have good qualities and capabilities include solidarity with those around them, to establish a good

Relationships, good at listening to the views of others. (√)

11. The vast majority of current software is not suitable for rapid prototyping technology. (X)

12. The data-oriented method is suitable where the design is obvious application level information structure as: information of enterprises

Management system; system software (e.g., operating system) or the like. (√)

13. The lack of experience in dealing with large-scale software projects. Software is the only cause of the crisis. (X)

14. The test plans, test cases, error statistics and related analysis reports generally do not have long-term preservation. (X)

15. The software will also wear and aging. (X)

16. improve the maintenance or improvement is to improve the performance of the software. (√)

17. The lack of effective methods of learning guidance and support effective development tools, which are often produced original software crisis

One reason. (√)

18. A good developer should have the quality and capacity is not included with good written and verbal communication skills. (X)

19. observation process manually operated when a user demand for the simulation analysis is not manual operation, but in order to obtain

Get first-hand information, and extracting valuable demand. (√)

25. The exhaustive testing is more realistic testing methods. (X)

two. Big questions

1. library management system functional requirements as follows: (25 min)

✧ library management system can provide services to a number of borrowers. Each borrower to have a unique identification number of its existence. Library books issued to each of a borrower

Certificate, which contains each - a borrower number and personal information. Services provided include: books provide access to information, access to personal information services and book library services.

✧ When the borrower needs to borrow books, the need for return of books by librarian that the borrower does not directly interact with the system, but acts as a borrower by the librarian

Agents and system interaction.

✧ Management System administrators responsible for system maintenance, including the number, borrower's books to add, delete and modify. And be able to query the borrower, books and books

Information administrator.

✧ ° can search for books by title of the book or the book ISBN / ISSN number.

Answer the following questions:

1) What are the participants in the system have? (3 points)

Borrower librarian system administrator

2) the system determines the class to find the relationship between the class and the class shown in FIG.

User class, user role categories, based books, predetermined type, lending class, class bibliography (6 points)

FIG class (6 points) 1 point for each Class 6 2, 6 2 1 point for each relationship

 

 

 

 

3) Draw Context "borrower predetermined Books" timing chart (10 minutes)

 

 

 

 

 

2. For a software company to develop a network device management system, network devices (such as routers and switches, etc.) within the management area for remote monitoring and control. First, the company's systems analyst system needs analysis, identify the following three core requirements:

(A) the current network of devices to manage determined to be 10 types of 20, there will be a new class of future devices incorporated into the network device management system;

(B) different types of network devices to monitor and control the content quite different; the same type of network equipment, monitoring and control of the content is similar, but the implementations of different vendors (including control interface formats, programming languages, etc.) are quite different;

(C) enables network administrators over a unified network terminal equipment for these visual presentation and management operations.

In response to these needs, the architect of the company's R & D department of architecture of the network device management system analyzes and design, architect Wang workers that the system can be used to achieve MVC architecture style, that is, for each network device to design a monitoring component by component call the network equipment manufacturers to monitor the built-in programming interface for receiving and processing instructions; system administrators monitor commands sent to the monitoring component through the management module, the remote management of network devices; network status monitoring result information will be displayed on the control terminal . For differences of network equipment, the king's work can be considered sort of the current investigation and the 20 network device interface and device interfaces difference shielded by defining a unified operation. Li Gong agreed MVC architecture style and the idea of ​​a unified operator interface definitions proposed by Wang Gong, but considering the future there will be a new category of network access devices that also need expansion interface way to support system developers to extend or modify existing operator interface. The company organize experts to review framework, finally agreed to the improvements the king's work program and Lee workers.

————————————————

[Question 1] Please use the text of 300 words or less to explain what is MVC architecture style and interactions among components, and according to casual working description, figure out what the system M, V, C correspond respectively.

MVC architecture style Smalltalk-80 was originally used to construct the architectural design of a user interface employed. Wherein M represents a model (Model), V represent this view (View), C on behalf of the controller (Controller). In this style, the model represents the object to be displayed, the view showing a display model, the controller responsible for the user to operate the operation switch for the model. Model to reflect its change by updating the data view.

In the present system, the model (M) representative of the monitoring component, the view (V) on behalf of the control terminal, the controller (C) on behalf of the management module.

 

The main question examined the analysis and understanding of definitions and expansion interface mode structure of the MVC architectural style.

MVC architecture style Smalltalk-80 was originally used to construct the architectural design of a user interface employed. Wherein M represents a model (Model), V represent this view (View), C on behalf of the controller (Controller). In this style, the model represents the object to be displayed, the view showing a display model, the controller responsible for the user to operate the operation switch for the model. Model to reflect its change by updating the data view.

In the present system, the model (M) representative of the monitoring component, the view (V) on behalf of the control terminal, the controller (C) on behalf of the management module.

 

3. Read the following statements about software system modeling, the answer sheet to answer questions 1 to Question 3.

[Description]

A software company plans to develop a learning management system for colleges and universities to provide education management services. The basic needs of the learning management system include:

In order to use the various functions of the system service (1) system users must successfully log into the system;

(2) Administrator (Registrar) to use the system management school (University), Department (Department), teacher (Lecturer), student (Student) and courses (Course) and other teaching basic information;

(3) Students use the system to select and register for a class, you must pass the exam in order to obtain the chosen course credit; if not pass the exam, take a makeup exam in order to obtain course credit after the adoption;

(4) using the system to select the teachers to teach the course and get a list of students selected for the course from the system;

(5) generated by the system administrator course curriculum, maintain information about the courses required by the system, students and teachers;

(6) a month to the end of the system will print the student's attendance information through the printer.

After analysis and discussion of the project team decided to use object-oriented development techniques to the needs of system modeling.

————————————————

[1] Problems (7 points) use case modeling to describe the function of the system needs to be developed, the main elements are use cases and actors. Please title according to the demand, indicating which participants teaching service system has.

[Refer to the answer] students, teachers, administrators, time, printer.

 

[Resolved] questions

Participants means that the need to use the system or systems to interact with things outside the system, including: a person or organization, equipment, and other external systems. In this problem, it is easy to identify participants include: students, teachers, administrators, more obscure participants include: time, printer.

[Question 2] (7 points)

A use case is a description of the dynamic behavior of the system, the use case is acquiring one of the main tasks of the needs analysis phase. Please indicate in object-oriented systems modeling, which has several types of relationship between the use cases? When the demand for the subject of the teaching service system modeling,

"Log" between use cases and use case "course registration", "exam" relationship between use cases and use case "to participate in make-up," What type of belonging?

With a relationship between the embodiment comprising: a, extension, generalization. "Log" use cases "registered course" relationship between use cases: Contains relationship.

"Exam" use cases "to participate in make-up" with the relationship between the cases: expansion of relations. [Question 3] (11 points)

FIG class mainly used to describe the static structure of the system, and is the base component configuration diagram of FIG. Please indicate in object-oriented system modeling, the relationship between classes, which has several types? When the demand for the subject of the teaching service system modeling, between class and class University Student, University between class and class Department, the relationship between class and class Student Course are belong to what type?

Answer [] relationships between classes include: association, aggregation, composition, dependency, generalization, implementation (not writable write, because the realization of the relationship between classes and interfaces, and the interface is a special class).

Between classes and categories University Student are: aggregation relationship. Between classes and categories University Department are: a combination of relationships.

The relationship between class and class Student Course are: association.

 

[Questions] to resolve dependencies: a thing changes affect other things. Generalization: Special / general relationship. Relationship: describes a set of chain, the chain is a connection between objects.

Aggregation relationship: different whole-part life cycle. Combination relationship: the same as the whole lifecycle. Realize the relationship: the relationship between the interface and class.

Guess you like

Origin www.cnblogs.com/pyinal/p/12156256.html