The stages within DSDM are,
- Feasibility
- Functional Model Iteration
- Design & Build Iteration
- Implementation
These are the typical stages within this methodology and they run in this order, however the order can be re-visited and stages can be done many times.
The main key within this methodology is the user involvement. This helps keep an effective and efficient project, this allows both the users and the developers to share the workplace in which the project is being created. The advantage of this allows decisions to be made more accurately.
All members within the project team have the same power and are of the same importance to the project, this means any member of the team can make any decision; this saves time as staff do not have to wait for approval from higher levels.
Development is iterative and driven by the users of the end product. Feedback helps an effective business solution
All changes within the development in this methodology are reversible
The high level scope and requirements should be base-lined before the project starts.
Testing is carried out throughout the project life-cycle.
Communication and cooperation among all project stakeholders is required to be efficient and effective
Each of these stages are then separated into different stages of their own.
Dynamic Systems Development Method (DSDM) is an Agile method, this method is an iterative and incremental approach to projects, this uses user involvement continuously. The aim of this methodology is to deliver the end product both on time and within budget, this also adjusts for the requirements being changed during the process.
This methodology has good construction of different prototypes and good developments. Stages within this methodology can be re-visited as many times as needed until the team feel the requirements have been met, as long as the project is completed within the deadline any stage can be worked on.
These are the typical stages within this methodology and they run in this order, however the order can be re-visited and stages can be done many times.
The main key within this methodology is the user involvement. This helps keep an effective and efficient project, this allows both the users and the developers to share the workplace in which the project is being created. The advantage of this allows decisions to be made more accurately.
All members within the project team have the same power and are of the same importance to the project, this means any member of the team can make any decision; this saves time as staff do not have to wait for approval from higher levels.
Development is iterative and driven by the users of the end product. Feedback helps an effective business solution
All changes within the development in this methodology are reversible
The high level scope and requirements should be base-lined before the project starts.
Testing is carried out throughout the project life-cycle.
Communication and cooperation among all project stakeholders is required to be efficient and effective
Some of the advantages of this life cycle are,
- Flexible phases, this means all the stages within the development of the project can be completed again and again, if requirements are not met this can be changed.
- This methodology is used for project which are needed quick to a set budget
- User participation is very high within the development; this means the end product will be exactly what is needed.
- All changes within the development are reversible
- All members of the project team have the same power, reasonability and decision making.
- Testing carried out throughout the project
Feasibility
A feasibility study is the work and research which is completed at the start of the project, this helps determine and document what will happen within the project and how it will work. Within this section the planning, organising and the management of resources will be analysed to help allow the project goals to be completed effectively and efficiently.
The existing system is often looked at in detail to see which areas could be saved and improved and which areas need to be fully re-created. The final documentation which is gathered can also be feasibility and this helps the management decide on whether the project will be completed or not.
This study is also a analysis of solutions which may be an alternative to the project which is being considered, this can result in a project being changed.
If a project is seen to be feasible from the results of the study, the next step is to proceed with it. The research and information uncovered in the feasibility study will support the detailed planning and reduce the research time.
Within this feasibility study the user requirement are very important and need to be considered and viewed, when these have been found they must be formally outlined. This is the overall base structure of the project.
The user requirements can be found in many different ways,
- Interviews
- Observation
- Documentation
- Questionnaires
- Using the system
All these will be reviewed and analysed to help find out what the user really wants from the project.
Functional Model Iteration
This section will have a description about Functional Model Iteration.
Within this section there are different stages which need to be assessed and completed, these stages should all be completed before moving onto the next full stage, these are,
The plan which has been stated is finalised; the agreement is based on how and when tasks will be completed and the development of functionalities
- Create functional prototype
The prototypes are then developed investigation and creation of these are combined with the prototypes of previous iterations.
The prototypes and functionalities are then reviewed, within this stage each one is analysed in detail to see how it works and how it will be organised. This can be done using testing from end users, this users the results from the test and the feedback given as documents.
- Identify functional prototype
Within this section the functionalities which will be implemented in prototypes which will result from iteration are determined.
The plan which has been outlined showing the requirements and what the project should be line will be finalised and agreed.
When the requirements have all been identified and stated they are then converted into a functional model this model will consist on prototypes and models. Using prototypes helps user involvement. Within this life cycle testing is used through ever stage of iteration.
The deliverables for this stage are a Functional Model and a Functional Prototype that together represent the functionalities that could be realised in this iteration, ready for testing by users. Next to this, the Requirements List is updated, deleting the items that have been realised and rethinking the prioritisation of the remaining requirements. The Risk Log is also updated by having risk analysis of further development after reviewing the prototyping document.
Design & Build Iteration
Within this stage the main focus is to bring together components from previous phases into one new system which is effective and satisfies user needs. The non-functional requirements which have been set are also addressed within this section. Within this stage testing is a vital and important ongoing activity.
This stage is separated into the following sections; all these must be completed before the next stage can be started.
- Identify Design Prototype
Identify functional and non-functional requirements that need to be in the tested system.
Agree on how and when to realise these requirements.
Create a system that can safely be handed to end-users for daily use. They investigate, refine, and consolidate the prototype of current iteration within prototyping process are also important in this sub-stage.
Check the correctness of the designed system. Again testing and reviewing are the main techniques used, since the test records and user’s feedbacks are important to generate the user documentation.
Within this stage deliverables are given towards the end, these are, a Design Prototype during the phase that end users get to test. At the end of the Design is stage the Tested System is handed over to the next phase. A user document is also a deliverable in this section.
Disadvantages
The disadvantages within this methodology are,
- Difficult for employees to commit time to the process, this means the project may not be completed on schedule.
- Consistency problems, this means the system will be unprofessional and not how the user wants it
- Sometimes project cannot be split into sections, this means large tasks need to be completed, this is harder.
- This methodology is not always reliant on good quality
- Stages can often be rushed, this causes errors and poor quality products.
SSADM
Within this section I will describe what the SSADM methodology is and how it works, state the advantages and disadvantages and then give examples to support my key points.
Description
Structured Systems Analysis and Design Method (SSADM) is an approach to analysis and design of systems. This uses a Waterfall life cycle, within these
information systems designs can be arrived at.
- Analysis
- Design
- Implementation
- Testing
- Maintenance
The diagram above shows the stages involved in the waterfall life cycle.
Feasibility
A feasibility study is the work and research which is completed at the start of the project, this helps determine and document what will happen within the project and how it will work. Within this section the planning, organising and the management of resources will be analysed to help allow the project goals to be completed effectively and efficiently.
The existing system is often looked at in detail to see which areas could be saved and improved and which areas need to be fully re-created. The final documentation which is gathered can also be feasibility and this helps the management decide on whether the project will be completed or not.
This study is also a analysis of solutions which may be an alternative to the project which is being considered, this can result in a project being changed.
If a project is seen to be feasible from the results of the study, the next step is to proceed with it. The research and information uncovered in the feasibility study will support the detailed planning and reduce the research time.
Within this feasibility study the user requirement are very important and need to be considered and viewed, when these have been found they must be formally outlined. This is the overall base structure of the project.
The user requirements can be found in many different ways,
- Interviews
- Observation
- Documentation
- Questionnaires
- Using the system
All these will be reviewed and analysed to help find out what the user really wants from the project.
Analysis
The analysis section within the traditional life cycle is the starting point and is very important. This section shows both the requirements for the new system but firstly analyses the old system. The analysis of the old system will show what was wrong with it and what was good with it. The user requirements will be put together with the analysis to see what is needed for the new system. Non-functional requirements are involved and these are the requirements which make constraints on the design or implementation.
The user requirements can be found in many different ways,
- Interviews
- Observation
- Documentation
- Questionnaires
- Using the system
All these will be reviewed and analysed to help find out what the user really wants from the project.
Design
When the project has been analysed and looked at in great detailed the design stage can be started. The design of the system will be the creation of the plan. All the user requirements which were stated earlier on in the process will be looked at and analysed, these will be inputted into the system, this will make sure the user gets exactly what they wanted from the system. Within the plan as well as all the user requirements the interview, observation, and questionnaire documents will be looked at and used to ensure the system is what is actually wanted. In the plan storyboards will be needed to determine specifications. Flow charts and reports will be used to describe the sequence of events.
Advantages
- This methodology has well defined techniques which help the project to be completed and is very structured,
- because of the rigid structure of the methodology, SSADM provides better control over projects.
- This methodology has a lot of user involvement within, this means that the users are up to date constantly and can give comments and feedback helping the development
- The structure is very ordered meaning it is very planned out. This also means the direction the project is heading is very clear.
Disadvantages
- Within this methodology there is no working version or product until very late in the development stages, meaning when testing is done it may be to late
- Not all the requirements which are given are given at the same time and they are not always fulfilled.
- After a section has been completed problems often occur, this bring problems to the whole project.
- IT development projects are long in time, with each phase being approved by client each phase's products, once approved, are "frozen" for requirements
- The developed system, even if fits its formal requirements, not necessarily meets the user's concurrent needs.
Comparison
Within this section I will compare the differences between DSDM and SSADM, these are both methodologies and both have different features with good points and bad points for each. Both of these methodologies are usually used for different projects.
SSADM is the traditional method and uses a formal design process. This process and methodology is usually relatively slow but because the process tends to be exhaustive in both finding and debating every reasonable need, the results tend to be large and cumbersome, but thorough. Whereas DSDM uses implementation techniques where consultants are brought in to do on application, they know they will never have to maintain the system they create. DSDM usually produces results fairly quickly that closely mirror the immediate desires of the user, but sometimes the resulting applications don't fare well over time
SSADM is used to such projects which are large, for example multi-year, large teams, large deliverables, large cost, requirements well known and relatively stable. Where as DSDM is best used for smaller projects and really good when hard to tie down requirements
In the DSDM methodology more management is needed as there is a main focus on the requirements which need to be met.
In conclusion both of these methodologies are good and should be used, however they should be used for different reasons and different projects. The SSADM is used for long and large projects and DSDM is used for short and fast projects.
Logical Data Modelling
Within this section I will describe the three different concepts involved within a logical data model,
There are three concepts involved,
- Data Dictionary
- Normalisation
- ERD (Entity Relationship Diagram)
Data Dictionary
A data dictionary is a file or document which defines the whole structure and organisation of a database or data model. This data dictionary will contain a list of all the fields within the database. Next to every field will be detailed information about each.
Data dictionaries do not contain any actual data from the database, only book keeping information for managing it. Without a data dictionary, however, a database management system cannot access data from the database.
The information about each field would be,
- Field name
- Key
- Field length
- Field type
- Field format
- Validation
- description
A data dictionary is created afternormalisation and show all the fields which are needed within the overall system, this will then show the validation which is needed.
There is no set standard of level of detail which should be included, but the more detail there is, the easier things will be. One of the advantages of well designed data dictionary is that it helps establish consistency throughout a complex database.
ERD
ERD stands for Entity Relationship Diagram and is a structured representation of data. An ERD includes entities with their relationships. An entity within this is something in which information is stored about, a good example of an entity would be student. Each entity has many different attributes within; an attribute is one of the elements (e.g. first name)
There are three different types of relationships included in an ERD these are,
Examples of each of these are,
- One student has one id number
One id number is for one student
- Each supplier supplies many products
Each product is supplied by only one supplier
- Many students attend many lessons
Many lessons are attended by many students
Many to many relationships are not allowed in Logical Data Model.
Normalisation
Normalisation within the logical data modelling is a very important aspect. The main reason for this is to reduce errors and minimise duplication of information stored, when doing this structural problems are also over come, these are usually data anomalies.
When multiple instances of the same information occur in a table there is a possibility that this information will not be consistent throughout when the tables are update and changes, this then leads to loss of data and problems. When tables are normalised it is less vulnerable and less at risk to these problems, the structure helps show that many types of the same information should be represented however is only shown once.
Normalisation tends to be used in database applications that need to map complex relationships between data entities and data attributes.
After 3NF has been reached and completed you will end up with a fully normalised system which has no repeating data and no errors.
Within normalisation there are 3 keys, these keys are,
A primary key is a unique identifier within a table, this is never the same as anything else, and this could be a student ID
A foreign key is a primary key which is used in a different table; this is used to form a link between the two tables
A composite key is two primary keys joined together, this is used when two unique identifiers are needed in order to establish information.
The stages within normalisation are,
UNF (UN normalised form) this stage is simply listing all the fields which are required.
1NF (1st normal form) this stage should have two tables created within it, one table should consist of repeated data, the other should have the non-repeating data with a primary key (unique identifier) all the data should be atomic in its lowest form. A composite key should be created by using two primary keys which are both needed.
2NF (2nd Normal Form) this stage the table with the composite key is already complete in 2NF the other table must be looked at, the data which is not fully dependant on the primary key is separated into its own table.
3NF (3rd Normal Form) All non-key attributes must depend only on the key. Look at the table in 2NF and move any attributes that are not totally dependent on their key to form a new table. Then create a Primary key for the new attributes and a Foreign key to link it to the attributes it has been removed from.
Different stages
Within the Logical Data Model there are three different stages, these are,
A conceptual stage within a logical data model is where all the different key entities are identified and outlined
A logical stage within the Logical Data Model is where the Key entities, attributes and relationships are identified but there is no consideration given to the physical constraints of the project
A physical stage within the Logical Data Model is where the Logical Data Model is revised in order to take in account of any of the physical constraints within the project
Benefits of Logical Data Modelling
There are many different benefits of using logical data modelling
Correct tables, leading to correct data
If all the tables within normalisation are made correct then it usually results in the system being correct. Using correct tables to get final products with normalisation reduce errors and data duplication, this means the system will work a lot better.
Establishes a consistent naming scheme
This means that all the different fields are named consistently fitting in with each other, meaning fields are easy to identify.
Production may take less time and easier.
Using these different stages of a logical data model makes the final system easier to create; it gives a brief overview of how the system will work and what it will do. The product will be a lot easier to create. It allows the constraints of the system to be shown a lot easier which makes them easier to overcome.
Easier to reproduce
If a logical data model is used it outlines the whole system. This means if something goes wrong and the original creator is unavailable, a complete stranger should be able to come along and re-create the system.
Some other benefits are,
- Clarifies functional specifications and avoids assumption
- Confirms business requirements
- Facilitates business process improvement
- Focuses on requirements independent of technology
- Decreases system development time and cost
- Facilitates data re-use and sharing
- Foster seamless communication between applications
- Focuses communication for data analysis and project team members
Potential constraints of Logical Data Modelling
Using a logical data model also has constraints as well as benefits.
Takes longer to plan
The logical data model takes longer time to plan than just creating the system with simple planning. The whole model has to be taken in to consideration and each step must be carried out before moving on to the system.
Hardware/Software
The correct software is needed to create logical data models efficiently, is poor software is used then the end product will not be as good as it should. The final system must be taken into consideration, things such as, is it being created for one computer or a network of computers? The system would have to be more advanced and made available to different software and hardware to cover these different aspects, this then means spending more money and more time.
Security
The logical data model has different security issues, if someone gathers the details of the system then peoples details can be at risk and this is breaking the data protection act, this can result in the system being shut down. Other details about companies and about how things are created can be found and this will affect the system. Having user names and passwords on all the different files and on different levels, this will reduce the amount of security issues. This means only certain people can access certain information
Budget
The company must have sufficient budget to have the system created, this can be a time consuming and expensive process, the company must be able to encounter any problems and have spare money to overcome these.
Final system
If the final system is just completely relied on by the logical data model then the system may not be what is required and what the client wants, other planning needs to take place.
Unit: 11 – Data Analysis and Design Assignment: 1
Candidate Number: Centre Number: 47303
Name: Neil Gibson Page: