requirement engineering

19
Valentinos Computerised System (CIM 301) Gaurang S. Patel K0851882 MSc in Software Engineering with Management Studies

Upload: gaurang-patel

Post on 28-Nov-2014

252 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Requirement Engineering

Valentinos Computerised System (CIM 301)

Gaurang S. Patel

K0851882

MSc in Software Engineering with Management Studies

Page 2: Requirement Engineering

Q.1. SWOT Analysis and Balanced Business Scorecard

1. SWOT Analysis

Strengths

- Excellent reputation and high standard of customer care.- Largest number of members from all over UK.- Less amount of registration fees as compared to other agencies in the same industry.- Large number of members matched for the last more than thirty years.- Maintains client’s data privacy. - Good advertising techniques. - Computerised matching service.- Clients can edit their details anytime and can even allow or disallow other members to access their profile. - Means of communication with client is through post, email and telephone whichever is convenient to clients. - More matches can be requested by paying a fair amount of money anytime. - Provides a guide to manage your first date to new joiners.

Weakness

- Technology is outdated. - Lack of investment in technology. - New applications cannot be filled online in this internet age.- Matches cannot be done online. - Difficulty in maintaining the system by IT staff and poor documentation of system leads to delays in solving client’s request. - No dating agency is allowed to access police or local authority records due to constraints of Data Protection Act. - Number of introductions should be increased from six per list to ten per list.

Opportunities

- More application registrations since clients don’t have time to personally search for life partners. - Building an excellent user friendly website enabling clients to create and host their own profiles online. Creating profiles and hosting should be chargeable service. - Open more branches in UK for proper personal guidance by staff.

Threats

- Other personal introduction agencies.- Client data should be well protected from other mailing lists and agencies. - Dummy/fake client profiles.

Page 3: Requirement Engineering

2. Balanced Business Scorecard

FinancialFinancial

ObjectivesObjectives

MeasuresMeasures

InternalInternal

ObjectivesObjectives

MeasuresMeasures

CustomerCustomer

ObjectivesObjectives

MeasuresMeasures

InnovationInnovation

ObjectivesObjectives

MeasuresMeasures

Increase client applications

Increase profitability

Decrease cost

Increase client applications

Increase profitability

Decrease cost

On time delivery of post and emails

Increase market share

Low registration fees

On time delivery of post and emails

Increase market share

Low registration fees

Build online user friendly system

Open new braches

Experienced staff

Build online user friendly system

Open new braches

Experienced staff

Improve Technology

Reduce time in sending introduction list to clients

Improve Advertising

Improve Technology

Reduce time in sending introduction list to clients

Improve Advertising

Applications/ year

Revenue

Operating Cost

Applications/ year

Revenue

Operating Cost

Investment in Technology/year

Average no. days for delivery

Performance audit score

Investment in Technology/year

Average no. days for delivery

Performance audit score

No. of website visitors

No. of applications/ month

Customer satisfaction index

No. of website visitors

No. of applications/ month

Customer satisfaction index

Customer satisfaction index

Market Share

No. of customers/month

Customer satisfaction index

Market Share

No. of customers/month

Page 4: Requirement Engineering

Q.2. Develop various Project Initiation products

1. Identification of IS/IT project

The Valentinos system consists of a website that forms the interface to the customers and staff that operates and manages it. The newly developed system would consist of user friendly and attractive interface with a strong matchmaking algorithm that forms the heart of the system. It’s the algorithm that makes the results accurate and suitable as desired by the customers. The system would be able to perform functions that are listed below.

• Register clients online.• Verify payment details and receive payments.• Fill client questionnaire form. • Modify client’s profile.• Store client details and requirements in a database.• Run matching algorithm to generate best suitable introduction list.• Display, email and print the list online.• Design and host clients profile on the internet (Paid Service).• Avoid unauthorized login and modifications.

The system would be developed using following developing tools and technologies:

• Scripting will be done using PHP, HTML and AJAX for interfaces and ORACLE will be used as a database.

• Another version of the website can be accessed via mobile phones and will be using XML and WML (Wireless Markup Language).

• Security will be provided by using encryption algorithms. • Payments will be secured by a secure payment gateway.

2. Project Vision Statement

For people who are looking for marriage, love, relationship or friendship, we ‘Valentinos’ make things easy and possible for them. Valentinos is a ‘Computerised Personal Introduction Agency’ that can be operated via a website that enables our client to register, search other member’s profiles and make payments. Not only this we even provide personal advice to our clients to how to manage their first date, handle relationship problems and guide them in selecting their life partners. Our computerised system generates introduction lists and emails it to our clients. Our ready to help staff is always available to sort issues 24x7 for you.

3. Scope Diagram

CLIENT

Email, post or telephone

VALENTINO PERSONAL INTRODUCTION AGENCYRegister and Payment Details

Request Introduction List Generate Matches

Enter Details

Access DB

Retrieve Matches

STAFF

COMPUTERSYSTEM

Page 5: Requirement Engineering

Out of Scope

• Email System• Post office System• Telephone System• Secure Payment System

4. Potential Benefits and Costs

Benefits

Tangible benefits

• Reduction in staff costs• Fewer staff required since all work will be done online. Staff required just for guiding

the clients and solving queries.

• Increased revenue since everyone can access the system through website and register them.

• Introduction lists are generated online. No need to send letters thus saves money.

• Since introduction lists will be generated in a short period of time, there will be an increase in the request for generating next paid introduction list. This increases the revenue.

• Additional income can be generated by allowing clients to create and host their own profiles.

Intangible benefits

• Fast, reliable and easy to access both by clients as well as staff.

• Registration can be done online, so no need to meet the staff personally which saves clients time.

Costs

Setup costs• Servers• Additional Computers• Software Development• Website Development• Staff Training

Operational Costs• Salaries of staff involved in development.• Software maintenance• Hardware maintenance

• Hardware Support

Page 6: Requirement Engineering

Q.3. Requirement Catalogue

1. Functional Requirements

Name Description PriorityRegistration Create a new entry for the client in the

database. Fill questionnaire. Receive membership payment after verification of address.

Must

Fill Questionnaire Client answers number of questions regarding himself and the type of person he/she is looking for.

Must

Receive Membership Fee After registration and verification of clients address £150 are automatically deducted from clients credit card or account if payment is done through cheque and account is activated.

Must

Edit Profile Client can edit his details and requirements and mode of contact.

Must

View/ Print Payment Invoice Client can view and print the invoice or the receipt generated for further references.

Must

Generate Matches After opening account, client can start generating introduction lists whenever required.

Must

View/ Print Introduction Lists The introduction list generated can be printed so the client can contact the listed members if the member is found to be suitable.

Must

Receive £5 payment Client would have to pay £5 for generating the lists after the first free one.

Must

View/ Print Additional Introduction Lists

Client can request more introduction lists by paying additional £5.

Must

Less than six matches If the system generates less than six matches, the subsequent list is generated free of charge.

Must

View/Print Free Introduction List

If in previous request the client gets less than six introductions the subsequent introductions list is generated free for client.

Must

Query Staff If the client finds any difficulty in using the system he/she can contact the staff member through email or telephone by searching the nearest Valentino branch.

Must

Page 7: Requirement Engineering

2. Non functional Requirements

1) Availability: - The new valentions website or the system can be accessed from any part of the world. But only those people who reside in UK countries would be able to register. The client or the staff should be able to access the system 24 hours a day, seven days a week.

2) Usability: - Both the staff and client should be able to use the system.

• User Interface: - Same interface should be made available to staff and client. But access privileges should vary depending on login id.

• Error messages should be displayed wherever appropriate. Eg. During logging, cannot debit from credit card if cards limit has exceeded.

• Confirmation messages should be displayed to confirm user action. Eg. During payment card number, name and expiry should be displayed again back to client, while editing details of client.

• Online Help: - The system should have this facility to help users if they are not able to understand the system or have some problem related to the system. Eg. Contacting the staff by email or telephone in case of login problems or reading system guidelines.

3) Performance Requirements:-

• Response Time: - The time in displaying the web page should not be more than 15 seconds. If the system takes more than 15 seconds, a message saying system busy should be displayed.

• If the user is not using the system for more than 5 minutes then he should automatically be logged off.

• Degradation under Overload Conditions: - The system should display ‘System Busy- Wait for few seconds’ messages if it enters an overload state. At a time around 10,000 users should be able to access the system.

4) Security:-

• The system should allow passwords that consist of mix match of characters and numbers. i.e. strong password.

• System should notify the users to change their passwords every 3-4 weeks. • In case of password recovery client id and email id of the client should be verified and

the new password should be emailed to the clients email id. • To ensure that authorized clients are allowed to edit profiles and settings of their

account.

5) System and browser compatibility requirement:-

• The Valentinos website has to be compatible with the following browsers: Internet Explorer, Mozilla Firefox, Opera, Google Chrome,etc.

• The Valentinos web server should also support pc’s having Windows 95/98/ME/XP/Vista/7, Mac OS, Linux, etc.

Page 8: Requirement Engineering

3. Detailed Requirement Description

Source: Client

Priority: Must

Owner: Computer System

Functional requirement: Receive membership paymentTo be able to debit membership fee from clients credit card and generate payment invoice

Non-functional requirement(s)Description Target value Acceptable range CommentsAvailability 24 hours

Monday – Sunday24 hoursMonday – Sunday

Response time 15 seconds Up to 30 seconds Client should be updated every moment while processing the card.

Security Immediate Unlimited Client should be asked for confirmation of card details at each step. Verification of card details by payment gateway.

BenefitsThis function will allow the client to register himself with Valentino and make membership payment. Comments/suggested solutionsAfter the payment has been done an invoice is sent for viewing and printing purposes and the first introduction list is generated.Related documentsSample of currently produced timetable.Related requirementsVerification of client’s credit card and address. Resolution

Source: Computer System

Priority: Must

Owner: Client

Functional requirement: Generate Matches To be able to generate matches depending on the clients requirements.

Non-functional requirement(s)Description Target value Acceptable range CommentsAvailability 24 hours

Monday – Sunday24 hoursMonday – Sunday

Response time 15 seconds Up to 40 seconds Error message if page not displayed.

Security Immediate Five attempts Authorization during login

BenefitsThis function will compare client requirements with other client information in the database and generate six most compatible matches.

Page 9: Requirement Engineering

Comments/suggested solutionsClient will be presented with a list of six introduction list. If it contains less than six introductions next introduction will be generated for free. The list generated will be stored in clients account for future reference and can be printed. Related documentsClient questionnaire form which contains his requirement for match generation. Related requirementsClient needs to pay £5 for each new introduction list generated. Resolution

Page 10: Requirement Engineering

Q.4. Produce a Use Case Model of the required System

1. Use Case Diagram

Page 11: Requirement Engineering

The actors involved in the system are as follows:

1) ClientHe is the one who registers himself with the system and requests introduction lists.

2) Staff They guide their clients during problem situations. They even provide advice related to love, dating, etc.

3) Computer SystemThis forms the most important part of the system. Clients and Staff are in continuous contact with the system. It accepts payment, generates matches using a unique matching algorithm and displays it to the client.

2. Description of Use Case Model

- The client first enters his personal details, fills the questionnaire form that describes him and the characteristics he is looking for in his partner.

- He then makes pays the membership fee of £150 through his credit card. - After the payment has been received the system emails the login details to the client.- The system matches the requirements of the client with those of the others stored in

the database to find a relevant match. - The first list of introduction is then generated. The client can view or print the list. - The client can modify his requirement list anytime in future.- If the client is not satisfied with the list he can generate another set of introduction list

by making an additional payment of £5 for each new list.- The introduction list consists of six introductions. The client can view members profile

and if found suitable contact that person via the contact details provided as per the list.

- If the generated list contains less than six introductions, the subsequent list is generated for free.

- Client can query the valentino staff if they find some problem with the system.

3. Detailed description of a use case

USE CASE View/Print Additional Introduction ListGoal in Context Client requests additional introduction lists by paying extra £5.Level ClientPreconditions Client has logged into the system. Success End Condition

Client receives the introduction list generated by system.

Failed End Condition

Payment is deducted from credit card but no list is generated.

Primary,Secondary Actors

Client

Trigger Client requests introduction listsDescription Step Action

1 Client enters his Login ID and password and logs into the system.

2 System authenticates Client and allows access to his/her account.

3 Client requests system to generate introduction list4 System checks client’s record and allows free listing if in

his previous attempt client received less than six matches or system notifies client to pay £5 for the listing.

5 In this case client is requested to pay £5 each listing.6 Client enters credit card details.

Page 12: Requirement Engineering

7 System verifies credit card and debits £5 from card.8 After receiving payment, system runs an algorithm to

search for members whose characteristics or requirements are matched with those of the client.

9 The list is then displayed on the website in the clients account.

10 If the client is not satisfied with the list, he can generate another list by paying additional amount.Repeat 5-9.

11 Client can then view and print the list online and contact the members if he finds them suitable to his/her requirements.

Page 13: Requirement Engineering

Q.5. Produce a Class Model of the required System

1. Class Diagram

Page 14: Requirement Engineering

2. Decisions made in producing the Class Model

Clarifications

• The cheque payment mode shown in the model takes time. The cheque needs to be deposited first by the employees after that client would receive his login details by post. This process may take 5-7 working days. So it’s a slow process compared to registering online.

Assumptions

• In above class model the login ID and password allocation is not show. We need to assume that while online registration the client enters his email id. This email id is the only source through which the client can remain in contact with the valentinos system. During signup client receives his login id and password via email. Any kind of error reports or generated introduction lists are mailed to the client. If the client forgets his password, he can click on the ‘forgot password’ link on the website and recover his password through email.

• There is a cheque payment shown in the model. Payment can be done by cheque also. After the cheque gets cleared and the payment is credited in valentinos account, client will receive an email or a letter specifying the login id and passwords.

• Address verification of client is not shown in the above model. We need to assume that the address verification is done by employees by accessing the client details.

Included and excluded in the model

• In the above class model staff or valnetino employees can also be included. In case if the client wants to register with valentino he can do so by manually filling the application form and submitting it to the employee. The employee then enters the detail manually in the system.

• A payment gateway could have been included in the model. The payment gateway verifies the credit card details for security purposes.

• The cheque payment mode could have been excluded. If a client wants to register but doesn’t have a credit card but have got internet connection then he can select this payment mode. In this the mode the client fills his details and the questionnaire form but makes the payment by cheque via post. He won’t be allowed access to the system until the cheque is deposited in valentinos bank account. After the cheque is cleared, a staff member will send a mail to the client stating clients login details after which he could access his account.

Page 15: Requirement Engineering

Q.6. Consider the soft, human stakeholder aspects of this project

1. Rich Picture

Page 16: Requirement Engineering

2. Description

The rich picture above provides a cartoon representation of the complex system. It is used to identify and locate problem situations occurring in system at the pre-analysis stage. Problems detected at this stage can then be avoided or overcome in the later development or implementation phase.

Listed below are a few problem situation and their solutions:

Clients

• The use of website saved clients time. He no longer has to personally go and meet the staff for registration and enquiry purposes since everything can be done online by just clicking a button.

• For clients who don’t know to use the internet or don’t have internet connection or an email id they still can register with valentinos. Valentinos experienced staff is always ready to help them. Registration can also be done by visiting a branch and personally filling all the data in forms.

• Clients can visit or call staff for help when the internet connection is down or the valentinos system is overloaded with work load.

• If the client doesn’t find the introductions interesting or suitable for him then still he can generate a new list.

• In case when the client forgets his password, he can generate a new one just authenticating him to the system. If there is no internet connectivity or if the system is slow he can call staff and generate a new password.

Staff

• There is no more work left for the staff. They are required on few instances only when the system is down or some one gives a telephone call for a query or a client wants to register manually.

• Since there is no work left. Staff can now concentrate on advising clients with managing their first dates, relationships, marriage suggestions, etc.

• Staff members are happy that their shelves are no more loaded with papers and files.• Staff members would be worried about their job security. • Staff members would be under pressure only when the system is down or there are

too many telephone calls.

IT Support Staff

• IT support people are the ones who maintain the entire system. • During system failures or slow down, the support staff needs to read and follow the

documentation report to avoid system failure. • Every small problem needs to be documented.• They should backup database every week to prevent loosing it during major failures

as this system is nothing without its database.

Page 17: Requirement Engineering

Q.7. Discuss possible Development Approaches

1. Types of Development Approaches

In-house Development

Pros- Low development cost.- Developers can be hired from local colleges and universities. - Development process can be monitored by the employees and requirements can be

implemented then and there. - Product can be tested any number of times.- Product can be sold to other companies.- No upgrade cost.

Cons- Right people with right knowledge need to be searched. - There will be no surety that the product will run properly, since it’s been developed by

in-experienced students. - Development tools and equipments needs to be purchased which turns to be

expensive. There will be no point in spending a big amount if there was no outcome of the invested money.

- Copyright needs to be done if not meant for sale.

Purchase of rival agency

Pros- No need to invest money in developing software as it would be readily available or

some customisation can be done.- Saves time and resources.- Turns out to be useful and user friendly as it’s already been in use. - Increases market share in the industry.- No need of copyrights needed.

Cons- Large amount of money needs to be invested.- Not worth if it doesn’t add to revenue.- May need upgrades or customization to a large extent.- Takeover turns out to be a loss if the software is not compatible with the current

technology.- Turn out to be bad deal if proper documentation is not available.

Development by external contractor

Pros - Product generated will be reliable and flexible.- Compatible with existing hardware.- All requirements can be met.- Low price needs to be paid as the product is outsourced to India.- Good Quality of delivered product.- Cuts Operating Costs.- Access to better technology.

Page 18: Requirement Engineering

Cons- Slow response time.- Threat to security and confidentiality.- Improper specification may lead to quality problems.- Communication can become an issue.- High up gradation cost.- High maintenance cost.

2. Recommended Approaches

Purchase of rival agency

Suggested life cycle: Customisation in combination with iterative and incremental development approach.

Since we need to customise the software as per our needs, we need to perform testing at each phase. The deliverables are deployed and new requirements are taken for analysis.

Iterative and Incremental Development Model

Iterative and incremental development is suitable as only few requirements need to be analysed and designed.

Development by external contractor

Suggested life cycle: Waterfall model

Since the project is to be outsourced, specifications/requirements need to be specified at the early stage itself. Continuous communication is not possible due to difference in time and location.

Waterfall Model

Page 19: Requirement Engineering

This approach is suitable if the project is outsourced to some company in India.

I would recommend Valentinos to get their product to be developed by an external contractor. Since the exact requirements will be specified by valentino the product will be developed product will be consistent and compatible with the existing setup.The only risk in purchasing an external agency is the huge investment. And if the software doesn’t seem to be that productive then it will turn out to be a complete loss.