Papers/Software architecture

Software Architecture Mid Term

tomato13 2007. 10. 29. 22:18

오늘까지인줄 알았는데 내일로 연장이 되었다. 숙제를 잘 한 것은 아니지만(아니, 서툰 영어에 초보적인 설계였지만..ㅡ.ㅡ;;) 개인적으로는 Architecture를 view와 perspective를 고려하면서 설계해보는 보람된 하루였다. view는 구현(implementation)을 위한 다각적인 설계도면이라고 보면 될 듯 하다. perspective는 사용자 요구사항적 측면에서 바라본 일종의 Requirement 혹은 TestCase라는 생각을 해 본다.

 

Graduate School Fall 2007
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 Seoul, and regional offices in four other countries. Locations of regional offices are evolvable in the future.


- 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 New York. By the way, when the New York BAC subsidiary registers information, the Franch can’t identify it at the same time, confirming correct information is difficult or impossible.

 

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 dont 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 doesnt 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 doesnt 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.

Software Architecture Mid Term_MoonJoongHee.doc
0.08MB