Software Architecture Mid Term
Software Architecture
MIDTERM EXAM
(Email your solution by Nov. 1, Noon. No late submission will be accepted.)
NAME: Moon Joong Hee
Requirement Specification
- Design an Internet-based software system for Best Airline Corporation (BAC). The system must allow users and staffs of BAC to;
(1) search information for flight schedule, flight operation such as gate number, actual departure time, and actual arrival time,
(2) manage online reservations,
(3) manage flight ticket purchasing such as making payments in various form, and
(4) handle check-in operations such as luggage handling, issuing boarding tickets, adding frequent-flight
mileage numbers, etc.
- The system is used in the headquarter office in
- The system is to interoperate with the FAA’s Central Flight Management System (CFMS) for sharing flight information of different airlines. Some database content of each airline company is replicated into the database of CFMS. Hence, consistency must be maintained between the database of BAC and that of CFMS.
- Since there can be a large number of concurrent users for the system, performance is import!ant. That is, the system should provide a fast turnaround time and high throughput rate.
- Due to the concurrent accesses, there can be a potential problem with shared resource and information. For example, two users could try to purchase the only remain flight ticket for a flight. In this case, there must not be any problem with mutual exclusion issue.
- BAC offers memberships for frequent passenger. When there are special promotions and discounts, BAC sends emails to only those members.
- In addition, you may make any reasonable assumption for the requirement specification. But, you need to state your assumption clearly before writing your solution.
1. Identify at least two Architectural Perspectives. Briefly describe each perspective. (10 points)
Security perspective
5 or more subsidiaries share data so, consistency issue is very important. If this is not satisfied, data may be lost or altered into invalid value which can cause serious problem. For example, at 2007. 11.1., a Franch BAC subsidiary may search an arrived time of ‘James’ who is reserved to depart from
Performance perspective
When 5 or more subsidiaries register and search information of thousands of users, the amount of transaction is very much. So, DBMS(Data base management system) optimizes the schema of a database into efficient environment and reduces the cost time as possible as little.
2. Select candidate architectural style(s) for the system. Justify your selection. (20 points)
Client/Server style
Strong point:
- The maintenance of consistency is easy because data are collected into one server side. In other words, there is a strong point in a security perspective.
- The number of thin clients can be extended which causes little cost. So, there is a strong point in a location perspective, too.
- Data are placed in one place and so, the maintenance is easy. In other words, a unique interface can be provided for a maintenance working.
Weak point:
- The transaction speed can decrease in much transaction case but this can be avoided by producing proxy servers.
- The transaction speed depends on physical lines. So, frequent used data or operation should be taken in client sides.
3. Apply the selected styles to derive the architecture. Also, reflect the identified architectural perspectives in designing the architecture. Describe the architecture in five views; functional, information, concurrency, development, and deployment. (50 points)
- functional view
- information view
- concurrency view
Consistency management
Proxy server management
Transaction management
- development view
Client
Sever
- deployment view
- Operational view
4. Justify how the perspectives have been reflected in the architecture. (20 points)
Security perspective
In concurrency view and deployment view, racial condition can be identified by the transaction management system.
Performance perspective
- In functional view and deployment view, proxy servers are placed which reduce time costs.
- In information view, the 3rd normalization is adapted into a ERD model which can reduce memory usage and transaction burdens.
-
Accessibility, Userbility perspective
The architecture style is a client-server thing. So, users don’t have to know the inside of server side. They can use all operations by a thin client side.
Evolution perspective
- In a development view, there is a layered architecture. So, it doesn’t depend on hardware environment.
- Each function is implemented as package which can be used like plug-in way. In other words, each reusable package improves evolution perspective.
- The client and server side are separated. So, the extensibility issue of a client side doesn’t affect the server side which improves the evolution perspective.
Location perspective, Internationalization perspective
Clients and servers can be dispersed physically but it is not big issue. A consistency is maintained by a transaction management system and a transaction speed is not reduced much by a proxy server and cache operation of a client side.
Regulation perspective
Users can read a specific language at a cline screen which is provided considering each country.
Development resource perspective
The client of the system is based on WIN32 platform and the server of that is based on EJB platform and ORACLE DBMS. So, platform issues have not need to be considered.
Accessibility perspective
The client screen needs each user id and password. In other words, all users have to be allowed by joining process.