Ask Software Engineering Expert

Software Architecture Project-

The semester project for Software Architecture requires researching a large, complex open source software system. You will need to understand and document the architecture of the system, present the architecture to the class, and compare the architecture to other projects in the same family.  

Your project will take place in 3 milestones, as follows:

The systems selected meets the criteria listed below:

  • Open source system that can be compiled and run on Linux, Windows or Macintosh
  • At least 50k lines of code (there are tools and databases to help you count)
  • Systems in the same family must have similar feature sets
  • The system must have a reasonably complex feature set
  • API libraries, application frameworks, simple frontends, etc are not acceptable

The following is a table of system families with example open-source systems that are part of the family. You have been assigned one of these families that have a set of large open source software systems to analyze.

Product Family  

Examples of Open Source Software Systems 

Web Sever 

Apache, nginx 

Productivity  

Apache OpenOffice, KOffice or libreOffice 

Version Control  

Git, mercurial, subversion  

Web Browser  

Firefox, chrome 

IDE    

Eclipse, netbeans

Visual editors  

 Vim, emacs 

Email  

Thunderbird, evolution  

Pixel Drawing   

Gimp, cinepaint 

Music player  

Songbird, amarok, banshee 

Instant messenger  

Pidgin, kopete 

Personal Finance 

Gnucash, kmymoney 

Source code editors  

Kate, gedit, jedit 

Database  

Mysql, postgresql 

Document viewer  

Evince, ocular 

Graph editor   

Graphviz, yEd 

MILESTONE 1 - BUILDING

You must complete all parts of the Milestone. Building and testing the product is no longer optional.

Each team should submit a single report discussing how to download, build and install each of the systems that your team is covering. 

Provide an introductory page that names your team, states the product family that you are working on, and names the product and the person on the team that is assigned to each product. 

For each product, provide between one and two pages of instructions on how to get started with the product that you have been assigned. Instruct the reader on how to download, build, test and run the product. Your discussion must include:

  • Platform requirements (Operating system, including any restrictions on versions; JDKs and versions; compilers and versions; any tools required).
  • Steps to download the product
  • Steps to build the product
  • Steps to test the product
  • Steps to run the product

You should submit screen shots of the installed product running on your target system. The grade for each person will be based upon the quality of the instructions and the ability for the average person to follow them.

MILESTONE 2 - SYSTEM ARCHITECTURE & ARCHITECTURE COMPARISON REPORT

The System Architecture Report and Architecture Comparison Report must be submitted as two separate documents.

Part 1: SYSTEM ARCHITECTURE REPORT

Each team should submit a report on the architecture of their systems.

Provide an introductory section of at most one page that presents the system family. Describe the problem domain that the system family is solving. Discuss common features across the systems your team is investigating, and differences between the systems (features, platforms, languages, size, etc.). 

Each system should then be presented in 8-10 pages, with the sections listed below. If a diagram is not required for a section, you can still use one if you think that it will help you to explain something or make a point. If one diagram is required, but you can provide your explanation more clearly with an additional diagram or table, feel free to provide it.

  • Overview. Explain the system and its main features. Explain how the code is organized and how that organization relates to the features. Describe any architectural styles that you observed.
  • Module View. Provide at least one diagram of at least one module view of the system. Each view should contain at least five modules; if you provide a partial view and leave out any modules, make sure to explain what you have left out and why. Describe each module in the view, its role in the system, how it is realized in the code, and how it relates to other modules. Feel free to use additional tables, lists, or diagrams if it helps you to explain the view.
  • C&C View. Provide at least one diagram of at least one C&C view of the system. Each view should contain at least five components; if you provide a partial view, be sure to explain what you have left out. You must explain the relationship between the C&C view and the module view, and you must clearly explain each connector in the C&C view. Labeling the connectors and providing a legend and some tabular description of the connector will suffice. What is the control and data flow among parts? Provide at least two sequence diagrams (or state diagrams) and description that explains and illustrates the control or data flow of common scenarios.
  • Connectors. List each connector in the C&C view and describe how it is implemented. This can be descriptions of classes and method calls, library APIs, operating system services, etc.
  • Allocation View. Provide a diagram of an allocation view of your system. Link the allocation view to the module view and the C&C view. Explain the role of the components and label and explain all connections. Include interactions with the user of the system.
  • Conclusion. Give an evaluation of the quality of the architecture and implementation.
  • References. Use IEEE Citation Reference Guide for proper formatting.

Part 2. ARCHITECTURE COMPARISON REPORT

Each team should submit a report comparing your system's implementation of one low level feature, and of two Quality Attributes (selected from among the attributes discussed in Part Two of the text: Availability, Interoperability, Modifiability, Performance, Security, Testability, Usability, etc.).

Provide an introductory section of at most one page that briefly presents the systems and explains which feature and which Quality Aspects you will be analyzing. 

For the feature and each Quality Aspects, provide a 3-4 page report with the following sections (note this is 9-12 pages total):

  • Overview: Explain the feature/quality aspect that you will be discussing and how it differs across the systems.
  • Diagram and Description: Draw one diagram for each system that illustrates what you are discussing. Show how it is implemented and how it relates to the architecture. Be sure to describe each diagram separately. You must use the same type of diagram for all systems in this subsection.
  • Comparison.: Compare the systems. Describe similarities and differences, and explain the tradeoffs made in each approach. If you can, describe how the overall architecture of the system influenced the subject of each subsection. State which of the systems is the best according to the material in this subsection, and justify your argument.
  • Conclusion: Provide a conclusion of at least a one page summarizing the differences among the systems that you presented in the paper. State which system's implementation is the best according to the three analyses that you provided and justify your argument?
  • References: Use IEEE Citation Reference Guide for proper formatting.

MILESTONE 3 - ARCHITECTURE PRESENTATION

Each team must prepare and present a 20-25 minute talk about your project. The talks will be scheduled for presentation during the last two meetings of the class, but will be due prior to the first presentation.

Your presentation should include:

  • An introduction to the family of systems you have analyzed: domain the systems are addressing, interesting facts about the product family, user communities, commercial competitors, etc.
  • An overview of the architecture of each system that highlights the similarities and differences between them. At least one diagram should be provided for each of the systems.
  • A presentation of the feature comparison from the Milestone 3 paper.
  • A presentation of one of the Quality Aspect comparisons from the Milestone 3 paper.
  • Conclusion.
  • References. Use IEEE Citation Reference Guide for proper formatting.

You will be graded on correctness of the information in the presentation, on the clarity of your presentation skills, and on your ability to answer questions from the audience.

Software Engineering, Computer Science

  • Category:- Software Engineering
  • Reference No.:- M91953975

Have any Question?


Related Questions in Software Engineering

In this assignment you will answer the following questions

In this assignment, you will answer the following questions related to Android platform and Android security design. 1. Describe Android architecture in detail by explaining the four conceptual layers. 2. Describe Androi ...

The research paper for this course is about some of the

The research paper for this course is about some of the best sources of digital evidence for child abuse and exploitation, domestic violence, and gambling according to the National Institute of Justice. Research commerci ...

Research projectin the course we have covered various

RESEARCH PROJECT In the course, we have covered various security and privacy issues that arise in the cyberspace field. We have learned to identify these risks and have discussed the current approaches and developments f ...

Overviewyou are required to modify and logically extend

Overview You are required to modify and logically extend the functionality of a provided code base to implement a game. This requires you to modify the code base as well as create documentation and implement various user ...

Address the following integrating biblical perspectives

Address the following, integrating biblical perspectives where appropriate: Define a hate crime and describe how white supremacist groups use the Internet to spread their message of hate. Explain why hate crime legislati ...

In this assignment you will answer the following review

In this assignment, you will answer the following review questions from the reading materials of the module/week. 1. "What are the key components of a typical P2P application? Describe their functions." 2. "What are the ...

Write reply to this article with references with apa

Write reply to this article with references with APA bibliography. Hate Crimes Over the past couple of years, hate crimes have been on the rise in America's largest cities. Studies show that there were sharp spikes in th ...

Reply to this article with apa referencehate crimes

Reply to this article with APA reference. Hate crimes According to Merriam-Webster, hate crime is any of various crimes (such as assault or defacement of property) when motivated by hostility to the victim as a member of ...

Proposaldesign of an efficient gps tracking system tag for

Proposal Design of an efficient GPS Tracking System (tag) for monitoring small species IMPLEMENTING EMBEDDED SYSTEMS USING SYSML Task Using PapyrusSysML Software (Downloadable online - Evaluation Copy- Latest Version) Mo ...

Write review on this article with apa formatgovernment

Write review on this article with APA format. Government surveillance is a major issue in the United States and globally. Surveillance refers to any collection and processing of personal data, whether, identifiable or no ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As