Location>code7788 >text

Some Reflections on Architect Preparation (III)

Popularity:869 ℃/2024-09-19 11:51:09

preamble

Most of the questions on this test, I feel, are things we know, but all of them wear vests, and in vests we don't recognize them well, and if it's one or two people in vests, it's okay to extrapolate, and if 1,000 people are in vests, your probability of recognizing them drops off precipitously.
Some of the content of the question is that can not be identified, can not be memorized, because it is also not a cause and effect, completely out of the question people pat on the head to think, so this kind of question we can not judge by knowledge, because with knowledge to judge, you will find that the four options are correct, then we can use word by word to read the question method, that is, one word by one word to read, and then the answer to the respective put in to see which one to read up! smoother.

  • Take for example this question:
    Among the information systems planning methods, the critical success factor method identifies the ( ) of system development by identifying critical success factors and identifying the critical set of information needed to achieve the goals. Critical success factors are derived from the organization's goals and are identified through the organization's goal decomposition and critical success factor identification, ( ) identification, all the way through to the generation of a data dictionary.
    A. system boundaries B. functional metrics C. prioritization D. performance metrics
    Reading verbatim, you will find that C and D fit into two blanks.

main question

embedded system

It's Android, and the installation system is a computing model.

  • hybrid system
    Embedded Systems subcategory
    It's Android with the sensor SDK added, it's Android in a car

control mode

  • Computational Mode Control
    It's the cpu allocation model that utilizes resources wisely, with the downside of one paralyzing all.
  • synchronous asynchronous control
    It is synchronous asynchronous, the disadvantage is that there will be a delay, the advantage is that a delay does not affect others. The market does not have this mode of the big system, this mode is generally our development of the system, such as trading, pipeline and so on.

tcp port number role

This is relatively cold, is the application layer process addressing with, we write tcp code is to write the port number, but that belongs to the tcp protocol part of the tcp protocol with the port number to establish a connection, if a single question about the role of the port number, it is the application layer process addressing with.

DHCP

DHCP (Dynamic Host Configuration Protocol) is a protocol that automatically assigns an IP to a computer, a computer plugged into an Internet connection sends out this protocol, and the router receives it and sends back a message giving the computer an ip, and then we use the ipconfig command to see the IP address.

Outline and detailed design

  • Outline Design: Translates software requirements into data structures and software system architecture.
  • Detailed Design:Process design to get the software detailed data structures and algorithms by refining the structure.
    Note 1: The data structure here is not a data structure as we perceive it, he is referring to a flowchart, which we still have to write when we write an outline design, even if we omit it again.
    Note 2: Algorithms for detailed design, the pseudo-code we write, addition, subtraction, multiplication, division, and even table lookups are algorithms here.

software structured design

That is, web development, good point is called web application development, or advanced point ERP, MIS, CRM.
The steps are: departmental structure design, interface design, data design and process design.
This actually refers specifically to the design of java background interface project in the development of java + vue front and back platform separation. Specifically corresponding to the real operation is as follows:
Departmental structural design: framework development.
Interface design: controller design.
Data design: database design.
Process design: code development.

Software Reverse Engineering

Four levels of abstraction for exporting information for software reverse engineering.
A. Implementation level: code
B. Structural level: functions
C. Functional level: class
D. Domain level: package package/namespace

Test Methods

Strength test: It is to test the extreme operation of the software system under the condition of particularly low system resources.
Load testing:Used to test whether a program can be afforded in an overloaded environment. Load testing is used to determine the performance of the system under various workloads, with the goal of testing the changes in the system's performance indicators when the load is gradually increased.
Stress testing:A test to obtain the maximum level of service that a system can provide by identifying bottlenecks or points of performance that the system cannot receive. Load testing and stress testing can be combined and are collectively referred to as load stress testing.
Capacity Testing:Concurrency testing, also known as capacity testing, is mainly used to test the maximum number of online users that the system can handle at the same time.

  • Strength Test:Test performance, measure if and when the system is stuck.
  • Load test: measure reliability, measure the system hangs or not, what situation hangs, understood as the number of people to measure.
  • Stress test: measure the reliability, measure the system hangs, what is the case hang, understood as the number of calls with the interface to measure.
  • Capacity Test:Measure the number of concurrency.

Design methodology

ABSD/ABSDM - Architecture Based Software Design, this should be mandatory and needs to be memorized.
The steps are as follows:
[Requirements=> Design=> Documentation=> Review=> Implementation=> Evolution]
This design pattern is still a good one to learn, and I've written about him before.
ABSD/ABSDM

Software methodology is

Software methodology is a discipline that focuses on software development methods.
Self-directed downward development approach: is to first define, program, and test the problem in the highest level. Define, design, program, and test, while leaving the unsolved problem in it as a subtask to be solved in the next level.
Bottom-up development method: It is to start from specific devices, logic components or similar systems according to the system functional requirements, and constitute the required system by interconnecting, modifying and expanding them.
Formal Development Methods: are software development methods based on rigorous mathematics.
Non-formal methods (delegate - brainstorming): do not have rigor as their main focus, and are usually embodied in the form of various development models. From the point of view of the scope of adaptation, it can be divided into holistic and localized methods. Applicable to the whole process of software development method is called holistic approach; applicable to the development process of a specific phase of the software method is called localized approach.

mandatory death question

Regarding modularized design, ( ) is wrong.
A. Modules are data structures and program code that perform a particular task
B. Interfaces and functional definitions of modules are internal characteristics of their modules themselves
C. Each module accomplishes a specific sub-function that is relatively independent and has the simplest relationship with other modules
D. An important principle of module design is high cohesion and low coupling

First of all, it is important to understand that a module here is [exclusively] a sub-project under java's project, which is new->module in IDEA.
The answer to this question is B, but all 4 answers are correct, and they are the kind that are exactly right.
Parsing:

A module's interface is the part of the module that interacts with other modules, so the definition of the interface is not only internal to the module itself, but also relevant to external modules. option B is wrong.

It's pure and simple wordplay, and the way it's parsed, I could have parsed all 4 of the above answers wrong as well.
That means that if the question is asked again this year and parsed differently, the answer could be A,C,D.
For example, an important principle of module design is not just high cohesion and low coupling, but also the principle of separation of duties. So D is wrong, and that explains it.
So questions like this are just going to have to be dropped, sure-fire questions.

Component assembly refers to the interconnection of library components with appropriate modifications to form new target software. () is not a component assembly technique.
A. Function-based component assembly techniques
B. Data-based component assembly techniques
C. Realization-based component assembly techniques
D. Object-oriented component assembly techniques

Parsing:

Component assembly techniques can be broadly categorized into function-based assembly techniques, data-based assembly techniques and object-oriented assembly techniques.
Answer: C.

Component assembly is purely and simply a concept they conjured up out of thin air, this kind of question is usually only once, because next year they will come up with a new concept to test you, memorization is useless, first of all, will not be tested again, and secondly, there is no such definition in reality.


Note: This post is original, please contact the author for authorization and attribution for any form of reproduction!



If you think this article is still good, please click [Recommend] below, thank you very much!

/kiba/p/18409540