[Banshee-List] Looking for some information about the Banshee architecture



Hello everybody,

As was explained a little bit in the previous email (by Frank Blauw), we are interested in the design patterns that are used by Banshee and the reasons behind choosing those patterns. 'gnomeuser' already has been so kind to help us out with these questions but suggested to also send them to the mailing list because there would be people that could give a more fulfilling answer. So please take a look at the questions below, it would be a big help.

  By looking at some of the documentation and related posts, such as this post by Aaron Bockover, it becomes clear that Banshee is more than just a program and is implemented to be a platform which can be used by developers. Were there any concrete choices made on structuring Banshee according to a specific known architectural pattern, e.g. the post by Aaron shows a figure with separated multiple layers, or is its structure something that just “randomly” developed overtime? It seems to us that most of the code is very thought out and object oriented which suggests that development is very structured and that choices for patterns are deliberately made. The extensions seem particularly challenging and most system use one of the known patterns for such constructions. Could you name some of the patterns that were picked or simply exist in Banshee?

  If any patterns were picked then it’s usually for a specific reason or goal. What are the quality attributes that are kept in mind when changing/upgrading Banshee’s features? For example, is it more important that Banshee is adaptable through plugins/extensions than the code's maintainability or is performance more important than the accessibility of the software on other systems? What would you say are currently the three most important quality attributes (the key drivers)  for Banshee?

  Since Banshee is open source software it’s ultimately up to developers to fulfill Banshee’s course for the future but there are also other parties involved such as Novell and the Gnome foundation. We were wondering if such contributors determine most of Banshee’s course? Are Aaron Bockover, Alexander Kojevnikov, Bertrand Lorentz, and Gabriel Burt the driving force behind the overall course of Banshee? Or is this all simply determined and agreed upon by its community?

  The purpose of the information as provided by you, and that what we extract from the documentation online, is to analyze the used patterns related to the key drivers of Banshee. We want to find out if the patterns used comply with those key drivers or if they actually hinder the realization of those attributes. All of which has to be documented and evaluated in a report for our Software Patterns/Software Architecture course. Thank you again for helping us out.

Looking forward to your response,

Sijmon Heitmeijer and the rest of the group

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]