19
Student: Zhanhui Lin u6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Student: Zhanhui Lin u6022913Supervisor: Henry Gardner

Software ArchitecturesFor

Techlauncher

COMP 4560 (12 units)

Page 2: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

What is architecture?

“Architecture is both the processand the product of planning,designing, andconstructing building orany other structures.”-- Wikipedia

2

https://www.sketchup.com/sites/www.sketchup.com/files/molecule_image/Disc-Arch-S2-Visualize.png

Page 3: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

What is software architecture?• Software architecture refers to

the high-level structures of a software system.

• Structures are interleaved with each other

• Without a good software architecture, it will be impossible to implement all of the desired quality attributes.

3

https://www.tutorialspoint.com/software_architecture_design/images/software_architecture_types.jpg

Page 4: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Motivation

• Different software architectures have their own characteristics, and usually developers have little idea about how to use a software architecture in a proper way.

• My project aims to explore how to apply the concepts of design patterns and clean architecture in real-world software and how to help developers to recognize how to make their software architectures better.

4

Page 5: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Introduction to “Clean Architecture”

5

From an abstract level to general level from the inside to the outside• Entities include enterprise business

rules and depends on domain models. • Use cases are application business

rules; they depend on the inner layer of entities

• External interfaces: The most appropriate framework for the whole software

• Adapter layer: 1. Implements interfaces which are

supported by use cases 2. Control data flow 3. Interacting with applications

https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

Page 6: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Why “Clean Architecture” ?

• Independent of frameworks• Testable• Independent of database• Independent of UI• Independent of any external agency

6

Page 7: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Introduction to Django Framework• Django is a high-level web framework written in the

Python programming language which is effective and efficient on the development and maintenance of websites.

• Used in Techlauncher projects!• Advantages:

– Fast– Fully loaded– Secure– Scalable– Versatile

7

Page 8: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Two case studies

• FutureYou

• ANU Fifty50

8

Page 9: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Analysis Metholdology

• Concepts from “Clean Architecture” by Robert C Martin, a.k.a. Uncle Bob

• Properties analysed following ideas from the dissertation: “Architectural styles and the design of network-based software architectures ” byRoy Fielding

• Hypothetical scenarios evaluated to analyse properties such as “extensibility”

9

Page 10: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

FutureYou

• An online gamifying career planning and development platform, supported by ANU Student Experience & Career Development (SECD).

• A web-application

• Career development & Engage in career life early.

10

Page 11: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Sample page: FutureYou

11

Page 12: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Results

12

Page 13: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

ANU Fifty50

13

• ANU Fifty50 is a student-run online mentoring platform

• Aims to help mentees (junior students) to search, find, and pair with their mentors (senior students) automatically.

• Mentees can have tutorials with their mentorsand coaching content will be released every two weeks.

Page 14: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

A poster of ANU Fifty50

14

Page 15: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Results

15

Page 16: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Comparison

16

Page 17: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Conclusion & Future work

• Both FutureYou and ANU Fifty50 have their ownfeatures.

• More comprehensive hypothetical scenarios • More researches on software architecture

17

Page 18: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Thank you!

18

Page 19: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)

Reference1. Chung, T. (2017). How to Organize CLEAN ARCHITECTURE to Modular Patterns in 10 Minutes.

[online] Hacker Noon. Available at: https://hackernoon.com/applying-clean-architecture-on-web-application-with- modular-pattern-7b11f1b89011

2. Deutsch, D. (2018). A quick introduction to clean architecture. [online] freeCodeCamp.org News. Available at: https://medium.freecodecamp.org/a- quick-introduction-to-clean-architecture-990c014448d2

3. MDN Web Docs. (2019). Django introduction. [online] Available at: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Introduction

4. Fielding, R. (2000). Architectural styles and the design of network-based software architectures. Irvine: University of California, Irvine ©2000, p.162.

5. Hansen, S. (2017). Advantages and Disadvantages of Django. [online] Hacker Noon. Available at: https://hackernoon.com/advantages-and-disadvantages-of- django-499b1e20a2c5

6. Martin, R. (2018). Clean Architecture. Boston Columbus Indianapolis New York San Francisco Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo: Prentice Hall.

7. En.wikipedia.org. (2019). Architecture.8. Google Docs. (2018). Techlauncher_Poster.pdf. [online] Available at:

https://drive.google.com/file/d/0Bw7MUyh12MoYVDNnWVN6cXgzTkk/view

19