Computing Project: Topic 1
Computing Project: Topic 1
Topic 1:
Introduction
Learning Outcomes
By the end of this topic, students will be able to:
• Project manage the analysis, design,
development and deployment of a computing
artefact.
Key Points
• The content of this lecture is not meant to replicate or
replace concepts and techniques introduced in other
modules associated with this programme.
• It is meant to complement concepts and techniques
introduced in other modules associated with this
programme.
• This lecture should help YOU decide how YOU want
to carry out YOUR project and justify YOUR decision.
Appropriate Artefacts
What is an Artefact?
• Something that you produce during the course of your
project. This could include:
- Models
• Use Case diagrams
• Class diagrams
• Sequence diagrams
- Code (the programmes that you write)
- The Working System
- Supporting Documentation (test scripts, Gantt charts,
user guides, etc.)
• Code
- What language are YOU going to use to code
YOUR project (Java, PHP, MySQL, etc.)?
- YOU must justify why you have chosen a particular
language to code YOUR project.
• Objectives
Aims - 1
• The aims of YOUR project are associated with
things that YOU are going to:
- Design
- Develop
- Evaluate
- Investigate
Aims - 2
• Typical aims for a student project are:
- To develop a database system to achieve
something
- To develop a web-based system to achieve
something
- To investigate the use of a particular tool or
technique in a particular project environment
Objectives - 1
• Objectives are things that you need complete in
order to achieve the aim(s) of YOUR project.
• If the aim of YOUR project is to develop a database
system for a telephone company – your objectives
might be:
- Complete a literature search about existing
database systems for telephone companies.
- Gather user requirements.
Objectives - 2
- Develop a model of the database system for YOUR
project.
- Code the model to produce a working system.
- Test the working system.
- Deploy the working system.
- Write YOUR report.
SMART Objectives - 1
YOUR objectives should be SMART:
• Specific
- Provide enough detail to understand what should
be done.
• Measurable
- Provide enough detail to measure progress of the
objective and know when it is complete.
SMART Objectives - 2
• Appropriate
- With respect to the aim(s) of the project
• Realistic
- Achievable within the duration of the project
• Time-related
- Provide a statement of how long the objective will
take and by when should it be completed.
• Time Estimates
- Produce estimates of the time required to
complete the tasks.
• Milestones
- Significant points in your project that can be used
to give an indication of how well the project is
going
Appropriate Development
Methods
Different Methods
• You have been introduced to several different
software development methods throughout this
course:
- Agile
- Object-oriented
• Both of the above methods are appropriate for
student projects; however, they both have their
strengths and weaknesses for various types of
projects.
Agile
• An all round method that can be used for most
student projects:
- Can be used with object-oriented techniques
- Good for database development and website
development
- Clearly defined project management approach
- Not good for developing real-time systems
Object-Oriented
• A method that can be used for most student
projects:
- UML notation can be used to model database
systems.
- Good for database development, website
development and the development of real-time
systems
R is k P r io r it is a t io n R is k R e d u c tio n R is k P la n n in g R is k C o n tr o l
R is k e x p o s u r e B u y in g in f o r m a t io n R is k ite m p la n n in g R is k r e s o lu tio n
C o m p o u n d r is k s R is k a v o id a n c e R is k p la n in t e g r a t io n R is k m o n ito r in g
R is k t r a n s fe r R is k r e p o r tin g
R is k r e d u c t io n le v e r a g e R is k r e a s s e s s m e n t
Relax!
• Contingency
- Plan of action made before the risk occurs
- Alternative plan triggered by the risk occurring
• Management/Process
• Personnel
• Technical
Contractual/Environmental
• There are many factors that cause this type of risk.
The one most relevant to a student project is:
- An unreasonable customer
Management/Process
• There are many factors that cause this type of risk.
Those most relevant to a student project are:
- Inadequate control of development products
- Problems and errors detected late
- Inadequate technical approaches
Personnel
• This type of risk is to do with people:
- Wrong grade
- Wrong training
- Wrong expertise
- Too many people
- Too few people
• The above risks are not likely to occur on your project
as YOU are the only team member and you have
been educated on this NCC Education programme.
Technical
• Requirement Changes
- Genuine changes of mind by the customer
- Hidden implications within requirements
• Failure to Meet Requirement
- Cannot produce a feasible design
- Acceptance test fails
• Problem or Error Detected
- Inconsistent design
- Missing component
- Inadequate time for testing
Appropriate Configuration
Management
What is Configuration
Management? - 1
• Common problems in software development
projects are in the co-ordination and control
associated with project artefacts.
• Configuration management, for large projects, is
facilitated by the use of expensive software to
enable the following:
- The building of different systems to meet the
requirements of different users
What is Configuration
Management? - 2
- The preservation of old versions of the system,
e.g. to investigate a fault
- The building of a version of the system that
contains certain fixes but not others
- To allow two or more developers to work on the
same artefact at the same time
- To store artefacts efficiently
Any Questions?