当前位置:网站首页>Notes on key review of software engineering at the end of the term

Notes on key review of software engineering at the end of the term

2022-06-26 16:17:00 Evening wind serein

It's not easy to organize , Ask for praise and attention ~

Chapter one Introduction to software engineering

1. Software features :( complexity 、 Invisibility 、 Variability 、 Obedience 、 Discontinuity )

2. Definition of software engineering :( Put the system's 、 Orderly 、 Quantifiable methods are applied to software development 、 Operation and maintenance process )

3.(1) Three elements of software engineering :( The process + Method + Tools )
(2) Two components of software :( Program + Software Engineering )

4. There are five areas of software engineering :( Software requirements analysis 、 software design 、 Software build 、 Software testing and maintenance )

5. Judgment questions : The process oriented approach focuses on the business : Business driven technology , emphasize IT Alignment with the business , Encapsulate business processes and existing application systems with open standards , Realize mutual access between application systems .( Wrong point : Not a process oriented approach , Is a service-oriented approach )

6. Object oriented analysis , The sequence of activities to be performed is ( Identified object )、( Organization object )、( Describe the interaction of objects )、( Determine the operation of the object )

7. The object-oriented programming language is ( object-oriented ) Realization

Chapter two Personal technology and processes

8. Definition of interface separation principle
( Using multiple specialized interfaces is better than using a single general interface . Customers should not be forced to rely on methods they don't use , The interface belongs to the customer , Does not belong to the class hierarchy it is in . That is, it depends on abstraction , It doesn't depend on the concrete )

9. The objective of the opportunity feasibility study is ( Stimulate investor interest 、 Looking for the best investment opportunities )

10. Can the preliminary feasibility study stage of the project be omitted ?( Sure )

11. The detailed feasibility study is a ( Time consuming 、 Laborious and requires some financial support ) The job of

12. The purpose of the project evaluation is ( Review the reliability of the project feasibility study 、 Authenticity and objectivity )

13.( Technical feasibility analysis ) Often determines the direction of the project .

14. The economic feasibility analysis is mainly about ( The investment of the whole project and the economic benefits generated ) Analyze , Generally, it is necessary to ( Social benefits of the project ) Analyze

15. The quality of software projects , It mainly uses ( Technical review ) and ( software test ) The two methods are used together to ensure

16. The control flow diagram of a program has n Nodes ,m side , In the case of the least number of test cases , The upper limit of the number of test cases required to ensure that each executable statement in the program is executed at least once is equal to the ring complexity, that is (m-n+2)

Chapter four The two work together

17. Three code reviews 【 Self review 、 Peer review 、 Team review 】 The form and characteristics of
(1) Self review : The form is self-examination . It is characterized by the use of peer review criteria to demand that you . Not necessarily effective , Because developers are always overconfident in themselves . If you can consistently review yourself from the perspective of others , It is of great benefit to individuals
(2) Peer review : The form is that the reviewer reviews the developer . The feature is simple and easy .
(3) Team review : The form is that the team reviews the developers . It is characterized by strict regulations and procedures , Used for critical code and code that will not be updated after review , Coverage is high but efficiency may not be high .

18. The characteristics of pair programming 、 Advantages and disadvantages 、 Applicable scenario
(1) characteristic : In the state of code review all the time
(2) advantage : Improve design quality 、 Reduce the cost of time
(3) shortcoming : Most people like to work alone 、 Time may be spent on training
(4) Applicable scenario : Novice and novice pair programming 、 When exploring a new field

The fifth chapter Teams and processes

19. Six development processes : Write and change 、 Waterfall model 、 Spiral model 、 Prototype + evolution 、 Delivery in sections 、 Step by step delivery

20. Characteristics and applicable scenarios of waterfall model
( Is the most commonly used development model in structured methods , Is document driven , Suitable for developing software with clear requirements , Not suitable for large software systems )

21. Characteristics and applicable scenarios of spiral model
( The risk analysis that other models do not have is introduced , It is suitable for software with unclear requirements or large and expensive system level software applications )

22. Characteristics and applicable scenarios of fountain model
( Iterative and seamless , Driven by user needs , Object driven , Suitable for object-oriented development methods )

23. Applicable scenario of prototype model
( It is applicable to requirements that are unclear and often change , But the system scale is not too large and not too complex software )

24. Characteristics and applicable scenarios of incremental model
( In a short time , Provide preliminary products that can complete part of the work to users ; Users have plenty of time to learn and adapt to new products , Applicable to projects with clear requirements )

25. Judgment questions : Spiral model can quickly provide an initial version for users to test , Software development based on this model , Low development cost
( error : Not a spiral model , It's an incremental model )

26. Judgment questions : Using sketches and models to illustrate user interfaces is the principle of an object-oriented approach
( error )

27. Judgment questions : The prototype method requires a comprehensive analysis of the system 、 Detailed investigation and analysis
( Wrong point : The characteristic of the prototype method is that the requirements are not clear , Here should be the waterfall model )

28 Judgment questions : Object oriented method skills reflect the problem domain , It can also be accepted by the solution domain of computer system .
( correct )

29. Judgment questions : Both the prototype method and the structured method require that the user needs before the system is established
( error )

30.(1) Model based systems engineering as a kind of ( Formal modeling methodology ), In order to cope with the challenges faced by the traditional document based system engineering working mode in the development of complex products and systems ,
(2) Take the logical coherent multi view system model as the bridge and framework ,
(3) Implement traceability of cross domain models 、 Verifiable and dynamically correlated ,
(4) Drive systems engineering processes and activities at all stages and levels of the manual system life cycle , Make it manageable 、 Can be reproduced 、 reusable ,
(5) And break down the professional barriers , Crack the design and process 、 R & D and manufacturing 、 Separation of development and maintenance , Greatly improve the efficiency of communication and collaboration ,
(6) Realize the model driven method to collect 、 Capture and refine data 、 Information and knowledge

31. Now I want to develop a university card system , Used to replace an existing system , Most suitable for ( The waterfall ) Model

Chapter six Agile processes

32. Characteristics of agile process :( Focus on personal and communication 、 Communicate with customers 、 Response variation , Emphasizing working software is better than a lot of documentation , It's object-oriented )

33. Agile software development method is a kind of ( Incremental ) development method , It will ( Implementation and testing ) As the central activity of the software process , Integrate other development activities . Agile requirements for teams include :( Self management 、 Self organizing 、 Multi functional )

34. Agile development method scrum The steps include :(Product Backlog、Sprint Backlog、Sprint)

Chapter viii. Demand analysis

35. Requirements engineering includes requirements development and requirements management
(1) The main activities of requirements development :( Demand acquisition 、 Demand analysis 、 Requirements definition 、 Requirements validation )
(2) The main activities of demand management :( Change control 、 version control 、 Demand tracking 、 Requirement status tracking )

36.(1) Expressed requirements refer to ( The customer's direct demand )
(2) Real needs are ( What customers actually expect )
(3) Unspecified requirements refer to ( What customers expect )
(4) A pleasing need is ( The surprise that customers expect )
(5) Potential demand means ( Customers expect , Feedback from other stakeholders )

37. Controlling project costs belongs to ( Undeclared requirements )

38. Only ( Measurable 、 Testable 、 Traceable 、 complete 、 Coordinated , And the main stakeholders are willing to recognize ) demand , Ability as a benchmark

39. Judgment questions : System planning should start from the current situation of users , Guided by technological change 、 Based on user needs , According to the strategic objectives of the organization
( Wrong point : It does not have to be guided by technological change )

Chapter nine project manager

40. The total number of communication channels is (n×(n-1) / 2)

41. Four categories of risk management :( people 、 technological process 、 technology 、 Environmental Science )
The specific source is
(1) people :( Customer 、 user 、 stakeholders 、 Team members 、 Institutions 、 Political factors )
(2) technological process :( The goal of the project , Determine the process , Project features , The budget , cost , Schedule , demand , Design , Build and test process )
(3) technology :( Whether the technology is available , Security , Environment support for development and testing , Tools , Release , Support , Operating environment )
(4) Environmental Science :( law , Regulations , competitors , The economic environment , Commercial and industrial conditions )

42. The definition of risk ( The possibility of some kind of damage or loss ), Definition of risk management ( distinguish 、 assessment 、 Reduce the risk to an acceptable level )

43. Project estimation generally needs to consider ( scale 、 Complexity 、 cost ) Other factors , And ( Project type ) irrelevant

Chapter 11 Software design and implementation

44. Judgment questions : The processing logic in the data dictionary must describe the data structure and algorithm for processing
( error )

45. Use structured analysis methods for requirements analysis , A three-level model built around the data dictionary :( Entity relation diagram )、( Data flow diagram )、( State transition diagram )

46. Structured design is a kind of design oriented to ( Data flow ) Methods , It can be further subdivided into ( Outline design and detailed design ) Two phases , It is based on ( Module independence ) Principles and system structure guidelines , take DFD Convert to system structure diagram , Use the system structure diagram to establish the physical model of the system , Describe the hierarchical module structure of the system , And the communication and control relationship between modules .

47. Data flow diagram (DFD) The draw
(1) Rectangular representation ( External entities )
(2) Rounded rectangles represent ( technological process )
(3) The open rectangle represents ( data storage )

48. Drawing of class diagram : Defining classes
[ visibility ] Property name [: type ] [= initial value ]
visibility : public (+)、 private (-)、 Protect (#)

49. Drawing of class diagram : A symbol representing a relationship 【 relation 、 Gather 、 generalization 、 rely on 、 elaboration 】
(1) relation : Indicates how many objects in the class are related to an object in the associated class ( If the number is not indicated, it means 1). In the programming language, it is , An object of one class acts as an attribute of another class

(2) Limited Association : Make some kind of constraint on the meaning of association

(3) Shared aggregation ( polymerization ): Partial objects can form a whole object , The whole object does not exist, but some objects can still exist . In the programming language, it is , Partial class objects are parameters of the overall class constructor
(4) Combinatorial aggregation ( Combine ): An object that constitutes a whole , The whole object does not exist, and the part object also disappears . In the programming language, it is , Some classes are instantiated in the constructor of the whole class

(5) generalization ( Inheritance relationship )

(6) rely on :A Classes are independent ,B Classes depend on A class . if A Class changes will affect B class . In the programming language, it is B The methods of class are A Class objects as parameters

(7) elaboration ( Realization ): More detailed description at different levels of abstraction
(8)UML Class diagram several relations summary ( The order of coupling )
generalization = Realization > Combine > polymerization > relation > rely on

50. Three classes are designed : The traffic tools 、 automobile 、 The engine . Between the vehicle and the car ( Inherit ) Relationship , Between the car and the engine is ( polymerization ) Relationship

51.UML It's a modeling tool for object-oriented design , Independent of any specific programming language ,UML2.0 That's a total definition 14 Chinese .
(1) chart 【 Static diagram 】 Include :( Class diagram 、 Object graph 、 Component diagram 、 Deployment diagram 、 Artwork 、 Package diagram 、 Combined structure chart )
(2) Behavior graph 【 Dynamic graph 】 Include :( Use case diagram 、 Sequence diagram 、 Communication diagrams 、 Timing diagram 、 Interaction Overview 、 Activity diagrams 、 State diagram )

52.UML The sequence diagram of is mainly used for ( Interaction between participants and objects in the system , And modeling the interaction between these objects )

53. Judgment questions : Object oriented encapsulation is the combination of attributes and operations of entities
( error )

54.(1) Entity class : Classes that must store information and related behavior . For example, events 、 personnel 、 user
(2) Boundary class : Classes for interaction modeling between business protagonists inside and outside the system . Boundary classes depend on the external environment of the system . For example, user interface classes 、 System interface class
(3) The control class : Describe the implementation of the business logic of the use case . When business actors execute use cases through boundary classes , Generate a control class object , After the use case is executed , Control class objects will be destroyed , Like authentication .

55. In a sales system , Customers pay by scanning QR code . If the object-oriented method is used to develop the sales system , Then the customer class belongs to ( Entity class ), The QR code class belongs to ( The control class )

56. In object-oriented design , The class used to describe the interaction between the target software and the external environment is called ( Boundary class )

57. When UML A state diagram is used to map the system 、 When modeling dynamic aspects of a class or use case , Usually yes. ( The subject of the reaction ) modeling

58. following UML In the state diagram , Suppose the state of the activity is A, event b=0 Occurs and a>5, When conditions occur C State to D The transition condition of the state is ( Once the state is A and B All the actions of... Are completed ),D Become active .

59. comprehensive 58 Description of the state diagram , What's not right is (D)
A. Actions can be performed in a state , It can also be executed during state transition
B. When the event triggering the conversion occurs and the conversion has no specified monitoring conditions , The object will leave its current state , And its do Action termination
C. when(b=5) It is called a time event
D. The state is triggered by the event

Chapter 12 User experience

60. Domain specific software architecture refers to the standard software architecture that provides organizational structure reference for a group of applications in a specific application domain . From the perspective of functional coverage ,( Vertical field ) Defines a specific system family , Contains multiple systems within the entire system family , A general software architecture that can be used as a feasible solution for systems in this field ;( Horizontal domain ) Defines the common parts of functional areas in multiple systems and multiple system families , At the subsystem level, it covers the specific functions of multiple system families

61.4+1 The view model includes :( Logical view 、 Process view 、 Physical view 、 Development view 、 Scene view ). among ( Process view ) Used to capture the concurrency and synchronization characteristics of the design ;( Development view ) This paper describes the static organizational structure of software in the development environment

62. The architecture based software design approach is an architecture driven approach , The method is a ( The top-down ) Methods , The architecture of the software system is refined by this method , Until it can produce ( Software component or module ).

63. Overall software design principles :( modularization 、 abstract 、 encapsulation 、 Information concealment 、 Module independent )

64. The meaning of six kinds of coupling
(1) No direct coupling : There is no direct relationship between the two modules , Module independence is the strongest
(2) Data coupling : When one module accesses another module , Exchange input and output through data parameters
(3) Feature coupling : The two modules are linked by passing data structures
(4) Control coupling : Control information is transmitted between modules ( Will change the internal logic of the module )
(5) Public environment coupling : A set of modules refers to a common data area
(6) Content coupling : Part of the code overlaps

65. modular A Transfer to module through abnormal entrance B Inside , Between these two modules is ( Content ) coupling

66. Seven cohesive meanings
(1) Functional cohesion : All parts work together to complete a function , Be short of one cannot
(2) Order cohesion : The output of one part is used as the input of the next part , Must be carried out in sequence
(3) Communication cohesion : Each part of the module has the same input or the same output
(4) Process cohesion : The functions in the module are executed in a specific order
(5) Time converges : The functions completed by the module must be executed at the same time
(6) Logical cohesion : Combine several functions , Determine which function to perform according to the passed in parameters
(7) To gather by chance : The components in the block are functionally independent of each other

67. A module combines several related functions , On every call , There are incoming parameters that determine which function the module performs , The cohesion type of this module is ( Logical cohesion )

Chapter 13 software test

68. Two ways to test cases :( Equivalence class partition and boundary value analysis )

Chapter 14 The quality of software engineering

69. Evaluation indicators :CMMI
(1)CMMI Class A , Initial level / Completion level . The enterprise is clear about the objectives of the project and can achieve them .
(2)CMMI second level , Management level . Enterprises can follow the established plans and processes in project implementation , Have the resources to prepare , It's up to the people
(3)CMMI Level three , Clarity level . The enterprise can not only have a complete set of management system for the project , And ensure the completion of the project , And according to their own standard processes and special circumstances , Institutionalize this management system
(4)CMMI Level Four , Quantitative management level . The enterprise has realized the digital management of the project
(5)CMMI Level five , Optimization level . The project management of the enterprise has reached the highest level

70.CMMI Implementation method of
(1) Continuous : It mainly measures the management ability of the enterprise in the project
(2) Staged : Mainly to measure the maturity of the enterprise

71. Judgment questions :CMMI The project management process area of does not include risk management
( error )

72. Software quality factors
(1) Usability : The degree to which the system is satisfactory in performing the intended function
(2) reliability : The probability that the system will operate effectively at a given time interval and under certain conditions
(3) Maintainability : Probability that the system can normally carry out maintenance activities within a specific time

73. In a distributed software system , One component lost its connection to another remote component . After the system is repaired , Connected to 30 Recover in seconds , The system can work again . This description reflects the of the software system ( Usability )

74. In availability and reliability planning and design , Specific methods need to be introduced to improve the availability of the system , Among them, the possible error components are deleted from the service and belong to ( Error prevention strategies ).

75. Interoperability means ( The ability of a software product to interact with other specified systems )

Chapter 15 Stabilization and release phase

76. Software maintenance means ( The process of software from beginning to end , Time is usually longer for software development )

77. A search engine after delivery , The developer modified the indexing method , Similar users can get search results faster , This modification belongs to ( Perfection ) maintain .

78. In software reverse engineering ,( Design recovery ) It refers to abstracting relevant data design from existing programs with the help of tools 、 Information on overall structure design and process design ;( Forward engineering ) It means not only recovering design information from existing systems , And use this information to change or reconstruct existing systems , To improve its overall quality .

79. Product configuration refers to the various forms and versions of a product at each stage of its life cycle ( file )、( A computer program )、( Parts and data ) Set

80. Software configuration management tools include ( Tracking tools )、( Version management tools ) and ( Publishing tools )

原网站

版权声明
本文为[Evening wind serein]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/177/202206261604468625.html