Introduction
Formal methods
Where do project ideas come from?
- Some kind of pain or annoience
- Someone will say that something needs to be done to solve this issue
What percentage of IT projects fail due to bad planning?
70%
Why plan?
- Cost of changes one the project is delivered is huge
- They may be late
- Lack features
Why have a formal method?
- Allows you to know what the end product will look like
- Allows you to communicate better with the costomer
- Allows you to see what the project has failed at, i.e. missing feature or the feature doesn't work as intended
System development life cycle (SDLC)


What is the SDLC process made up of?
- Each phase is made up of a series of steps
- Each phase is documented
- Phases are executed in diffrent ways also knows as a methodology (sequentially...)
Planning
Aim
To understand:
- Why should we build this?
- How are we going to make it?
- What value does it bring?
- How long will it take to build?
Project plan
- Project initialisation
- Staff may request a certain feature
- Is it feasible
- Project management
- Create a plan
- Staff the project
- Monitor and control the project
Analysis
Aim
To understand
- Who will use the system?
- What should it do?
- Where and when will it be used?
- Competition? (how is it better or diffrent)
Stratergy
- Develop an analysis strategy
- Create a new system from scratch (to-be system)
- Modify a old system (as-is system)
- Know what the requirements are
- Find out what you need to know about your concept (send out surveys)
- Business analysis
- Get data, and process it
- Develop a concept
- Find out what you need to know about your concept (send out surveys)
- Proposal
- System should meet all requirements
- Then is shown to any stake holders for approval
- How is it better than the competition?
- Why has nobody else made this before?
Design
Aim
- How should it be built?
- Design strategy?
Things to note
- Basic architecture
- Database and file specifications
- Program design
Implementation
Stratergy
- Construct the system
- Build and test it
- Install the system
- Train the users
- Maintenance
Stakeholders
What is a stakeholder?
Anyone that holds a intrest in what you are developing
Examples
- Owners
- Users
- Analyst
- Designers
- Programmers
- Vendors
Analyst
What is an analyst role?
- To analyse the business situation (and improve upon what is there)
- Identify opportunities
- Create a information system to act on the opportunities
- Communicate with all Stakeholders
Skill set
- Understanding of the technology
- Understanding of the business model
- Solve problems
- Can communicate with a technical and non technical audience
- Can manage a team
- Has ethics

