Skip to content

BA thesis checklist

Gábor Pintér edited this page Apr 13, 2018 · 11 revisions

Report

  • Project definition (2-3 pages)
    • Motivation: Why this topic is important nowadays
    • Project objectives/goals: What is the expected result
    • Project tasks: What needs to be done
    • Scope of the project and limitations: What is not an objective or a task
    • Brief description of the chapters that follow - one paragraph each
    • Danny: Problem formulation in a form of a set of questions
    • Why REST API is necessary (vs. SOAP?)
    • How it would be useful
  • State of the art and trends (4-5 pages)
    • Relevant knowledge gathered from studied modules and external sources
    • Compare alternative technologies, environments or languages
      • AWS
      • Firebase
      • Google Cloud
      • Parse
      • Mongo Atlas
      • Distributed software development
  • Requirements specification and solution design (10-15 pages)
    • General purpose backend solutions getting popular
    • Reinvent the wheel, solving the same problems over and over again
    • Maybe useful for 1) Prototyping and 2) Web agencies lilke Shape
    • Analysis: Who are the users and which are the intended user experiences
    • Specifications - formal functional and non-functional requirements
    • Design of the solution
      • System architecture
      • Data model
      • Visual interface
      • Algorithms and other components
      • Use graphics or visual presentation when possible
  • Solution development and implementation (10-15 pages)
    • Software architecture
    • Implementation and test environment
      • Test plan, test suits
      • Usability evolution
  • Conclusions (1 page)
    • Brief summary: What has been done and what are the benefits
    • Recommendation: future extensions and upgrades
  • Appendices
    • The Clean Coder
    • RESTful Web APIs
    • Reference of information sources, as many as possible (template)
    • Installation guide, if appropiate
    • User manual, if appropiate

Topics

  • User authentication using JWT
    • Web security class
      • CSRF
      • Cryptography (encryption and hashing)
  • Database management (CRUD)
    • Databases class
      • Schema design
      • ER model
      • Normalization
      • Transactions
      • Keys, foreign keys, cascading
      • Implementation (SQL), migrations
    • Web security class (SQL injection, XSS)
  • Architecture
    • Development environments class
      • Strongly typed, high-performance programming language (Java)
      • IDEs, Git
      • Apply frameworks for developing applications in a web context (Dropwizard)
      • Data exchange (DAL/DAO), seeds
      • Programming paradigms and practices
        • OOP, RX
        • MVC
        • REST
    • Mobile development (Android)
      • Java
        • Data types, data collections, classes, inheritance
  • App designer
    • Interface design class
      • User stories
  • Formalities
    • Include a clear statement in every page - make it right
    • Include a reference in every second page - make it academic
    • Include a why (that's why, the reason for this) in every page - make it problem focused
    • Include a book reference in every 6th second page - make it academic
    • Mention REST/Web Services/BaaS in every second page - make it focused
    • Each sub chapter should refer back to the previous sub chapter - make it structured
Clone this wiki locally