-
Notifications
You must be signed in to change notification settings - Fork 0
BA thesis checklist
Gábor Pintér edited this page Apr 13, 2018
·
11 revisions
- 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
- Packages
- Distribution and installation
- Supported interfaces
- Input and output
- Supported file formats
- REST Security
- REST API Security the right way
- API Keys
- DB: Horizontal vs. Vertical scaling (NoSQL vs SQL)
- Implementation and test environment
- Test plan, test suits
- Usability evolution
- Software architecture
- 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
- User authentication using JWT
-
Web security class
- CSRF
- Cryptography (encryption and hashing)
-
Web security class
- Database management (CRUD)
-
Databases class
- Schema design
- ER model
- Normalization
- Transactions
- Keys, foreign keys, cascading
- Implementation (SQL), migrations
- Web security class (SQL injection, XSS)
-
Databases class
- 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
- Java
-
Development environments class
- App designer
-
Interface design class
- User stories
-
Interface design class
- 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