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

  Define behavior of the class

A(n) _____ of a class is where the behavior of the class is defined. Requirements come from the context of the system you are trying to model. This context includes which of the following things

  Explain the importance of software testing

Evaluate the issues and challenges associated with software engineering.  Compare and contrast software development process models.

  Compare and evaluate proprietary project management software

You need to select a tool for project planning and scheduling from various tools available in the market. What factors would you consider in selecting the most appropriate software tool for your company?

  Explain the purpose or aim of the incident response team

Explain the purpose or aim of the incident response team. As a part of your explanation, please include what act(s) may cause such an incident.

  Qiestion about update statement

A table namedPoints varchar(81) has values stored in a column named Point. There are 2-columns in the Points table, X and Y.

  Diversity of approaches to software construction

Analyze each reason listed above as a reason for a diversity of approaches to software construction and modeling, and give your opinion on whether or not each reason is valid.

  Why is the role of the systems analyst

Why is the role of the systems analyst so critical in a systems development project? Explain what skills and knowledge are required to be effective.

  Develop a variety of graphical presentations

Develop a variety of graphical presentations. Develop and give presentations to clients and other interorganizational departments

  How many phases do the ones you found on the web contain

Prepare a document (minimum of one page) answering the following questions: Do all these life cycles follow the same general path? How many phases do the ones you found on the Web contain

  Software tools for managing and analyzing qualitative data

Craft a 3- page paper and 5 references in which you do the following: Compare and contrast software tools for managing and analyzing qualitative data

  Write down critical success factors for project manager

Write down the critical success factors for project manager? what skills must managers look for when hiring someone who would be successful in this job?

  Make changes to the format class

Be sure to notice that the supplied program already handles compound statements, which are delimited by braces, so the code that you add should not treat compound statements as a special case.

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