资源描述
Question # 1: Explain the concept of cohesion and coupling in software architecture and design. Please explain it with examples and diagrams.
Cohesion
coupling
Concept
Cohesion from a functional point of view to measure the contact module, which describes the function within the module links.
The coupling is between the various modules of the software structure of mutually connected a measure, the coupling strength depends on the complexity of the interface between modules, into, or to access a module point and the data through the interface.
Classification
(1) accidental cohesion. (2) logical cohesion.(3) within the poly (4) within a process polyethylene (5) communication poly (6) in order within the poly (7) Function cohesive
(1) content coupled (2) common coupling (3) The external coupling (4) Control Coupling (5) marker coupling (6) Data coupling (7) A non-direct coupling
Question # 2: Which architecture style is best suited for distributed software system? Explain it with examples and diagrams
Contrast mainstream B / S and C / S system, that the B / S is more suitable for distributed systems
B/S
C/S
Data security
B / S structure of the software because of its data is stored centrally at the headquarters of the database server, the client does not save any business data and database connection information, without the need for any data synchronization, so these security problems will not exist naturally
C / S structure software must be installed in various multiple servers, and data synchronization between multiple servers, each data point, the data security affects the entire application data security, in terms of the large-scale application of the Group class C / S structure software's security is unacceptable.
B/S
C/S
Data consistency
The data is stored centrally, the client every business documents directly into the central database, there is no data consistency problems
Server must be synchronized daily after the headquarters before you can get the final data, the number of data can never be the same, can not be used in decision-making
Real-time data
B / S structure in real time to see all this happened business to facilitate rapid decision-making to avoid business losses.
C / S structure impossible anywhere to see the occurrence of the current business situation, see are after the data
Data traceability
B / S structure of the data is stored centrally, so the Corporation can be directly traced back to the original business documents branches at all levels, that is to see the results of traceable
The intermediate report data simply upload at headquarters can not be found in the various branches of the original documents
Service response timeliness
B / S structure of the software is different, its applications are focused on the headquarters server, each application node does not have any program, a local update all application updates can be done fast service response
C / S structure software, you need to install the program on each use node, so, even if very small program defects need long time redeployment, re-deployment, in order to ensure the consistency of each version of the program, you must suspend all businessto be updated
Network applications limit
B / S structure software can be applied to any network structure, particularly suitable for broadband can not reach the place
C / S structure software applies only to the LAN internal users or broadband users
Question # 3: How reusability in product line architecture is different from
ordinary reusability? Explain.
Answer:
The feature writing requirement in natural language is the analyst describes the function and quality of software in natural language and record the requirement of user. It is specific and detail, but long-winded.
The writing requirement in user case describe requirement of user by schema and table, such as relation schema, follow chart, data dictionary and so on. It is audio-visual, easy to exchange and the programmer easy to follow-up.
Question # 4: Discuss the difference between writing requirements in Natural
Language and Use-Cases.
Answer:
In software architecture, reusability means that use a construction member of one product to simplify the research and development of other product. It includes the reusability of code, design result and analysis result. The ordinary reusability means the modification of same thing, and uses it frequently.
Question # 5:ATM use case diagram
Peform procedure:
testCaseName:
ATM cashDeposit
resume:
The customer with the bank card (the bank or other line) extracted from ATM cash.
actors:
Client and ATM
Basic flow:
1. The customer insert bank card.
2. ATM read card number (including bank identification and account), verify the effectiveness of the card.
3. Customer input password.
4. ATM verify account and password.
5. ATM display including withdrawals, service function, the customer to choose to withdraw.
6. Input withdrawal: customer input number is 100 yuan multiples of withdrawal.
7. ATM inform bank host the account , password, withdrawals, the latest balance, and withdrawals success confirmation.
8. ATM print and spit out the slip.
9. ATM inventory and spit out the cash, record the withdraw success.
10. ATM ask customer that whether to continue the customer service.
11. Customers choose whether let ATM spit out bank card or return step 5.
[case end]
Question # 6:Middleware
Middleware is computer software that connects software components and applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed applications. It includes web servers, transaction monitors, and messaging-and-queueing softwar
hardware
hardware
middleware
application
application
展开阅读全文