Final Year Project Book Notes

cocacolai
Mind Map by cocacolai, updated more than 1 year ago
cocacolai
Created by cocacolai over 5 years ago
60
3

Description

Notes from a document about planning projects more aimed at computing and information students

Resource summary

Final Year Project Book Notes
1 Research - "The good researcher is not one who knows the right answers but one who is struggling to find out what the right questions might be"
1.1 Originality
1.1.1 Can be original in the way you do things
1.1.2 Producing something that hasn't been done before
1.1.3 Ways in which you project can be original
1.1.3.1 Tools, techniques, procedures and methods
1.1.3.2 Exploring the unknown
1.1.3.3 Exploring the unanticipated
1.1.3.4 The use of data
1.2 Process/ Types
1.2.1 Sequential
1.2.1.1 1. Identify the broad area of study. 2. Select a research topic. 3. Decide on an approach. 4. Plan how you will perform the research. 5. Gather data and information. 6. Analyse and interpret these data. 7. Present the results and findings.
1.2.2 Generalised
1.2.2.1 Sequential but with decided topics
1.2.3 Circulatory
1.2.3.1 Continuous research
1.2.4 Evolutionary
1.2.4.1 Evolving research continously
1.3 Questions to try to answer
1.3.1 What am I looking for?
1.3.2 Why am I looking at it?
1.3.3 How shall I set about it?
1.3.4 Where shall I start looking?
1.4 Reasoning - the step you take during your research
1.4.1 Inductive reasoning
1.4.1.1 Drawing conclusions from what you observe, what you are studying and what you already know and believe
1.4.2 Deductive reasoning
1.4.2.1 Affected by your own personal understanding of the world and assumptions about what you're investigating
1.5 Solving the problem
1.5.1 Pappus Method
1.5.1.1 Assume the problem is fixed and work backwards
1.5.2 Terullus Method
1.5.2.1 Assume a solution is impossible and try to prove why
1.5.3 Random guesses
1.5.4 Analogy
1.5.4.1 Is the problem similar to anything else that already has a solution or explanation?
1.5.5 Inversion
1.5.5.1 Try to look at things from the opposite angle
1.5.6 Partition
1.5.6.1 Break the problem down
2 Choosing a Project
2.1 Tips
2.1.1 Choose something that interests you
2.1.2 Make sure it's not overly ambitious
2.1.3 Consider any personal development
2.1.4 Make sure it has an outcome of benefit
2.1.5 Make sure that you can obtain the resources you require
2.1.6 Look into past or suggested projects
2.1.7 Make sure to consider Legal Ethical and Social Issues
2.2 Project Definition Document
2.2.1 Current Research in the field
2.2.2 Identifying a gap in the market
2.2.3 Identify how your work fills the gaps
2.2.4 Identify risk and solutions
2.3 Choosing your supervisor - things to consider
2.3.1 How many students have they completed
2.3.2 What would be there role in it all
2.3.3 What do they specialise in
2.3.4 How accessible are they
3 Project Planning and Risk Management
3.1 SMART Targets
3.1.1 Specific
3.1.2 Measurable
3.1.3 Appropriate/ Accurate
3.1.4 Realistic
3.1.5 Time based
3.2 Planning
3.2.1 Work breakdown
3.2.1.1 Break down the main objectives from the project definition
3.2.1.2 One solution could be in each phase of the lifecycle task how you are going to complete each objective
3.2.2 Time estimation
3.2.3 Milestone identification
3.2.3.1 Significant things in the project
3.2.3.2 These could include progress checks
3.2.4 Scheduling
3.2.5 Re-planning
3.2.5.1 Rescheduling/ re-thinking things through before you start
3.2.5.1.1 Are you doing too much or do parts need more time?
3.2.6 Activity Sequencing
3.2.6.1 Gantt chart/ network diagram
3.2.7 Role wave planning
3.2.7.1 Not constructing a detailed plan but a skeleton that identifies key stages
3.2.7.2 Progress is made on the fly
3.3 Risk Management
3.3.1 Identifying risks
3.3.1.1 Identify any sources to your risk
3.3.1.2 Can be individual events
3.3.1.3 Types of occurence
3.3.1.3.1 Event Driven
3.3.1.3.2 Evolving
3.3.1.3.2.1 Has this been occurring since the project has been continued?
3.3.1.4 Types
3.3.1.4.1 Technical
3.3.1.4.2 Non-technical
3.3.2 Assess impact of risks
3.3.2.1 Risk impact = likelihood * consequence
3.3.2.2 Require a rating system
3.3.3 Alleviate critical risks
3.3.3.1 Avoid
3.3.3.1.1 Stop from happening at all
3.3.3.2 Deflect/Transfer
3.3.3.2.1 Passing the risk over
3.3.3.3 Contigency
3.3.3.3.1 Putting something in place to deal with the risk
3.3.4 Control Risks
3.3.4.1 Monitoring risks as they occur
3.3.4.2 Making sure you have the right resources to deal with risk
4 Literature Search and Reviews
4.1 Two main components
4.1.1 Search
4.1.1.1 Looking for, sorting, managing and digesting the available research
4.1.2 Review
4.1.2.1 Understanding, evaluation, conceptualisation and presentation of the materials
4.2 Purposes
4.2.1 Acts as an introduction
4.2.2 Justifies your project
4.2.3 Sets your project within context by discussing all research you've conducted
4.2.3.1 Process of Contextualisation
4.2.4 Explains how your project evolved
4.3 Process
4.3.1 1. Define search
4.3.1.1 2. Perform literature search
4.3.1.1.1 3. Evaluate Material
4.3.1.1.1.1 4.Write literature review
4.3.1.1.1.1.1 Go back to stage 1 and repeat process
4.3.1.2 Identify the boundaries of your search and the topics you are interested in
4.3.1.3 May want to create a conceptual model
4.3.1.3.1 Relevance Tree
4.3.1.3.2 Spider diagram
4.3.1.3.3 Research territory map
4.3.2 Not all independent tasks, may need to do some in parallel
4.4 Search
4.4.1 Systematic gathering of published information relating to a subject
4.5 Critical Evaluation - Points to consider
4.5.1 What kind of article is it?
4.5.2 What can you gain from it?
4.5.3 Is the author well recognised in their field/in their area?
4.5.4 Context
4.5.5 What is face and what is an opinion?
4.5.6 What do you feel about what has been written?
4.5.7 What references does it use?
4.5.8 Can you see the results from the article in your own work?
5 Conducting your project
5.1 Software Development
5.1.1 Requirements capture
5.1.1.1 Documents to produce
5.1.1.1.1 Requirements definition
5.1.1.1.2 Requirements specification
5.1.1.1.3 Functional Specification
5.1.1.1.4 Note: Not all of these would be required
5.1.2 Build Models
5.1.2.1 Build and Fix Model
5.1.2.1.1 Problem: After several fixes the software becomes difficult to maintain as it is poorly structured
5.1.2.1.2 Often doesn't match user requirements as hasn't gone through SDLC
5.1.2.2 Incremental Model
5.1.2.2.1 Delivering the system in a series of sub-systems over a period of time
5.1.2.2.2 Add more functionality after each release
5.1.2.2.3 Important to have the entire outline at the start, allows you to pick the easiest/most beneficial parts to do first
5.1.3 Prototyping
5.1.3.1 Easier for projects that are not well defined
5.1.3.2 Prototype developed to help pin-down the requirements
5.1.3.3 Prototyping provides an effective method for generating feedback about what is good and bad about an idea and is often only the really effective method for doing this
5.1.3.4 Experimental
5.1.3.4.1 Used when someone is unsure about the technical solution to a problem
5.1.3.4.2 Experimenting with materials/resources
5.1.3.5 Where next
5.1.3.5.1 You can throw it away, if it's not any use to your project
5.1.3.5.2 Continue to develop it as a base for the project
5.1.4 Extreme Programming
5.1.4.1 Encompasses the methods of agile
5.1.4.2 Encourages the user to be interactive with the development
5.1.5 Agile Methods
5.1.5.1 Releasing software in short bursts or releases
5.1.5.2 Quicker time scales
5.1.5.3 Smaller development teams
5.1.5.4 Face to face communication with users
5.1.5.5 Suitable for unclear requirements
5.1.6 Configuration Management
5.1.6.1 Linked to revision and version control
5.1.6.2 Four stages
5.1.6.2.1 Configuration Identifiaction
5.1.6.2.1.1 Change Control
5.1.6.2.1.1.1 Status accounting
5.1.6.2.1.1.1.1 Configuration audits
5.1.6.2.1.1.1.1.1 Making sure changes do as they say they will
5.1.6.2.1.1.1.2 Recording the configuration baselines
5.1.6.2.1.1.2 Managing and approving changes to the item and adjusting the baseline
5.1.6.2.1.2 Identifying the attributes that define the item you are hoping to control
5.1.7 Which approach to use?
5.1.7.1 Conventional types
5.1.7.1.1 Low risk projects
5.1.7.2 Incremental development
5.1.7.2.1 Clear requirements
5.1.7.3 Throw away prototyping
5.1.7.3.1 Unsure on requirements
5.1.8 Which programming language to use?
5.1.8.1 Typically dependent on what platform you want to use
5.1.8.2 Consider what you know and are already good at
5.2 Controlling Your Project
5.2.1 Getting started - Project Initiation
5.2.1.1 Assignment of tasks
5.2.1.2 Establish working practices, area and environment
5.2.1.3 Initial meeting with supervisor and team
5.2.1.4 Project Folder
5.2.2 Need to manage efficiently
5.2.2.1 Time
5.2.2.2 Resources
5.2.2.3 Money
5.2.2.4 Quality and Scope
5.2.3 Dealing with problems
5.2.3.1 Weakening
5.2.3.1.1 Lack of
5.2.3.1.1.1 Motivation
5.2.3.1.1.2 Confidence
5.2.3.1.1.3 Direction
5.2.3.1.2 Caused by
5.2.3.1.2.1 Working yourself too hard
5.2.3.1.2.2 Burning yourself out
5.2.3.1.2.3 Doing too much in the time available
5.2.3.1.3 Resolved by
5.2.3.1.3.1 Making sure you're interested in the project you are doing
5.2.3.1.3.2 Working on another part - refocusing your attention
5.2.3.2 Personal Problems
5.2.3.2.1 Aided by
5.2.3.2.1.1 Keeping your manager in the loop
5.2.4 Managing your time
5.2.4.1 Project won't always be your only priority
5.2.4.2 Need to manage other parts of life as well
5.2.4.2.1 Work Goals
5.2.4.2.2 Family Goals
5.2.4.2.3 Community Goals
5.2.4.2.4 Self Goals
5.2.4.2.5 Time logs
5.2.4.2.5.1 A daily log of how you use your time could be used to show where you could be making use of time more effectively
5.2.4.2.5.2 Could turn into a daily performance chart
5.2.4.2.6 Plan
5.2.4.2.6.1 Make a development plan and include all of these things
5.2.4.2.6.2 Make a list for each and the time scale you aim to complete them in
5.2.4.2.6.3 Make sure you plan has room for flexibility and adjustments
5.2.4.3 Prioritize tasks
5.2.5 Tips
5.2.5.1 Grains of time
5.2.5.1.1 Small periods of time could be making the most of
5.2.5.1.2 Pick a small task that could be easily completed to do in this time slot
5.2.5.2 Making the use of emails
5.2.5.2.1 Folders and filtering
5.2.5.2.2 Set up a signature
5.2.5.2.3 Set up an auto reply
5.2.5.2.3.1 Include how long you aim to get back to someone
5.2.5.3 Unfinished business
5.2.5.3.1 Keep a list of things that still need completing
5.2.5.4 Perfectionism
5.2.5.4.1 Waste of time
5.2.5.4.2 People don't expect it from you
5.2.5.5 Losing things
5.2.5.5.1 Keep things in good order
5.2.5.5.2 References need to be up-to-date
5.2.5.5.3 How you manage backups
5.2.5.6 Breaks
5.2.5.6.1 Short breaks
5.2.5.6.1.1 Take a note of where you are working
5.2.5.6.1.2 Note what you want to work on next
5.2.5.6.2 Long breaks
5.2.5.6.2.1 Holidays
5.2.5.6.2.2 Don't completely forget about your project
5.2.5.7 Interruptions
5.2.5.7.1 Hide away from them
5.2.5.7.1.1 Turn your phone off at points you are working
5.2.5.7.1.2 Do not disturb notice
5.2.5.7.2 Learn to say no
6 The Future
6.1 What are you going to do with your project now you have completed it so far?
6.2 What did you learn from it?
6.3 How have the skills you've learned by useful in the future?
6.4 What would you have done differently?
6.5 What did you do well?
6.6 Where could the project go next?
6.7 If you could do it again what would you improve?
6.8 What job role could this lead you into?
7 Presenting your Project
7.1 Extra things you may want to include in your report
7.1.1 Chapter breakdown
7.1.1.1 Table with what information is contained in which chapters
7.2 Make a checklist of all the things your presentation should be
7.3 Preparation
7.3.1 Clarify so you can plan around
7.3.2 Think about who is going to be attending
7.3.3 How much time do you have available?
7.4 Demonstrating Software
7.4.1 Prepare as you would for a oral presentation
7.4.2 Solo running
7.4.2.1 Running through a planned sequence of tasks on your own
7.4.2.2 Seem as though you are only demonstrating it's strengths
7.4.2.2.1 How it appears to the audience
7.4.2.2.2 Might not necessarily be the case
7.4.3 Rolling demonstration
7.4.3.1 Software runs itself through a predetermined demonstration
7.4.3.2 Demonstration package
7.4.4 Audience participation
7.4.4.1 Allow the audience to request demonstration of key features
7.4.4.2 Most common approach
7.4.5 Audience running
7.4.5.1 Permit the audience to run through your software
7.4.6 Supporting presentation
7.4.6.1 Presentation runs alongside the demonstration
Show full summary Hide full summary

Similar

Preparing for Presentations
Micheal Heffernan
Introduction notes on SCRUM Project management framework.
Wesley Thomson
Management Skills: MOTIVATION
Ciara Mooney
Computing Hardware - CPU and Memory
ollietablet123
SFDC App Builder 2
Parker Webb-Mitchell
Intake7 BIM L1
Stanley Chia
Data Types
Jacob Sedore
Jobs of the Future and What to Study for them
Jonathan Moore
CCNA Answers – CCNA Exam
Abdul Demir
Unit 3.4: Effective People Management
nk_
Software Processes
Nurul Aiman Abdu