Course Catalogue

Module Code and Title:       CAP305          Project           

Programme:                          BCA

Credit Value:                         36

Module Tutor:                       All tutors of IT/Maths Department

Module Coordinator:            Vijay Gurung

General Objective: This module aims to allow students to advance their understanding of the software development process through the accomplishment of a full-scale project. The main objective is to give students a thorough experience in undertaking and completing a large piece of work with self-responsibility as well as teamwork. Students will apply software design skills, systems analysis and design, database and networking concepts learnt throughout the programme, including the technical skills of analysis of an existing system, redesign and design alternatives. Successful graduates of the programme will thus have a substantial addition to their portfolio of actual outputs.

Learning Outcomes – On completion of the module, learners will be able to:

  1. Prepare a formal specification for a software system after requirement analysis.
  2. Perform a feasibility analysis.
  3. Plan and write a project proposal.
  4. Execute planned activities, make realistic work commitments, and present the work done towards software development effectively within a pre-decided timeline.
  5. Design and codify the developed software with proper documentation.
  6. Maintain milestones in an actual full-scale software development cycle.
  7. Prepare a formal test case for software testing.
  8. Apply best practices in software development strategies to develop an independent project.
  9. Apply basic software quality assurance in testing and debugging of developed software.

Learning and Teaching Approach:

Approach

Hours per week

Total credit hours

Group meetings with project guides*

2

90

Independent study & group work

6

270

Total

360

*This time will also occasionally be used for briefings to the whole class.

 

Assessment Approach:

Through the project, students must identify different software development methodologies, execute planned activities, make realistic work commitments, and present the work done effectively within a pre-decided timeline. During this assessment the students should learn and practice various tools and methods for software development and quality assurance. The assessment is categorized by the different phases of a Software Development Life Cycle (SDLC). Students are divided into groups for the project based on common interests, with faculty similarly assigned as guides. The total expectation for faculty guidance is approximately 1 faculty per 10 students. The group work will help in developing collaborative working skills, team work, and time management. The project is divided into two different semesters (Fifth Semester & Sixth Semester). 30% of the total weightage is allocated in the fifth semester and the remaining 70% will be assessed in the sixth semester. As a whole, the module marks contribute to the student’s sixth semester aggregate.

A. Requirement Gathering And Analysis: Portion of Final Mark: 10% [assessed within in 5th semester]

Business requirements are gathered in this phase. The main focus of this phase is on meetings with managers, stakeholders and users that are held in order to determine requirements such as identifying users of a system, how they will use the system, type of data that should be input into the system, and desired output of the system.

Activities: Software Requirement Specification (SRS) gathering and analysis. A group presentation session is organised where individual group members should participate. This presentation is organised to judge group members’ awareness about the project requirements. Timeline: must be completed by the mid-point of the 5th semester, with progress evaluated weekly.

B. System Planning And Design: Portion of Final Mark: 20% [assessed within in 5th semester]

Once the requirement analysis is done, project groups will start working on planning. This phase covers the topics such as the plan activities, functionalities, business requirements, and resources allocation. In this phase the system and software design is prepared from the requirement specifications that were studied in the first phase. System Design Planning helps in specifying hardware and system requirements and also helps in defining overall system architecture including a database design plan. The system design specifications serve as the input for the next phase.

Activities: Creating system design using tools such as DFD diagram and wireframes. A Requirement Specification document and system design is created that serves the purpose of guiding the next phase of the development cycle. The individual group have to submit project documentation through the planning and design phase. Timeline: must be completed by the end of the 5th semester, with progress evaluated weekly.

C. Implementation / Coding: Portion of Final Mark: 30% [assessed within in 6th semester]

On receiving system design documents, the work is divided in modules/units and actual coding is started. Project groups have to present the wireframe of the project and to transform the wire frame / requirement into the actual product (code). The project development progress is regularly monitored by the project guides.

Activities: Sample coding has to be written. The Project groups have to present a demo on the basic code modules (complete) but the mid-point of the 6th semester. The demo should depict the process flow.

D. Testing: Portion of Final Mark: 15% [assessed within in 6th semester]

After the code is developed, it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirement gathering phase. During this phase, unit testing, integration testing, system testing and acceptance testing are done.

Activities: The Project groups have to present a demo of the system in action in front of the project guide as well as some external reviewers. The project groups need to submit the Software Testing Plan and Test Case document to the guide within three weeks of the previous milestone (Implementation/Coding). These documents enclose the detailed report regarding the testing.

E. Presentation/Demonstration: Portion of Final Mark: 15% [assessed within in 6th semester]

The programme department organises the final demonstration and presentation session for the project groups. During this presentation, the actual deployed version of the software will be demonstrated by project groups.

Activities: The groups need to present the project in the form of a live demo in the second-last teaching week of the 6th semester. There will be viva-voce. The groups will be marked on the basis of two criteria’s: individual and group-based. The individual criteria includes presentation skills, communication skills and knowledge about the software development tools used whereas group-based criteria includes user friendliness of the system, system security and database system.

F. Final Project Report: Portion of Final Mark: 10% [assessed within in 6th semester]

The groups have to submit a final project report in hardcopy. It should contain all the SDLC steps and future scope of the project. Due in the final teaching week of the 6th semester.

 

Areas of assignments

Quantity

Weighting

A. Requirement Gathering and Analysis

1

10%

B. System Planning and Design

1

20%

C. Implementation/Coding

1

30%

D. Testing

1

15%

E. Presentation/Demonstration

1

15%

F. Final Project Report

1

10%

Total Continuous Assessment (CA)

 

100%

 

Prerequisites: CAP102, CAP203, CAP204, CSC205, CPR202, CPR203, CPR304

Subject Matter:

The Project is group-based work distributed in two semesters (5th and 6th Semester), including a winter vacation in between, so that groups get enough time to comfortably finish a complete cycle of project development. There is no tightly defined syllabus for the project module. Each group is expected to pick a topic of their interest for the project work, possibly a live project from an outside organization and submit a proposal at the fifth semester. The Programme Committee reviews and advises the groups to finalize the project proposal. A supervisor/ project guide is assigned by the committee who is a member of the IT/Maths department. The latter provides support and guidance during the entire course of the project work. The groups are responsible for organizing their own project work and accountable for success of their work. They will be advised to meet and consult with the supervisor on a regular basis. The project activities run parallel with course work until the semester-end. Each group is expected to demonstrate/present their project, especially the design and the implementation (functionality) of the project, based on which the groups will be evaluated.

Reading List:

  1. Essential Reading
    • Beizer, B. (2006). Software Testing Techniques. 2nd Edn. Wiley India limited.
    • Pressman, R.S. (2005). Software Engineering. McGraw-Hill, Delhi Iyar J.
    • Dane Cameron. (2013). A Software Engineer Learns HTML5, JavaScript and jQuery
    • Software Project Management: A Practitioner's Approach (2nd ed.). (1994). McGraw-Hill Publishing.
  2. Additional Reading
    • Steve McConnell. (2004). Code Complete: A Practical Handbook of Software Construction
    • Students need to refer different references from the library and internet based on their individual project work.

Date: May 30, 2015