[The Road to System Analyst] Case Analysis in 2022

[The Road to System Analyst] Case Analysis in 2022

Case Analysis in 2022 The first question of the real questions over the years (25 points)

Question 1 (25 points in total)
Read the following description about software system analysis and modeling, and answer questions 1 to 3 on the answer sheet.
A software company intends to develop a blogging system, and it is required to provide users with a platform for conveniently publishing their own experience and communicating with others in a timely and effective manner. Before a new user publishes a personal blog, a new blog account needs to be created. The following is the operation behavior of new user registration: (a
) Request to the system to create a new blog account;
(b) Enter personal details;
© use the credential database to verify Personal details;
(d) Select account type;
(e) Successful identity verification, create a new blog account;
(f) Unsuccessful verification of user identity information;
(g) Email account details to the user;
(h) Blog account application rejected.
insert image description here
[Question 1] (6 points)
In the process of structured and object-oriented software analysis, data flow diagrams, activity diagrams and flowcharts are usually used. Please describe the characteristics and applicable scenarios of these three models respectively.
[Question 2] (9 points)
Use use case diagrams and use case descriptions to model system requirements. Please use (a)~(h) given in the question stem to complete (1)~(6) in "Blog Account Creation Use Case Description" ), as shown in Table 1-1. Write the correct answers on the answer sheet.
[Question 3] (10 points)
Requirements review is the process of submitting the requirements specification to relevant personnel for inspection to find defects in it. In requirements engineering, requirements review is a very important process. Combined with the case of the topic, please briefly explain the content and function of the needs review within 300 words.

[My answer to question 1]
1) Data flow diagram
Features: Describe the input and output of data
Applicable scenarios: In the demand analysis stage of structured development, explain the data flow direction of the system
2) Activity diagram
features: Describe the execution order of the system Sequence
Applicable scenario: Explain the sequence of multiple tasks concurrently
3) Flowchart
Features: Describe the sequence of program execution
Applicable scenarios: Explain the internal logical structure of the program
[standard answer to question 1]
1) Data flow diagram
features: through the system A method of describing the functionality of a system based on the flow of data within it. Emphasizes the flow of data in the system.
It consists of four parts: data flow, processing, external entities, and data storage.
Applicable scenarios: structured requirements analysis, functional modeling for the system
2) Activity diagram
Features: The characteristics of activity diagrams are similar to flowcharts, but can be expressed as parallel execution.
Applicable scenarios: object-oriented analysis and design modeling.
3) Flow chart
Features: It can clearly show the process sequence of business execution. The difference with the data flow diagram is that it emphasizes the control flow rather than the data flow
. Applicable scenarios: structured demand analysis and structured design. Sort out business processes for the system.

【Question 2 My answer】
1) d) Select the account type;
2) b) Enter personal details;
3) c) Verify personal details using the credential database;
4) a) Request to the system to create a new blog account;
5) g) Email account details to user; ✓
6) h) Blog account application rejected.
[Standard answer to question 2]
1) a
2) d
3) b
4) c
5) g
6) h
[My answer to question 3]
1) The content of the requirements review
checks the validity of the content recorded in the requirements specification Evaluation and analysis, the results of the analysis need to be fed back to the customer.
2) The role of requirements review
Demonstrate the feasibility of the requirements and it can be realized
Confirm that the requirements can indeed meet the needs of users
Find out that there are no contradictions and conflicts between the requirements
Find the wrong content in the requirements specification
[standard answer to question 3]
1) Requirements The content of the review
SRS correctly describes the expected system behavior and characteristics that meet the needs of project stakeholders.
Software requirements in the SRS are properly derived from system requirements, business specifications, and other sources.
Requirements are complete and high quality. In this example, there are incomplete requirements, such as who requests from the system, what personal details should be entered, and the account type is selected, which account types are available for selection.
Representation of requirements is consistent everywhere
Requirements provide sufficient grounds to proceed with system design, implementation, and testing.
Use case prioritization plausibility assessment.
The role of SRS
1) Discover ambiguous requirements
2) Discover uncertain requirements that users have not reached a consensus on
3) Discover missing requirements
4) Reduce risks and improve software quality
5) Provide support for project stakeholders to reach consensus on requirements .

Case analysis in 2022 The second question of the real questions over the years (25 points)

Question 2 (25 points in total)
Read the following description about system design, and answer questions 1 to 3 on the answer sheet.
A software company develops an online office automation system for an enterprise to improve the quality and efficiency of enterprise management services. The company decided to adopt the object-oriented method to develop the system. Mr. Zhang was responsible for analyzing the employee leave approval business. The specific description is as follows: After an employee submits a leave application
through the leave application page, the department manager will first review it. If the reason for asking for leave is unreasonable, The department manager rejects the leave application, returns the application to the employee, and the employee revises the leave application form and submits it again, or abandons the leave application.
If the reason for asking for leave is reasonable, and the number of leave days is less than or equal to 3 days, the department manager will directly approve the leave application, generate a leave approval form, and the application is completed.
If the number of leave days is more than 3 days, after the department manager approves the leave application, it needs to be submitted to the deputy general manager for review and approval. If the deputy general manager thinks the application is reasonable, the application will be approved and a leave approval form will be generated, and the process will end; if the deputy general manager thinks the application is unreasonable, the leave application will be rejected and returned to the employee.
[Question 1] (11 points)
Identifying the design class is one of the important links in the object-oriented design process. The design class expresses the responsibility of the class, that is, the tasks undertaken by the class. Please use text within 300 words to explain which 3 types of design classes usually include, and the main responsibilities of each type, and describe the specific classes involved in the case from the title stem and give two examples for each type of design class.
[Question 2] (6 points)
Identifying the relationship between classes is one of the important links in the process of object-oriented analysis. The common relationships between classes include generalization relationship, association relationship, aggregation relationship, combination relationship, etc. Please describe the connotation of the generalization relationship and the association relationship in less than 300 words, and give an example of each of these two relationships according to the description of the specific class of the question [Question 3] (8 points
)
In object-oriented During the design process, a state diagram describes the dynamic behavior of an entity based on its reaction to events. Please fill in the blanks (a) to (d) in Figure 2-1 according to the description of the question to complete the state diagram of leave approval.
insert image description here

[My answer to question 1]
Design classes can be divided into three types: entity classes, control classes, and boundary classes.
1) Entity class
In an object-oriented system, it is used to design the class that stores data entities in the system. For example, the leave application form and the leave approval form are entity classes.
2) Control classes
In object-oriented systems, design classes used to control and describe system behavior. For example, leave application.
3) Boundary classes
In object-oriented systems, the classes used to design entities external to the system and how these entities interact with the system. For example: employees, department managers, deputy general managers.
[Standard answer to question 1]
1) Entity class The entity
class maps each entity in the requirements and saves the information that needs to be permanently stored in the storage body. Such as employee information, leave application form
2) Control class
The class used to control the work of the use case. Used to model control behavior specific to one or a few use cases. Such as submitting a leave request and approving a leave request.
3) Boundary class
Used to encapsulate the information or data flow flowing inside and outside the use case. For example, leave application page, leave application form.
[My answer to question 2]
1) The generalization relationship
can be simply understood as the anti-relationship of the inheritance relationship. It describes the parent-child relationship between design classes. For example, there is a generalized relationship between the approver, the department manager, and the deputy general manager.
2) Association relationship
is that the implementation of a design class needs to call the method of another design class to achieve. Then there is an association relationship between these two design classes. For example, approving a leave application and rejecting a leave application are related relationships.
[Standard answer to question 2]
1) Generalization relationship
Describes the relationship between a general transaction and a particular kind within that transaction. That is, the relationship between the parent class and the child class. The inheritance relationship is the anti-relationship of the generalization relationship, that is to say, the subclass inherits the parent class, then the parent class is the generalization of the subclass.
2) Association relationship Association
relationship provides a structural relationship between different types of objects. It connects instances of multiple classes together for a certain amount of time. Association refers to the relationship between object instances, not the relationship between two classes. The remaining relations concern descriptions of the classifiers themselves, not their instances. The description of the association relationship can be illustrated by the association name, multiplicity, role, and orientation.
Example of generalized relationship: employee and department manager, department manager is also a kind of employee.
Example of association relationship: there is an association relationship between employees and leave records.
[My answer to question 3]
a) The department manager refuses the application ✓
b) Generates a leave approval form
c) The deputy general manager rejects the application ✓
d) Generates a leave approval form
[Standard answer to question 3]
a) The department manager rejects the leave application
b) Asks for leave The number of days is greater than three days
c) The deputy general manager does not approve the leave
d) The number of days of leave is less than or equal to three days

Case Analysis in 2022 The third question of the real questions over the years (25 points)

Question 3 (25 points in total)
Read the following description of the model-based systems engineering approach and answer questions 1 to 3 on the answer sheet.
A company has been engaged in the research and development of aerospace systems for a long time. With the continuous improvement of aerospace system capabilities, the scale of software has increased sharply, and the corresponding defect density has shown a geometric increase, and the failure problem has become more and more serious. In order to ensure the quality of the products, the company's leaders require the implementation of Model-Based Systems Engineering (MBSE) in key projects. Because the auxiliary power control system is related to the flight safety of the aircraft, it is necessary to first implement the MBSE method as a pilot project. As the main person in charge of the system, Wang Gong undertook this work.
[Question 1] (10 points)
Wang Gong has been in charge of system design using traditional development methods before, and he is well aware of the natural limitations of text-based system design methods. After Wang Gong received the instructions, he studied the relevant theoretical basis and engineering realization methods of MBSE, and proposed the implementation plan of designing auxiliary power control system with MBSE method. Please use 300 words or less to explain what the MBSE method is, and list three limitations of the text-based design method.
[Question 2] (9 points)
The core technology of MBSE is the model methodology. Wang Gong made an analysis of the current mainstream modeling methods Harmony-SE (harmony for System Engineering) method, RUP-SE (Rational Unified Process for System) method and Vitech MBSE method After analysis and comparison, in view of the particularity of the system which is a safety-critical system and emphasizing the validity of the verification, Wang Gong believes that the Harmony-SE method is more suitable for the development of the aerospace environment. Figure 3-1 shows the product life cycle structure of Harmony-SE method. Based on the following three descriptions of modeling methods, which one is the correct description of the Harmony-SE method? And briefly explain why Wang Gong chose the Harmony-SE method in this project.
Description 1: An object-oriented design method, which can decompose design work according to role, artifact and task type, generate a new decomposition structure, and realize parallel design and iterative development.
Description 2: The system model runs through the entire life cycle of system research and development, and can better handle complex and overall problems.
Description 3: A parallel systems engineering activity consisting of four basic systems engineering activities related through a common system design library.
insert image description here
【Question 3】(6 points)
The MBSE method can pre-evaluate the reliability of the system through software and hardware modeling. Wang Gong led the project members to carry out MBSE-based system analysis for the intake and exhaust valve controller components in the auxiliary power control system he was responsible for.
Figure 3-2 shows the reliability distribution diagram of the intake and exhaust valve controllers.
insert image description here
Wang Gong pointed out that the system is composed of software and hardware. In the past, the reliability index only focused on hardware failure, and did not consider the impact of software failure on system reliability. If the impact of software failure on system reliability is not considered, the MTTF (Mean Time To Failure) of the system reliability should be 125.9h (refer to the formula). Please consider the software failure situation given in Figure
insert image description here
3-3 The system reliability distribution diagram below (here, assuming that the SYS1 software is very reliable, the system only adds the reliability of the software in the circle to the evaluation process of system reliability), shows that the system reliability at this time should be greater than or less than that without considering software failure MTTF? And calculate what is the system reliability (MTTF) at this time?
insert image description here

[Question 1 Standard Answer]
Model-Based Systems Engineering MBSE is a formalized approach to support requirements, design, analysis, verification and validation related to complex systems. Compared with document-centric engineering, MBSE is used to put the model at the core of system design. MBSE is part of a long-term trend towards a series of model-centric approaches, which are applied in mechanical, electronic, software engineering and other fields, in order to replace the original document-centric approach that systems engineers excel at method. And influence the practice of systems engineering in the future by being fully integrated into the systems engineering process.
The limitations of the document-based design approach are mainly: (1) In the document-based approach, many documents are generated by different , security or other disciplines) capture the design of the system. It is not conducive to the communication between stakeholders, and it is easy to cause ambiguity. (2) The ability to develop complex systems is limited, and the text-based design scheme cannot be verified by simulation in the early stage.
(3) Natural language is easy to introduce vague descriptions such as adjectives, and it is difficult to ensure accuracy.

**【Standard Answer to Question 2】 **
The correct description is Description 2. Description 1 is a description of the RUP-SE method. Description 3 is a description of the vitech MBSE method. According to Wang Gong's research on MBSE, RUP-SE is an object-oriented design method, and vitech MBSE method is a parallel system, which cannot meet the requirements of high security and emphasis on verification required by aerospace systems. The Harmony-SE method runs through the entire life cycle of system development and is used to support requirements, design, analysis, verification and validation related to the development of complex systems. Conforms to the safety and verification requirements described by Aerospace Systems.
[Standard answer to question 3]
(1) Less than MTTF regardless of software failure.
(2) The calculation of system reliability is as follows: 1/280+1/(5.01*10 ) +1/10
+1/600+1/387+(1/0.3968+1/0.3968)
=0.007942+(1/0.3968 +1/0.3968) =0.007942+2/0.3968
=0.007942+5.040322 =5.048264 (1/h) So the reliability of the system is:
1/5.048264==0.1980879H

Case Analysis in 2022 The fourth question of the real questions over the years (25 points)

Question 4 (25 points in total)
Read the following description about data management in the microservice architecture, and answer questions 1 to 3 on the answer sheet.
A large e-commerce platform built an online B2B store system. The system adopts a microservice architecture, which decomposes system functions into multiple loosely coupled and independently deployable smaller components or services. The final designed system includes common services in e-commerce systems: customer service, order service, payment service, etc. 1.
Customer service is responsible for managing and maintaining customer-related information;
2. Order service is responsible for managing order information and maintenance;
3. The payment service is responsible for the management and maintenance of online payment functions and information.
To ensure loose coupling between microservices, each service has its own database, where the order service uses a NoSQL database, and the customer service and payment service use a relational database.
Li Gong believes that because different services use their own different databases, there may be data inconsistencies in cross-service operations. For example, the data consistency between order and payment, the system creates order records in the local NoSQL database through the order service, and creates payment records in the relational database of the payment service at the same time, and must ensure the consistency of order records and payment records. need to be considered when building the system.
[Question 1] (7 points)
Li Gong suggested using a two-phase commit protocol (2PC) to solve the consistency problem of service data. Please briefly explain 2PC within 200 words; explain whether 2PC can solve the problem, and briefly explain the reason.
[Question 2] (8 points)
Wang Gong suggested adopting a distributed data management solution, using an event-driven architecture to solve the consistency problem of service data, and realizing event delivery through a reliable message queue between order service and payment service. The basic operation steps are as follows, please fill in the blanks.
(1) The order service receives the order request, creates an order, the record status is ( a ), and publishes an "order creation" event;
(2) (b) Receive the "Create Order" event, record (c), and publish a "Payment Completed" event; (
3) Order Service receives the "Payment Completed" event, and modify the order record status to (d).
[Question 3] (10 points)
Mr. Li suggested that Mr. Wang’s solution would have issues with the atomicity of database updates and event releases. For example, the creation of order records by the order service and the release of the “order creation” event required atomicity guarantees, otherwise data inconsistencies would occur. Mr.
Wang It is considered that the problem can be solved by using local transaction to publish events. Please give the basic method of using local transaction to publish events, and explain the disadvantages of this method.

[Question 1 standard answer]
The two-phase commit protocol is often used to manage distributed transactions.
2PC includes two types of sites, the coordinator and the participant. Only the coordinator has the right to commit or withdraw the transaction, while the other participants are responsible for performing write operations in the local database and submitting the revocation to the coordinator.
2PC is divided into two phases: voting decision and execution phase.
1) Voting stage
The purpose is to form a common decision. The coordinator sends a ready-to-commit message to all participants and enters a waiting state. All participants give a reply: it is recommended to submit, or it is recommended to withdraw. As long as one node chooses to cancel, the transaction will be canceled for a long time, otherwise the transaction will be executed.
2) Implementation phase
The purpose is to realize the decision of this coordinator. According to the instructions of the coordinator, the participants either submit the transaction or cancel the transaction, and send a confirmation message to the coordinator.
The two-phase commit protocol 2PC cannot solve the current problem.
1) Distributed databases follow the CAP principle, which sacrifices consistency to a certain extent.
2) Most NOSQL databases do not support 2PC
3) The distributed two-phase commit protocol 2PC generally targets objects that are logically a whole. When a certain overall transaction needs to be executed on multiple physical nodes, voting and execution are performed. Different services for multiple databases are not very suitable.
[Question 2 My answer]
a) Not paid ✓
b) Payment service ✓
c) Payment information ✓
d) Paid ✓
[Question 3 standard answer]
Use local transactions to publish events: an independent process publishes events, specifically It is to use an event table as a message queue in the database that stores the state of the business entity.
The application starts a local database transaction, updates the state of the business entity, inserts an event in the event, and submits the transaction. An independent message publishing thread or process looks up the event table, publishes the event to the message broker, and marks the event as closed. release.
Disadvantage:
Since the developer has to keep in mind the publishing event, there is a high chance of errors. In addition, this approach is a challenge for some applications using NoSQL databases, because NoSQL itself has limited transaction and query capabilities.

Case Analysis in 2022 The fifth question of the real questions over the years (25 points)

Question 5 (25 points in total)
Read the following description about web system design, and answer questions 1 to 3 on the answer sheet.
A company intends to develop a food supply chain traceability system, which needs to provide traceability of the entire food supply chain from raw material suppliers, processors, logistics, distributors, retailers, and consumers. The company formed a project team and held project development seminars. At the meeting, Zhang Gong proposed to obtain food information by scanning QR codes, and use a centralized database as a data storage medium; Li Gong pointed out that the use of centralized databases is easy to cause data trust, and it is difficult to trace the source and pursue accountability. He suggested the establishment of blockchain and database The mapping storage provides storage and query operation functions, and a three-layer architecture of data access layer, data core layer, and application presentation layer is proposed to realize the food traceability system.
[Question 1] (6 points)
Decentralization and openness are important features of the blockchain. Please use a text within 200 words to briefly explain what is the decentralization and openness of the blockchain.
[Question 2] (7 points)
Distributed transaction ledgers, hash functions, public and private key signatures, and time stamps are the core technologies of blockchain. Please choose two technologies that are most suitable for solving data trust problems from the above technologies. And explain the reason in 300 words or less. **
[Question 3] (12 points)
According to Li Gong's suggestion, the system will adopt a three-tier architecture. Please choose from the candidates (a)~(m) given below, complete the blank content in (1)~(6) in Figure 5-1, and complete the architecture design plan of the system.
insert image description here

[My answer to question 1]
1) Decentralization
means that the same data is stored in multiple physical locations. Even if there is a problem with the storage of data in a certain physical location, we can obtain data from another data node, that is, cancel the central node .
2) Openness
The data stored by any node in the blockchain is open to the outside world. It provides convenience for data storage and query
[standard answer to question 1]
1) Decentralization
The blockchain adopts distributed computing and storage, and there is no centralized hardware and management organization. Therefore, the rights and obligations of any node are equal.
2) Openness
The blockchain system is open, except that the private information of all parties to the transaction is encrypted, and the blockchain data is open to everyone.
[My answer to question 2]
Hash hash function and public-private key signature.
1) Public-private key signature
This technology can effectively protect private data such as transactions in the blockchain. At the same time, the signature can verify that the nodes in the blockchain are reliable and trustworthy.
2) Hash hash function
Use the hash hash function to generate information digests to ensure the integrity of information during transmission.
[Standard answer to question 2]
It is a distributed transaction ledger and public-private key signature
1) Distributed transaction ledger
It makes the transaction ledger have more than one copy in the whole network, but multiple copies. When someone wants to tamper with the ledger, it is very difficult to achieve, so it can solve the problem of data credibility.
2) Public-private key signature
It uses an asymmetric encryption mechanism to make a signature to verify the holder and prevent forgery. This technology is also extremely difficult to crack, and it can naturally solve the problem of data credibility to a certain extent if the holder can be verified. question.
[Question 3 My answer]
1) a data access layer ✓
2) c Socket❌
3) g MVC ❌
4) b smart contract ❌
5) m business logic layer ❌
6) e application presentation layer ✓
[standard answer to question 3]
1) a data access Layer
2) k 4G/Wifi
3) b Smart Contract
4) f Database
5) h Data Core Layer
6) e Application Presentation Layer
[Concept Analysis]
Features of Blockchain
1. Decentralized
blockchain adopts distributed computing And storage, there is no centralized hardware or management organization, so the rights and obligations of any node are equal.
2. Openness
The open nature of the blockchain system, except that the private information of all parties to the transaction is encrypted, the data on the blockchain is open to everyone.
3. Autonomy
In the blockchain, any human intervention is ineffective. Change trust in people to trust in machines.
4. The information cannot be tampered with.
Once the information in the blockchain is verified and added to the block, it will be stored and cannot be modified.
The probability of the blockchain is mainly a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.

Blockchain can be mainly divided into transactions, blocks, and chains.
Blocks are used to record transactions and state results that occurred over a period of time.
The chain is composed of blocks connected in series in the order of occurrence, and is a log record of the entire state change.
As a currently respected technology, blockchain technology is mainly characterized by distributed bookkeeping, full process records, non-tamperable modification and encryption technology. In the blockchain, the same bookkeeping transaction rules must be followed, and each transaction needs to be approved by other users in the network based on the cryptographic algorithm. Core distributed decentralization.
The blockchain cannot be tampered with and encryption security adopts a single hash algorithm. The irreversibility of time makes it easy to trace any attempt to intrude and tamper with the data information in the blockchain, which improves the corresponding security.

Guess you like

Origin blog.csdn.net/Last_Impression/article/details/129206132