West Cheshire College

CO5041 Systems Analysis and Design Assignment Two

The Importance of Analysis and Design

 

Andrew Jones

28/01/2010

 

This assignment covers three areas of module CO5041 Systems Analysis and Design: The importance of analysis and design, user requirements specification and system design specification.


Contents

Contents 2

Table of Figures 3

Task 4: The Importance of Analysis and Design. 4

Presentation Evaluation. 4

Introduction. 4

Evaluation. 4

Conclusion. 4

Task 5: Requirements Specification for Scenario A. 5

Introduction. 5

Functional Requirements 6

Non-Functional Requirements 16

Conclusion. 21

Task 6: Systems Design a Design Specification for Scenario A. 21

Introduction. 21

Dataflow Diagram: Context Diagram.. 21

Dataflow Diagram: Level 0. 22

Dataflow Diagram: Level 1. 23

Process 1: Student creates a Personal Statement 23

Process 2: Student makes an application. 24

Process 3: Student receives an offer 25

Process 4: Manage student personal details 26

Process 5: Manage personal statements 27

Process 6: Weekly Reports 28

Entity Relationship Model Diagram.. 29

Conclusion. 30

References 30

 


Table of Figures

Figure 1: UCAS Application System Context Diagram.. 21

Figure 2: UCAS Application System Level 0 dataflow diagram.. 22

Figure 3: Level 1 / Process 1 Student creates a personal statement 23

Figure 4: Level 1 / Process 2 Student makes an application. 24

Figure 5: Level 1 / Process 3 Student receives an offer 25

Figure 6: Level 1 / Process 4 Manage student personal details 26

Figure 7: Level 1 / Process 5 Manage personal statements 27

Figure 8: Level 1 / Process 6 Weekly Reports 28

Figure 9: UCAS Application System entity relationship diagram.. 29

 


Task 4: The Importance of Analysis and Design

Presentation Evaluation

Introduction

For the presentation we choose to compare and contrast the Waterfall model and Agile Development models of systems analysis. The group, Phil and I decided that the best way to approach the task was to split the research into two areas, one each: Phil for the waterfall model and myself for the Agile development model. We decided to combine our resources in the creation of the presentation both of us working equally to ensure that it was clear, concise, and meaningful, together with meeting our goals of comparing and contrasting the two methodologies. The presentation has been uploaded together with this assignment.

Evaluation

As expected there was a wealth of information available from the internet, our chosen method of research, not all of it pertinent to my research. A lot of the information returned was not useful but after refining our searches we were able to gain a valuable insight into the models we are focusing on. This meaningful information was incorporated into our presentation, which we feel successfully describes both methodologies and their respective strengths, weakness and appropriateness for certain types of project.

If we were to approach this task again I feel that we would have integrated a wider range of research sources to gain a boarder variety of information and views about each of the methodologies. Now having finished the presentation my views have changed from my original assessment of both models, originally I thought that Agile was best for all project as it is a “modern” methodology, now however I understand that it is only the more suitable model in certain situations and is not applicable to all projects, with some being more suited to the waterfall method.

I feel that overall, both Phil and I combined well as a project team, and that our approach in splitting the research was an efficient successful strategy in achieving our research goals. Then combining our research into the presentation was another enjoyable piece of team work, I feel that Phil’s design skills complemented my own skills for brevity and together we produced an evocative presentation. Taken as a whole I feel that we work well together and that the balance of work was shared equally.

I enjoyed the research into the Agile development model as well as working with Phil to create the presentation, I learnt a lot from Phil’s research and input into the presentation. I did not enjoy sifting through the enormous amount of inaccurate and misleading information that came about from my initial searches for data about the Agile methodology. The only significant problems were: time and the wealth of information about each of the methodologies, we could of however have allowed more time to complete the presentation and realised that there would have been a deluge of information available.

Conclusion

I feel that our plan to split the research and work together on the presentation was a good one and the preparation of these clearly defined roles help us to deliver successfully. The cornucopia of information was at times confusing and had the opportunity to overwhelm the presentation; this was dealt with by being concise and unambiguous with the information presented.

Overall an enjoyable task that I feel that both Phil and I benefited from by learning to research efficiently and working together to create a well received, well designed clear concise and meaningful presentation.

Task 5: Requirements Specification for Scenario A

Introduction

The local school’s head of sixth form wants a computer based solution to the problem of storing records of application by year 12 students for courses at university. The programme must keep track of applications and offers as well as highlighting those students that do not receive offers. The system must produce full information on any student, details of who has yet to complete a personal statement, details of those yet to apply, a full list of applicants, details of offers and information about those that have not had an offer. The system must offer on-line access to student records and produce weekly reports. The head of year requires a turnkey solution that will provide the software, computer, printer, training and ongoing maintenance.

The following two tables detail some of the functional and non-functional requirements for the system; they have been compiled from the initial scenario and subsequent interview, and will if the client agrees form the basis of a formal contract for the production of the schools UCAS application system.


Functional Requirements

Requirement ID

Title

Type

Priority Level

Description

Target Value

AJ001

Store student details

Functional

High

Input the details of the student

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, PersonalTutorID

AJ002

Update student details

Functional

High

Update the details of a student

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, PersonalTutorID

AJ003

Delete student record

Functional

High

Delete a student record

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, PersonalTutorID

AJ004

List all students

Functional

High

Provide a list of all students

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, Personal Tutor

AJ005

Search student records

Functional

High

Search for a specific student

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, PersonalTutorID

AJ006

List details of a particular student

Functional

High

List the details of all students in the system

StudentID, FirstName, SecondName, Surname, Address01, Address02, Address03, PostTown, PostCode, TelephoneNo, MobileNo, Email, EmergencyContact, EmergencyTelNo, Personal Tutor

AJ007

Store personal statements

Functional

High

Enter the personal statement of a student

StatementID, StudentID, Statement, StatementDate

AJ008

Update personal statements

Functional

High

Update the personal statements of a student

StatementID, StudentID, Statement, StatementDate, Reviewed, Approved

AJ009

Delete personal statements

Functional

High

Delete the personal statement of a student

StatementID, StudentID, Statement, StatementDate, Reviewed, Approved

AJ010

Search for a personal statement

Functional

High

Search for a personal statement

StatementID, StudentID, Statement, StatementDate, Reviewed, Approved

AJ011

List all personal statements

Functional

High

List all of the personal statements

StatementID, StudentID, FirstName, SecondName, Surname, Statement, StatementDate, Reviewed, Approved

AJ012

List personal statement of a particular student

Functional

High

List the personal statement of an individual student

StatementID, StudentID, FirstName, SecondName, Surname, Statement, StatementDate, Reviewed, Approved

AJ013

Store details of courses

Functional

High

Record the details of courses offered by universities

UniversityID, CourseID, CourseName, CourseDescription

AJ014

Update course details

Functional

High

Update the details of courses offered

UniversityID, CourseID, CourseName, CourseDescription

AJ015

Delete course details

Functional

High

Delete the details of a course

UniversityID, CourseID, CourseName, CourseDescription, ApplicationID, StudentID

AJ016

Search for a specific course

Functional

High

Search for specific course information

UniversityID, CourseID, CourseName, CourseDescription, ApplicationID, StudentID

AJ017

List all courses

Functional

High

List the details of all courses offered

UniversityID, CourseID, CourseName, CourseDescription, UniversityName

AJ018

List a specific course

Functional

High

List details of a specific course

UniversityID, CourseID, CourseName, CourseDescription, UniversityName

AJ019

Store university details

Functional

High

Record the details of a university

UniversityID, UniversityName, UniversityAddress01, UniversityAddress02, UniversityAddress03, UniversityPostTown, UniversityPostCode, UniversityTelephoneNo, UniversityFax, UniversityEmail

AJ020

Update university details

Functional

High

Update records for a university

UniversityID, UniversityName, UniversityAddress01, UniversityAddress02, UniversityAddress03, UniversityPostTown, UniversityPostCode, UniversityTelephoneNo, UniversityFax, UniversityEmail

AJ021

Delete university details

Functional

High

Delete the record for a university

UniversityID, UniversityName, UniversityAddress01, UniversityAddress02, UniversityAddress03, UniversityPostTown, UniversityPostCode, UniversityTelephoneNo, UniversityFax, UniversityEmail

AJ022

Search for a university

Functional

High

Search for a particular universities record

UniversityID, UniversityName, UniversityPostTown, UniversityPostCode

AJ023

List all universities

Functional

High

List all the universities in the system

UniversityID, UniversityName, UniversityAddress01, UniversityAddress02, UniversityAddress03, UniversityPostTown, UniversityPostCode, UniversityTelephoneNo, UniversityFax, UniversityEmail

AJ024

List a particular university

Functional

High

List the information for a particular university

UniversityID, UniversityName, UniversityAddress01, UniversityAddress02, UniversityAddress03, UniversityPostTown, UniversityPostCode, UniversityTelephoneNo, UniversityFax, UniversityEmail

AJ025

Store details of applications

Functional

High

Record the details of applications made by students for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID

AJ026

Update details of applications

Functional

High

Update the details of applications made by students for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID

AJ027

Delete applications

Functional

High

Record the details of applications made by students for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID

AJ028

Search for an application

Functional

High

Search for the details of applications made by students for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID, StudentName

AJ029

List all applications

Functional

High

List all of the details of applications made by students for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID, StudentName

AJ030

List a particular application

Functional

High

List the details of applications made for a particular student for a course

ApplicationID, StudentID, CourseID, UniversityID, ApplicationNotes, ApplicationDate, DeadlineID, StudentName

AJ031

Store details of offers

Functional

High

Record the details of offer made to student

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions

AJ032

Update details of offers

Functional

High

Update the details of an offer

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions

AJ033

Delete offers

Functional

High

Delete an offer

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions

AJ034

Search for an offer

Functional

High

Search for the information held about a specific offer

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions, StudentName

AJ035

List all offers

Functional

High

Provide a list of all the offers made

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions, StudentName, UniversityName

AJ036

List a particular offer

Functional

High

List the information about a specific offer

OfferID, StudentID, UniversityID, CourseID, OfferDate, OfferConditions, StudentName, UniversityName

AJ037

Store details of personal tutor

Functional

High

Record the details of the students personal tutor

PersonalTutorID, Title, FirstName, Surname

AJ038

Update details of personal tutor

Functional

High

Update the record about a personal tutor

PersonalTutorID, Title, FirstName, Surname

AJ039

Delete details of personal tutor

Functional

High

Delete the records of a personal tutor

PersonalTutorID, Title, FirstName, Surname

AJ040

Search for a personal tutor

Functional

High

Search the database for information about a personal tutor

PersonalTutorID, Title, FirstName, Surname

AJ041

List all personal tutors

Functional

High

List all of the details about personal tutors

PersonalTutorID, Title, FirstName, Surname, StudentID, StudentName

AJ042

List a particular personal tutor

Functional

High

List the information about an individual personal tutor

PersonalTutorID, Title, FirstName, Surname, StudentID, StudentName

AJ043

Store deadlines

Functional

High

Record the various deadlines for the system

DeadlineID, StudentID, DeadlineDate, DeadlineDescription, DeadlinePriority

AJ044

Update deadlines

Functional

High

Update the information about a deadline

DeadlineID, StudentID, DeadlineDate, DeadlineDescription, DeadlinePriority

AJ045

Delete deadlines

Functional

High

Delete the information about a deadline

DeadlineID, StudentID, DeadlineDate, DeadlineDescription, DeadlinePriority

AJ046

Search for a deadline

Functional

High

Search for a deadline

DeadlineID DeadlineDate, DeadlineDescription, DeadlinePriority

AJ047

List all deadlines

Functional

High

Provide a list of all deadlines

DeadlineID, DeadlineDate, DeadlineDescription, DeadlinePriority

AJ048

List a particular deadline

Functional

High

Provide a list of information about a particular deadline

DeadlineID, DeadlineDate, DeadlineDescription, DeadlinePriority

AJ049

Search for a student without an offer

Functional

High

Search the database and list the information about a student who has not been made an offer by a university

StudentID, FirstName, SecondName, Surname, ApplicationID, ApplicationNotes, ApplicationDate, DealineDate, CourseName, UniversityName

AJ050

List all students without an offer

Functional

High

Provide a list of all students that have not been made an offer by a university

StudentID, FirstName, SecondName, Surname, ApplicationID, ApplicationNotes, ApplicationDate, DealineDate, CourseName, UniversityName

AJ051

List a particular student without offer

Functional

High

Provide a list of information about a particular student who has not been made an offer by a university

StudentID, FirstName, SecondName, Surname, ApplicationID, ApplicationNotes, ApplicationDate, DealineDate, CourseName, UniversityName

Table 1: Functional Requirements


Non-Functional Requirements

Requirement ID

Title

Type

Priority Level

Description

Target Value

AJ052

GUI design

Non-functional

Medium

The GUI design should have a Windows look and feel

Incorporate design features that mimic the Windows screen layout and menu formats

AJ053

Marketing

Non-functional

Medium

The screens and reports should reflect the schools marketing policy for the presentation of materials

The screens and printed reports should use the schools fonts, branding and logos

AJ054

Help File

Non-functional

Medium

The UCAS database management system should include a help file

Create a fully functional help file accessible from the F1 key

AJ055

Training

Non-functional

Medium

A complete training plan should be developed to ensure the head of year is confident and capable of running the system

Comprehensive training package to be agreed

AJ056

Accessibility

Non-functional

Medium

The design and presentation of the software and reports should ensure that the broadest possible range of people can access the system

Clear uncluttered screen and reports with fonts, styles and backgrounds configured to ensure legibility

AJ057

Audit and control

Non-functional

Medium

Create a secure and auditable environment for use by the system

Security software should augment the Microsoft Windows XP operating system

AJ058

Availability

Non-functional

Medium

The system should be constantly available for use

Develop a service level agreement to ensure constant availability

AJ059

Backup

Non-functional

Medium

The system should be backed-up at least once a day, with a copy of the backup taken to a secure location

The system hardware will include a tape backup facility

AJ060

Disaster Recovery

Non-functional

Medium

Create a plan for the inevitable disaster

Include the replace and restoration of the system in the service level agreement

AJ061

Capacity Current and Forecast

Non-functional

Medium

The system should be able to hold at least 2000 student records with this number possibly rising to 6000 records over a three year period.

The provision of an agreed specification PC will ensure that the capacity demands are met

AJ062

Deployment

Non-functional

Medium

The system shall be deployed in accordance to the agreed timetable

The system shall be fully functional and deployed into the school within 6 months

AJ063

Documentation

Non-functional

Medium

A full set of documents for the system will be developed

The head of Sixth Form will be provided with a full set of documentation for the system

AJ064

Extensibility

Non-functional

Medium

The addition of features and changes in requirements will be incorporated in version upgrades

The head of Sixth form will be encouraged to seek additional features and customisations

AJ065

Legal and licensing

Non-functional

Medium

The school will be provided with the software licences for the database solution provided

The Head of Sixth Form will be provided with the third party licensing for all of the software used with the system

AJ066

Failure Management

Non-functional

Medium

Plan for the failure of the system at the most inopportune time

Include the catastrophic failure of the system at the most critical time in the service level agreement

AJ067

Interoperability

Non-functional

Low

The system should interact with other applications

The system will be interoperable with other Microsoft Office applications

AJ068

Maintainability

Non-functional

Low

The system should include maintenance functions

The system will purge deleted records and will include an agreed set of maintenance functions

AJ069

Modifiability

Non-functional

Low

The system should be easily modified

Provide access to the Reporting and query interfaces

AJ070

Operability

Non-functional

Low

The system should be simple and easy to operate

With training the Head of Sixth Form should find it easy to operate the system

AJ071

Performance / Response time

Non-functional

Low

The system should perform at a speed exceeding that of the Head of Sixth form, response time should be kept to a minimum, and i.e. it should take longer to print than generate the report.

Implement an agreed hardware specification

AJ072

Platform compatibility

Non-functional

Medium

The platform should be compatible with the schools standard operating system

The system will be a PC running the Microsoft Windows XP operating system

AJ073

Privacy

Non-functional

Medium

The privacy of the students will be managed by user rights access to the system

Username and password will be required for security and audit

AJ074

Portability

Non-functional

Low

The system will be developed with the implementation of a web version in mind

Use standards for the development of the database

AJ075

Resource constraints

Non-functional

Medium

The definition of processor speed, memory, disk space, network bandwidth etc.

A clear, concise, compatible, high performance specification should be agreed

AJ076

Robustness

Non-functional

Low

Provide a sturdy hardware and software that will contend with vigorous use

Ensure that the agreed hardware specification and functional requirements are meet

AJ077

Security

Non-functional

Medium

Ensure that the system is secure

Implement security software to augment the operating system as well as providing a means to ensure physical security

AJ078

Stability

Non-functional

Low

The system must be stable

Ensure that the operating system is serviced pack and up to date

AJ079

Supportability

Non-functional

Low

Create a system that is simple to support

Provide an unproblematic system

AJ080

Testability

Non-functional

Low

Create a comprehensive test plan

Ensure that the completed solution meets the requirements of the test plan

Table 2: Non-Functional Requirements

 


Conclusion

The above catalogue illustrates some of the key requirements for the schools UCAS application system. At this stage these requirements should not be considered as a definitive list but endeavours to provide a comprehensive list of both functional and non-functional requirements. The functional requirements have been given all been given a high priority as they are essential to the successful completion of the project, the non-functional requirements have, in the main, been given a low or medium priority as whilst important are not critical to the successfully deliver the project as a whole.

Task 6: Systems Design a Design Specification for Scenario A

Introduction

The following sections attempt to show the context level diagrams and developing this into further detail by presenting a level 0 diagram and further refining this dataflow diagram with the production of a series of level 1 diagrams for the schools UCAS application system. The section concludes with the entity relationship model diagram for the system.

Dataflow Diagram: Context Diagram

Figure 1: UCAS Application System Context Diagram


Dataflow Diagram: Level 0

Figure 2: UCAS Application System Level 0 dataflow diagram

Dataflow Diagram: Level 1

Process 1: Student creates a Personal Statement

Figure 3: Level 1 / Process 1 Student creates a personal statement

Process 2: Student makes an application

Figure 4: Level 1 / Process 2 Student makes an application

Process 3: Student receives an offer

Figure 5: Level 1 / Process 3 Student receives an offer

Process 4: Manage student personal details

Figure 6: Level 1 / Process 4 Manage student personal details

Process 5: Manage personal statements

Figure 7: Level 1 / Process 5 Manage personal statements

Process 6: Weekly Reports

Figure 8: Level 1 / Process 6 Weekly Reports

Entity Relationship Model Diagram

Figure 9: UCAS Application System entity relationship diagram


Conclusion

The modelling of the UCAS application system is a vital part of the design process; it enables us to plainly see the flow of information around the system, in addition to illustratively showing the relationships between data entities. The diagrams shown in this section also server to highlight any problems or technical issues the system may encounter, serving to ensure that they are designed out at the earliest opportunity.

References