Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner...
Transcript of Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner...
![Page 1: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/1.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/2.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/3.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/4.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/5.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/6.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/7.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/8.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/9.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/10.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/11.jpg)
Sample page: FutureYou
11
![Page 12: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/12.jpg)
Results
12
![Page 13: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/13.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/14.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/15.jpg)
Results
15
![Page 16: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/16.jpg)
Comparison
16
![Page 17: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/17.jpg)
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)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/18.jpg)
Thank you!
18
![Page 19: Software Architectures For Techlauncher · Student: Zhanhui Linu6022913 Supervisor: Henry Gardner Software Architectures For Techlauncher COMP 4560 (12 units)](https://reader033.fdocuments.in/reader033/viewer/2022051815/603e6ec6a9e35369c66da6fd/html5/thumbnails/19.jpg)
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