Skip to content

Architecture Recovery

jadmalek edited this page Mar 23, 2018 · 19 revisions

The following includes the architecture recovered from the Wikipedia android application. Upon analysis of the code, the team decided that the app/src/main/org/wikipedia subdirectory was critical, would be the basis for architecture recovery, and will be the source for changes made throughout the project.

Class Diagrams

Release 1

Release 2

Share Reading List
Set Up and Enhancement of Trip Planner

Component Diagrams

Class Diagrams

The class diagrams for the wikipedia/main, wikipedia/activity/baseactivity, wikipedia/feed/onthisday, wikipedia/settings/settingspreferenceloader (as well as the basepreferenceloader), wikipedia/notifications, wikipedia/travel (specifically, subdirectories contained within will be depicted below) and wikipedia/readinglist (particular subdirectories within were modified) subdirectories were constructed as the classes therein have been altered for feature implementations.

main

mainClassDiagram

baseactivity

baseActivityDiagram

Release 1 Feature Main Architecture Additions

Changes were also made to the main and activity (namely the baseactivity.class java) packages shown above.

onthisday

OnThisDayClassDiagram

settingspreferenceloader

SettingsPreferenceLoader

notifications

notificationsClassDiagram

Release 2 Feature Main Architecture Additions

SHARE READING LIST FEATURE

Reading list database classes relevant to sharing implementation

Reading list database classes relevant to sharing implementation

Single reading list changes

Single reading list changes

Reading lists and reading list item view alterations

Reading lists and reading list item view alterations

SET UP AND ENHANCEMENT OF THE TRIP PLANNER FEATURE

Trip database

Trip database

Trip class and fragment

Trip class and fragment

Date, destination and landmark picker implementations

Date, destination and landmark picker implementations

Trip integration controller and its associations with trip

Trip integration controller and its associations with trip

Component Diagrams

The diagram below depicts a holistic view of the main components within the aforementioned wikipedia subdirectory deemed important to illustrate. As this is an overview, the changes made for feature implementations will mainly be depicted in the class diagrams above.

Overall View of Main Components

OverallComponentDiagram

Of said main components, the individual component diagrams for the notifications, feed/onthisday, settings, bridge, concurrency, media, and util components were drawn and displayed below

notifications Component

NotificationsComponentDiagram

onthisday Component

ComponentDiagram

settings Component

SettingsComponentDiagram

bridge and concurrency Components

BridgeAndConcurrencyComponentDiagram

media Component

MediaComponentDiagram

util Component

UtilComponentDiagram

Clone this wiki locally