Explain the system and its main features

Assignment Help Software Engineering
Reference no: EM131197921

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.

Reference no: EM131197921

Questions Cloud

How much is the revenue relating to audits services : MAA705 - Corporate Auditing - Explain how the elements from the audit expectation-performance gap provided by Porter (1993) fit in the example of FIFA and what is the total number of members in the audit and risk committee?
After watching the defective airbag maker takata : After watching the Defective Airbag Maker Takata Faces Grilling on Capitol Hill video, imagine you are the CEO of Takata and you receive notice that there have been several defective airbags that resulted in death or severe personal injury.
Calculate the force r which the ramp exerts on the cart : determine the force P which each hand must exert on its cable in order to maintain an equilibrium po- sition. The mass of the person is 70 kg, the ramp angle () is 15°, and the angle /3 is 18°. In addition, calculate the force R which the ramp exe..
Pipelines to main pipelines by formation of holes : When branch pipelines are connected to main pipelines, sometimes Y-junctions or fitting branched pipelines to main pipelines by formation of holes in main pipelines are used. Which one is a better choice?
Explain the system and its main features : SWEN 5233 - Software Architecture Project. 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
What is the phenomenon of interest : What connection do you have to this topic, and why do you think it is important to explore this as a qualitative study? What possibilities could the results of this research have for social change?
About turnover because of the high costs of hiring : Many organizations express concern about turnover because of the high costs of hiring and training new employees. Although not all turnover is negative, organizations can benefit from being able to measure and quantify it. Give reasons for turnover c..
Determine the moment about o of the tension t : The mechanism of Prob. 2/16 is repeated here. For the conditions () = 40°, T = 150 N, and r = 200 mm, determine the moment about O of the tension T applied by cable AB to point A.
Suppose that company offers quantity discounts : Suppose that a company offers quantity discounts. If up to a 1000 units are purchased, the unit price is $10; if more than a thousand and up to 5000 units are purchased, the unit price is $9; and if more than 5000 units are purchased, the unit price ..

Reviews

Write a Review

Software Engineering Questions & Answers

  Construct an sbu analysis

Construct an SBU analysis: Based on the SBUs identified in the organizations annual report, analyze its current business portfolio and identify the investment opportunities for the firm and the business level strategy for each SBU consistent with ..

  Assume that you are a software engineer at a mid-sized

imagine that you are a software engineer at a mid-sized organization identify one key function or process that you have

  Illustrate the use cases for the dentist office system

Create a use case diagram that would illustrate the use cases for the following dentist office system: Whenever new patients are seen for the first time, they complete a patient information form that asks their name.

  Describe the various levels of software testing

Describe the various levels of Software testing and draw a diagram

  Perform the round-robin dispatch algorithm

Perform the Round-Robin dispatch algorithm, with time quantum equal to 300 milliseconds, on the job queue and calculate Average turn-around-time.

  The big state university course catalog reads as follows to

the big state university course catalog reads as follows to enroll in mis 260 which is an advanced course a student

  Benefits from using agile methodology

Identify two projects from prior work experience or educational experience that could have benefited from using Agile methodology.

  Write a paper analysing the delivering business value

Imagine that you are working at an organisation where the IT strategy is not integrated into that of the rest of the company. Sometimes this can stem from a misaligned perception of IT between departments. How would this affect your job and the in..

  Debugging facilities for art of programming

The BlueJ development environment offers simple but sufficient debugging facilities for those new to and learning the art of programming.

  Draw a good database schema for a club

What normal form is schema G in? Draw a good database schema for a club. (Remember that your design should satisfy stated query requirement!)

  Design pseudocode and flowchart for swallowing a pill

Write a solution in pseudocode for swallowing a pill. Translate solution into flowchart. Write about which tool they like best and why? Which tool do they think would be easiest to learn?

  Case study beyond the black box a case study in c to java

case study beyond the black box a case study in c to java conversion and product extensibility 1. explain why you

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd