2014-09-24

Course Code                           : BCS-051
Course Title                             : Introduction to Software Engineering
Assignment Number               : BCA(V)-051/Assign/14-15
Maximum Marks                     : 100
Weightage                               : 25%
Last Date of Submission         : 15th October, 2014 (For July 2014 Session)
15th April, 2015 (For January 2015 Session)

This assignment has three questions carrying a total of 80 marks. Answer all the questions. Rest 20 marks are for viva-voce. You may use illustrations and diagrams to enhance explanations. Please go through the guidelines regarding assignments given in the Programme Guide for the format of presentation.

Question 1: Develop SRS as per IEEE standard for any system of your choice.

Solution:

Software Requirement Specification (SRS) for Online Examination

1. Introduction:

The following subsections of the SRS document provide an overview of the entire SRS.

i) Purpose: The purpose of the project is to provide online facility to Institutes to conduct online exams and to Students to give online exams. Institutes can enter and edit the questions along with the students list. Also they can view the result. Students can login and give their respective exams and view their score then and there. Others can view sample papers to get look and feel of the online examination system.

ii) Scope: The website to conduct online examination is “OnlineExamination”. This website provides facility to institutes to conduct online exams by providing a unique id to each institute. The institute provides questions along with positive and negative marks. Institute also enters the list of eligible students. All the information entered can be later edited by the institute.

In turn student can login with their id, name and instituteid to give the exams and can view their result then and there. Institutes can also view the result of their students.

Benefits: This website reduces the manual work, maintaining accuracy, increasing efficiency and saving time. Also institutes need not go to develop new software each time, instead they just register and conduct a test. For students, it saves time of going to far away centers and also they can view their result then and there.

iii) Abbreviations:

JSP stands for Java Server Pages

HTTP stands for HyperText Transfer Protocol

iv) References:

IEEE Recommended Practice for Software Requirements Specification- IEEE STD 830-1993.

v) Overview: The rest of this SRS document describes the various system requirements, interfaces, features and functionalities in detail.

2. Overall Description: In Online examination system institute can register to conduct an online test and view the records later. Students can give the test and their respective records, which include their marks for each test given by them, will be maintained separately. No student can take a particular exam more than once.

i.) Product Perspective:

(i) User interfaces

The application will have a user friendly and menu based interface.

Following screens will be provided:

(ii) A login screen for entering the username, password will be provided. Access to different screens will be based upon the user.

(iii) There is a screen for displaying information regarding entries to be made by institutes.

(iv) There is a screen for displaying information regarding filling of exam details by institutes.

(v) There is a screen for displaying information regarding entering student list for the particular exam.

(vi) There is a screen for displaying information menu regarding what options the institutes will select while filling entries (entering questions, student list, deleting questions, entering exam details).

(vii) There is a screen for displaying exam details to the students when they are taking exams.

(viii) There is a screen for taking exam for the students.

(ix) There is a screen for displaying of results of students after taking the exam.

(x) Hardware interfaces

(i) Support for printer for printing results then and there.

(ii) Screen resolution of at least 800X600 is required for proper and complete viewing of screens. Higher resolution will be accepted.

(xi) Software interfaces

(i) Any windows based operating system.

(ii) MS Access 2000 as the DBMS-for database.

(iii) IDE (NET BEANS) for developing code.

(xii) Communications interfaces None

(xiii) Memory Constraints At least 512 MB RAM and 5 MB space on hard disk will be required for running the application.

(xv) Site Adaptation Requirements Web browser with cookies enabled.

ii.) Product Functions: The website will allow access only to authorised users with specific roles (Administrator- maintains the website, Institutes-Register to conduct the exams, Students-Give the exams online) A summary of the major functions that the website will perform:

a. Provide facility to institutes to register to conduct an online test.

b. Institutes can enter the number of questions, +ve, -ve marks, questions and answers and the list of eligible students.

c. Students can login and give the tests.

iii.) User Characteristics:

a. Educational level: Users should be comfortable with the English language.

b. Experience: Users should have prior information regarding the online examinations.

c. Skills: Users should have basic knowledge and should be comfortable using general purpose applications on computers.

iv.) Constraints:

* Since the DBMS being used is MS Access 2000, which is not a very popular DBMS, it will not be able to store a very huge number of records.

* Due to limited features of DBMS being used performance tuning features will not be applied to the queries and thus the system may become slow with the increase in number of records being stored.

* An extra security as SSL must be used to secure the marks details and other examination information.

v.) Assumptions: The examinations are all objective. Students can give each exam just once.

vi.) Apportioning of Requirements: The future versions of the website will be having a better database to handle larger number of records, in a more secure way.

Also separate profile will be maintained later for all students so that he can view all his previous test performances.

3. Specific Requirements: This section provides software requirements to a level of detail sufficient to enable designers to design the system and testers to test the system.

External Interface Requirements:

* User Interfaces:

*Institute Registration Screen: Various fields available on this screen will be:

*Login Name

*Institute Name

*Email Id

*Password

*Institute Login Screen: Fields available on this screen are:

*Login Name

*Password

*Entering Questions: Various Fields are:

*Questions

*Options (4)

*Correct Answer

*Exam Details Screen: Various Fields are:

*Exam Name

*No. Of Questions

*Time Limit

*+ve, -ve Marks

*Passing Marks

*Student List Screen: Various Fields are:

*Student ID

*Student Name

*Student Login Screen: Various Fields are:

*Student ID

*Student Name

*Institute ID

*Student Taking Exam Screen: Various Fields are:

*Display Of Question With Options

*Control Buttons To switch questions

*Result Displaying Screen: Various Fields are:

*No. Of Correct Questions

*No. Of Incorrect Questions

*No. Of Unattempted Questions.

*Total Marks.

*Result (Pass/Fail)

*Hardware interfaces:

*Support for printer for printing results then and there.

*Screen resolution of at least 800X600 is required for proper and complete viewing of screens. Higher resolution will be accepted.

*Software interfaces:

*Any windows based operating system.

*MS Access 2000 as the DBMS-for database.

*IDE (NET BEANS) for developing code.

*Communications interfaces

None

ii.) Software Product Features:

Validity Checks: JavaScript provides validity checks for various fields in the forms.

Sequencing Information: All the information regarding exam details, student list, question details, display of result should be handled sequentially that is data should be stored only in a particular sequence to avoid any inconvenience

Error Handling: If any of the validations or sequencing flows does not hold true then

appropriate error messages will be prompted to the user for doing the needful.

iii.) Performance Requirements: This subsection specifies numerical requirements placed on the software or on the human interaction with the software, as a whole. Numerical requirements will include:

*300 terminals will be supported at a time

*Only text information will be supported (HTTP)

*All the transactions will be processed within seconds.

iv.) Design Constraints: None

v.) Software System Attributes:

*Security: Only authorized users will be able to access the website by entering the correct login name and corresponding password.

*Maintainability: The website can be maintained in present or future. It will be easy to incorporate new requirements in the individual modules.

*Portability: As the website is online so will be easily portable on various systems.The website will be also easily portable on any windows based system that has MSACCESS installed.

*Logical Database Requirements: The following information will be placed in the database:

*Organization Details: ID, Login Name, Email, Password, Institute Name.

*Institute Exam Details: ID, Ename, Tlimit, Passmarks, No. Of Questions, Pmarks, Nmarks.

*Institute Student List: Sid, Sname, Egiven, Marks, Result.

*Institute Question Details: QID, Question, A, B, C, D, and Answer.

*Other Requirements: None

Question 2: Develop Design document for the system mentioned in Question 1.

Solution:

ER Diagram

Notations for the components of ERD:

Entities: An entity is something about which the business needs to store data. An entity is a class of persons, places, objects, events or concepts about which we need to capture and store data. An entity instance is a single occurrence of an

entity.

Attribute: An attribute is a descriptive property or characteristic of an entity. Synonyms include element, property and field.A compound attribute is one that actually consists of other attributes. It is also known as a composite attribute. An attribute “Address” is the example of compound attribute as shown in the following illustration

Relationships: A relationship is a natural business association that exists between one or more entities. The relationship may represent an event that links the entities.

Cardinality: defines the minimum and maximum number of occurrences of one entity that may be related to a single occurrence of the other entity. Because all relationships are bidirectional, cardinality must be defined in both directions for every relationship.

Draw ERD for Online Examination System. Make necessary assumptions.

Figure:- ERD


Data Flow Diagrams

A DFD can be categorized in the following forms:

Context diagram: An overview of an organizational system that shows the system boundaries, external entities that interact with the system and the major information flows between the entities and the system. In this diagram, a single process represents the whole system.

First level DFD: A data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.

Draw the DFDs upto 2nd level for Online Examination System.
Figure:- Level 0

Figure:- Level 1


Figure:- Level 2

Question 3: Explain various certifications available to software development organizations which reflect on the processes they follow for the development of software.

Solution:

Certifications

Several certification programs exist to support the professional aspirations of software testers and quality assurance specialists. No certification now offered actually requires the applicant to show their ability to test software. No certification is based on a widely accepted body of knowledge. This has led some to declare that the testing field is not ready for certification.[50] Certification itself cannot measure an individual’s productivity, their skill, or practical knowledge, and cannot guarantee their competence, or professionalism as a tester

Software testing certification types

• Exam-based: Formalized exams, which need to be passed; can also be learned by self-study [e.g., for ISTQB or QAI]

• Education-based: Instructor-led sessions, where each course has to be passed [e.g., International Institute for Software Testing (IIST)]

Testing certifications

• ISEB offered by the Information Systems Examinations Board

• ISTQB Certified Tester, Foundation Level (CTFL) offered by the International Software Testing Qualification Board

• ISTQB Certified Tester, Advanced Level (CTAL) offered by the International Software Testing Qualification Board

Quality assurance certifications

• CSQE offered by the American Society for Quality (ASQ)

• CQIA offered by the American Society for Quality (ASQ)

Quality Assurance Certifications:

There are several certifications available in the industry to ensure that Organizations follow Standards Quality Processes. Customers makes this as qualifying criteria while selecting a software vendor. Software testing is a part of the software quality assurance (SQA) process. In SQA, software process specialists and auditors are concerned for the software development process rather than just the artifacts such as documentation, code and systems. They examine and change the software engineering process itself to reduce the number of faults that end up in the delivered software: the so-called “defect rate”. What constitutes an “acceptable defect rate” depends on the nature of the software; A flight simulator video game would have much higher defect tolerance than software for an actual airplane. Although there are close links with SQA, testing departments often exist independently, and there may be no SQA function in some companies.

Software testing is a task intended to detect defects in software by contrasting a computer program’s expected results with its actual results for a given set of inputs. By contrast, QA (quality assurance) is the implementation of policies and procedures intended to prevent defects from occurring in the first place.

ISO 9000

This standard was first established in 1987, and it is related to Quality Management Systems. This helps the organization ensure quality to their customers and other stakeholders. An organization who wishes to be certified as ISO 9000 is audited based on their functions, products, services and their processes.The main objective is to review and verify whether the organization is following the process as expected and check whether existing processes needs improvement.

This certification helps -

• Increase the profit of the organization

• Improves Domestic and International trade

• Reduces waste and increase productivity of the employees

• Provide Excellent customer satisfaction

CMMI level

The Capability Maturity Model Integrated (CMMI) is a process improvement approach developed specially for the software process improvement. It is based on the process maturityframework and used as general aid in business processes in Software Industry. This model is highly regarded and widely used in Software Development Organizations.

CMMI has 5 levels. An organizations is certified at CMMI level 1 to 5 based on the maturity of their Quality Assurance Mechanisms.

• Level 1 – Initial: In this stage quality environment is unstable. Simply, no processes has been followed or documented

• Level 2 – Repeatable : Some processes are followed which are repeatable. This level ensures processes are followed at the project level.

• Level 3 – Defined : Set of processes are defined and documented at the organizational level. Those defined processes are subject to some degree of improvement.

• Level 4 – Managed : This level uses process metrics and effectively controls the processes that are followed.

• Level 5 – Optimizing : This level focuses on the continuous improvements of the processes through learning & innovation.

Test Maturity Model (TMM):

This model assesses the maturity of processes in a Testing Environment. Even this model has 5 levels , defined below -

• Level 1 – Initial: There is no quality standard followed for testing processes and only ad-hoc methods are used at this level

• Level 2 – Definition: Defined process .Preparation of test strategy, plans, test cases are done.

• Level 3 – Integration: Testing is carried out throughout the software development life cycle (SDLC) – which is nothing but integration with the development activities E.g. V- Model.

• Level 4 – Management and Measurement: Review of requirements and designs takes place during this level and criteria has been set for each level of testing

• Level 5 – Optimization: Many preventive techniques are used for testing processes and tool support(Automation) is used to improve the testing standards and processes.

Conclusion:

Quality Assurance is to check whether the product developed is fit for use. For that, Organization should have processes and standards to be followed which need to be improved on a periodic basis. It concentrates mainly on the quality of product / service that we are providing to the customers during or after implementation of software.

Show more