Anda di halaman 1dari 14

Software Architectures SS ZG653

04 Feb, 2012 You can mail your comments to prabhu@durasoftindia.com

Lets architect a simple application


You are going to create an enterprise web application that deals with reports. The reporting application goes to a data warehouse, fetches data and reports it. The important points in the requirements for this application are given below:

There are atleast 100 types of reports in the application. Each report presents unique set of information. You will have the main page with a link to all 100 reports. Clicking on each report will present you with a filtering form to enter the search parameters. These values are used to fetch the data. Once the form is filled in and submitted, you get a summarized grid showing all the data

Lets architect a simple application


You have an option to view different kind of charts for the data displayed. The data is fetched from an Oracle data warehouse. Your application connects to the set of web services provided by the warehouse to fetch data. The data returned to you is in xml format The xml data that the warehouse gives you will be in 3 dimensional format. You may have to convert it to the 2D format before processing it. The filtering form presented for every report has pre-populated controls. For example a list box containing list of all companies fetched from the data warehouse. In future you see more reports getting added to the application.

Questions?
For the set of requirements above provide an architectural solution clearly highlighting the layers and the patterns used. Draw simple diagrams wherever you find its appropriate. Please provide hints or bulleted points instead of verbose answers. (10) Assuming this project to be a fixed price project that has to be implemented completely offshore in 6 months time, provide your comments on the number of resources you may require and the technologies and tools that you think will be best suited for this project. (4) As an agile software architect how will you go about implementing the project along with the team. List down the approaches and processes you would follow. (4)

Architectural diagram

Layers diagram

Iteration plan
I will first create a feature list Will prioritize them based on the complexities and needs Will come up with an iteration or sprint chart. Each iteration will span for two weeks. Sample feature list Grouping and classification of reports UI designing reports selection forms Designing report view page Connecting to web services Parsing 3D XML data XML data conversion

Iteration plan
Initial setup (1 week) Iteration 1 (2 weeks) Parsing 3D XML data Iteration 2 (2 weeks) Converting 3D XML to 2D XML Generic logic for conversion in all reports Iteration 3 (2 weeks) Develop 25 reports Create selection forms for 25 reports Display data in grids Iteration 4()

Lets architect another application


As an Agile software architect, you are required to develop a live cricket score application. This application will be implemented over the web and also as a standalone widget that users can download to their machine. The users can view the scores of a live match either by going to the website or by using the widget on their desktop. Here are some of the points to consider in this application.

Lets architect another application


The live-scores of the match will be fed into the application manually. The match-scores/summary of previous matches can be viewed in the web. The application provides facility to send SMS updates every 5 overs, to the subscribed users. For this purpose they have tied up with a leading SMS provider. You have to access their web services and pass the information to be SMSed. The standalone widget will be restricted to Windows users only.

Architectural diagram

Layers diagram

Summary
Tools and technologies Resources (team)

Architectural diagrams Layers


Product backlog (features list) Sprint or iteration plan

References
Microsoft Application Architecture Guide, II edition http://www.martinfowler.com