Online MCA - MCS-213 Software Engineering

 

MCS-213 Software Engineering (Credits : 4)



ONLINE PROGRAMMES

Search for IGNOU  WEBSITES


1)https://iop.ignouonline.ac.in/
2)http://ignou.ac.in/
3)https://iop.ignouonline.ac.in/programme
4)https://lms.ignouonline.ac.in/
5)https://www.facebook.com/OfficialPageIGNOU/
6)https://twitter.com/OfficialIGNOU/

 The objective of the Course is to make the learner efficiently work as software engineer. S/he should be well acquainted with all the phases of Software Development Life Cycle as well as latest topics in Software Engineering. The learner should be able to apply the concepts learned for doing research.
 
The broad objective of the MCA programme is to prepare graduate students for productive careers in software industry and academia by providing an outstanding environment for teaching and research in the core and emerging areas of the discipline. The programme’s thrust is on giving the students a thorough and sound background in theoretical and application-oriented courses relevant to the latest computer software development. The programme emphasizes the application of software technology to solve mathematical, computing, communications/ networking and commercial problems.
This Master’s Degree Programme has been designed with a semester approach in mind. The first-year courses are aimed at theoretical knowledge and practical skills development in core computers science subjects. The second year is more focused on advanced courses providing conceptual framework and the project work.


  Course Structure 

 

Semester I

 

 

Course Code

Course Title

Theory/Practical

Credits

MCS-211

Design and Analysis of Algorithms

Theory

4

MCS-212

Discrete Mathematics

Theory

4

MCS-213

Software Engineering

Theory

4

MCS-214

Professional Skills and Ethics

Theory

2

MCS-215

Security and Cyber Laws

Theory

2

MCSL-216

DAA and Web Design Lab

Practical

2

MCSL-217

Software Engineering Lab

Practical

2

 

 

 

 

 

Semester II

 

 

MCS-218

Data Communication and Computer Networks

Theory

4

MCS-219

Object Oriented Analysis and Design

Theory

4

MCS-220

Web Technologies

Theory

4

MCS-221

Data Warehousing and Data Mining

Theory

4

MCSL-222

OOAD and Web Technologies Lab

Practical

2

MCSL-223

Computer Networks and Data Mining Lab

Practical

2

 

 

 

 

 

Semester III

 

 

MCS-224

Artificial Intelligence and Machine Learning

Theory

4

MCS-225

Accountancy and Financial Management

Theory

4

MCS-226

Data Science and Big Data

Theory

4

MCS-227

Cloud Computing and IoT

Theory

4

MCSL-228

AI and Machine Learning Lab

Practical

2

MCSL-229

Cloud and Data Science Lab

Practical

2

 

Semester IV

 

 

MCS-230

Digital Image Processing and Computer Vision

Theory

4

MCS-231

Mobile Computing

Theory

4

MCSP-232

Project

Project

12

No. of Theory Courses – 15   No. of Practical Courses – 6  Project – 1 Total Credits: 80

Session or Lecture  Plan - MCS-213

Session

MCS-213: Software Engineering

 

1

Unit 1:

Software Engineering and its models

Unit 2:

Principles of Software Requirements Analysis

2

Unit 3:

Software Design

Unit 4:

Software Quality Assurance

Unit 5:

Software Project Planning

Unit 6:

Risk management and Project Scheduling

4

Unit 7:

Software testing

Unit 8:

Software change management

Unit 9:

Web Software Engineering

5

Unit 10:

Mobile Software Engineering

Unit 11:

CASE tools

Unit 12:

Advanced Software Engineering

       6

Unit 13:

Software Process Improvement

Unit 14 and 15:

Emerging Trends and Introduction to UML

Unit 16:

Data Science for Software Engineers

Please note each session is of 2 hours 

BLOCK 1 : Overview of Software Engineering

 Unit 1: Software Engineering and its models

 Evolution of Software Engineering

Software development models

Capability maturity models

Software process technology

 

Unit 2 Principles of Software Requirements Analysis

 Engineering the product

Modeling the system architecture

Software prototyping and specification


Unit 3 Software Design

Data design

Architectural design

Interface design

HCI design

Modular design

User Experience Design

Design for Mobility

Pattern based Design


Unit 4 Software Quality and Security

Quality Concepts

Quality Assurance

Security Engineering


BLOCK 2: Software Project Management

 Unit 5: Software Project Planning

 Different types of project metrics

Software project estimation

Models for estimation

Automated tools for estimation

Software Analytics


Unit 6: Risk management and Project Scheduling

Identification of Software risks

Monitoring of risks

Management of risks

 Formulating a task set for the project

Choosing the tasks of software engineering

Scheduling methods

The Software project plan


Unit 7: Software Testing

Component Level Testing

Integration Level Testing

Mobility Testing


Unit 8 Software change management

Baselines

Version control

Change control\

Auditing and reporting

 

BLOCK 3: Web, Mobile and CASE tools

 

Unit 9: Web Software Engineering

Different layers

Issues of management of web based projects

Metrics

Analysis

Design

Testing


Unit 10: Mobile Software Engineering

Transition from design to coding

of mobile applications

Elements of mobile applications

Approaches to the development

of mobile applications


Unit 11: CASE tools

Analysis tools

Design tools

SQA tools

UI design tools

Software testing tools

Web engineering tools


Unit 12: Advanced Software Engineering

Clean room Software engineering

Component based Software engineering

Re-engineering

Reverse engineering


Block-4 : Advanced Topics in Software Engineering

Unit-13 : Software Process Improvement

Unit-14 : Emerging Trends

Unit-15 : Introduction to UML

Unit-16 : Data Science for Software Engineers


What is Software Engineering?


Software Engineering also called Software development process. A process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.


Software Engineering helps to apply theoretical knowledge of Computer Science for building high-quality software products for various applications.

A Software is a set of instructions or data that operates the hardware. Application is a package to perform a specific task. Software is an all encompassing term for computer data. Application is a type of software that does a certain task.


Types of Software: 

Console applications are light weight programs run inside the command prompt (DOS) window. They are commonly used for test applications.


Windows Applications are form based standard Windows desktop applications for common day to day tasks. Microsoft word is an example of a Windows application.


Web applications are programs that used to run inside some web server (e.g., IIS) to fulfill the user requests over the http. A typical example of web application is Hotmail and Google.


Web services are web applications that provide services to other applications over the internet. Google search engine's web service, e.g., allows other applications to delegate the task of searching over the internet to Google web service and use the result produced by it in their own applications.



Software Engineering skill and techniques being used in Software Development Life Cycle (SDLC).

SKILLS YOU WILL GAIN are

Project Planning

Software Testing

Systems Design

Software Engineering

Project Management


Software development is not just about coding, it also involves the application of scientific knowledge and well-defined engineering techniques to produce maintainable, scalable, cost-effective and on-schedule software products. This specialization covers software engineering methodologies, techniques, and tools for planning, capturing requirements, designing, implementing, testing, and maintaining large-scale software systems. It combines scientific and technological knowledge with many hands-on examples and real-life case studies for students to apply software engineering skills in a realistic development environment. This specialization is intented for programmers who want to deepen their understanding of the methodologies and techniques involved in software development. Basic object-oriented programming (OOP) concepts are required to attempt the series of courses. It is recommended to take the courses in the order they are listed, as they progressively develop teachniques and concepts about software engineering, it is not a hard requirement.

Applied Learning Project

Learners will apply different software engineering techniques for planning, capturing equirements, designing, implementing, testing, and maintaining large-scale software systems through many hands-on examples and real-life case studies in a realistic development environment.


Large scale software development poses special challenges. This course targets to expose the students to the challenges of large scale software development and would expose the students as to how to overcome those. Starting with basic life cycle model concepts, it would discuss requirements specification, design, and testing issues.

Software engineering is a detailed study of engineering to the design, development and maintenance of software. Software engineering was introduced to address the issues of low-quality software projects. The outcome of software engineering is an efficient and reliable software product. The candidates would learn about different process models, analysis and documentation of software requirement system. They will learn on different software analysis and design models and techniques. They will also learn on software project management fundamentals and various testing, debugging and validation techniques of software development.

Writing an SRS this way can be a painstaking process. And if a requirement changes, your SRS can fall easily out-of-date. Plus, there can be versioning issues with requirements documents in Word. 





Explore more

  

MCS-213 PDF 

   IGNOU  Books 

  SLM Link (egyankosh):

1st Semester: https://egyankosh.ac.in/handle/123456789/72415

2nd Semester: https://egyankosh.ac.in/handle/123456789/78745

Link for 1st Semester Assignment on IGNOU Website (Assignment for MCAOL is same as of assignment of MCA_NEW):  

https://webservices.ignou.ac.in/assignments/schools/socis/mca_new/2021/jan%20jul%2022/semester1jan22andjuly22.pdf 

    Assignment Questions 

   







IIT Kharagpur has created National Digital Library for students for all subjects.  Below is the link
:




It contains 4 crore 6O lakh books.  Please share this information as much as possible for students to know & avail of this priceless facility for academic knowledge
.








Practical class of software engineering                                                                                                                                                          

This lab is an attempt to help you practice proper software development methodology. 

Software Engineering helps to apply theoretical knowledge of Computer Science for building high-quality software products for various applications.

Software Engineering relates to the process of development of quality software. 
Normally, Software is the single most expensive item in a computer system.

During the life time of a system , about 95% of the cost is incurred on software and only 5% on hardware. Computer Aided Software Engineering (CASE) tools help in many software engineering tasks with the help of the information created using the  computer. CASE tools support software engineering tasks for the different phases of Software Development Life Cycle (SDLC). MCS-0213 discusses various aspects of Software Engineering in detail.



   

   
  A software engineer should start a blog as a Practical part. 

  • Recording your progress
  • Sharing knowledge with the community
  • Offload your head onto the screen
  • It's fun
  • Meet other engineers
  • Learn from feedback
  • Display your skills
  • Learn to communicate better
  • Establish yourself as an expert
  • Keep others in the loop

A person who writes a blog or a weblog is a blogger. Blogging is the act of posting content on a blog.

The main purpose of blog is to convey messages about events, announcements,  needs, review etc. Blogs are usually managed using  a web browser and this requires active internet connection.


Websites that provides blog services :

1)Blogger

2)Joomla

3)WordPress.com

4)Tumblr

5)Drupal

6)weebly                    
 
SECTION 1: SOFTWARE ENGINEERING LAB 

1.0 Introduction 1 
1.1 Objectives 1 
1.2 Software Project Management 1 
1.3 Working with Requirements 3 
1.3.1 Feasibility Report 
1.3.2 Software Requirement Specifications 
1.4 Design Document 10 
1.5 Testing 12 
1.6 Implementation 13 
1.7 List of Problems 13 
1.8 Summary 1

 OBJECTIVES 
After going through and working with the problems given in practicals, you should 
be able to: 
  1. Develop plan for a Software Project; 
  2. Develop test cases; 
  3. Reengineer the Software; 
  4. Prepare and implement change requests and 
  5. Develop Software with good quality.
SOFTWARE PROJECT MANAGEMENT
 
The software project management tools support project planning and scheduling.

A Sample Partial Project Plan 
Overall Goal of the Project 

The proposed software system should be able to: 

  • Read the structured data available in the Excel files and store it in a 
  • Database system. 
  • validate data of the database on the basis of predefined business rules. 
  • prepare reports on data that is found to be in error during validation. 
  • prepare MIS reports from the validated data.

MIS Reports are reports required by the management to assess the performance of the organization and allow for faster decision-making.


  




Why Analysis is said to be the backbone of software engineering

An analysis is a detailed examination of a topic. It involves performing research and separating results into smaller, logical topics to form reasonable conclusions. It presents a specific argument about the topic and supports that argument with evidence.

To summarize is to take ideas and present them again in a more concise way. But to analyze is to reach your own conclusions about how the elements of a topic, ...

What is analysis and how is this different than summary?

To summarize is to take ideas and present them again in a more concise way. But to analyze is to reach your own conclusions about how the elements of a topic, theory, issue, or story fit together to create something that may not be evident at first glance.






WORKING WITH REQUIREMENTS  

Some of the activities that you can do with the help of tools are: 
  • Cost Estimation 
  • Creation of SRS 
  • Traceability of requirements
  • Non-ambiguous requirements document
  • Creation of Models  

Good Read : How to write an Algorithm


























Practical Class -1 : Discussed all aspects of  software development with respect to the topic "Online Library management system". Students of all Groups (G1G2 G3) actively and enthusiastically participated in this activity. 


Practical Class - 2 : Trainer Communicated complete  Practical Lab Manual in the class and resolved the queries for the same.


Practical Class -3  : Sample SRS  (of  25 pages ) for topic  Online Art Galery discussed and resolved the gaps for the same. Differentiated between synopsis and project report.


Practical Class -4 : "How to create ERD " this part was covered with example. Assigned practice  exercise for the same.


Practical Class -5 : How to select a project title and  Computer Languages for the project work. Shared sample for writing the scope statement. Resolved the challenges in handling practical questions.


Practical Class -6 : "How to create DFD " this part was covered with example. Students have created blog and shared the blog link in shred Google form also . Assigned practice  exercise for the same.


Practical Class -7 : Unit-14 started but not finished . Had discussion with students based on Session -11 
questions. Who all have participated actively during the session have data for the same . Randomly reviewed the blog of 8 students. Resolved operational concerns of the students also.

Practical Class -8: Finished Unit-14. Discussion on Session -2 question.  How to create  an Algorithum Randomly reviewed the blog of 10 students. Resolved operational concerns of the students also.



Following is the list of problems that are to be attempted during the prescribed lab 
sessions. 

Project Planning 

Session 1: Suppose that you need to build software for a Railway Reservation 
System. Write a statement of scope that describes the software. 

Scope statement for the Railway Reservation System

 

Reservation Clerk is a person to create and Cancel Reservation by entering Login Password. Manager is a person who updates the Train Information by entering his own Password. The system can handle only reservation and train details efficiently and it doesn’t contain other details about the railway administration. The main purpose of this system is

 

Ø  Creating reservation

Ø  Cancel reservation

Ø  View reservation status

Ø  View train schedule

Ø  Generating reports

Ø  Update train schedule

Ø  Update reservation details

 

The Seats of Reservation cannot be more than the seats of Train at that date. This is a constraint that has to be followed by the Clerk when he creates the Reservation. For that purpose he wants to check the seats remaining present in the Train.

 

The scope of this system in creating Reservation is that, from any Railway Station we can Create Reservation, which is updated automatically in all the stations. Hence, there is no confusion to the Reservation Clerk in all the stations to create the Reservation. This can be possible by maintaining Global Database. Clerks present at different stations can access the global database and the clerks can easily understand the remaining reservation seats. It provides the ability to create reservation from different places for a train.

 

The system is so secured and clerk and manager utilize it. Nobody can able to access the system without his or her permission because of providing login facility to the system. The password is in the form of cipher text by using cryptography technology, so it cannot be hacked by any person. The global database can passes through network in order to utilized by managers or clerks at different places. So, we want to provide network security because of the data not hacked by the other persons when it is going through network cables. This network security is provided by the cryptography technology.

 Session 2: Estimate the effort and cost required to build the above software. Use any 

estimation technique. 


 This question is to estimate the size, effort, schedule, and cost of the railway        reservation project.

 The four basic steps in Railway Reservation project estimation are:

1. Estimate the size of the development product. This generally ends up in either Lines of Code (LOC) or Function Points (FP).

2. Estimate the effort in person-months or person-hours.

3. Estimate the schedule in calendar months.

4. Estimate the project cost in dollars (or local currency)

 we are assuming that railway reservation project requires 75 KBLOC. On the basis of this size of the project we have to estimate the remaining estimations. We have the formula to estimate the schedule of the project.

     Schedule in months = 3.0 * (effort-months)1/3

 Opinions vary as to whether 2.0 or 2.5 or even 4.0 should be used in place of the 3.0 value - only by trying it out will you see what works for you.


 Of course, you must also keep in mind other important factors that affect the accuracy of your 

estimates, such as:

 

• The accuracy of all the estimate's input data (the old adage, "Garbage in, Garbage out", holds true)

• The accuracy of any estimate calculations (e.g., converting between  

   Function Points and LOC has a certain margin of error)

• How closely the historical data or industry data used to calibrate the model matches the project you are estimating

• The predictability of your organization's software development process, and whether or not the actual project was carefully planned; monitored and controlled, and no major surprises occurred that caused unexpected delays.




When they analyze the results, most people are startled by the consequences of different tradeoffs.  For example, the following tables provide 3 different estimate options for a 75 KBLOC project are:



              Nominal Plan

 

Management Metric

Planning Value

Effort (Staff months)

40

Schedule (Calendar months)

12.4

Cost

$605,868

Peak staff (People)

4.8

Average staff (people)

3.2

 

Shortest Schedule  Plan

 

Management Metric

Planning Value

Effort (Staff months)

97

Schedule (Calendar months)

10

Cost

$1,479,170

Peak staff (People)

14.6

Average staff (people)

9.8

  

Least Cost  Plan


Management Metric

Planning Value

Effort (Staff months)

14

Schedule (Calendar months)

16.2

Cost

$212,131

Peak staff (People)

1.3

Average staff (people)

0.9



Requirements Analysis 

Session 3: Develop SRS (Software Requirements Specification) for the Railway 
Reservation System (RRS).. 

As an SRS gives you a complete picture of your entire project. It provides a single source of truth that every team involved in development will follow. It is your plan of action and keeps all your teams — from development to maintenance — on the same page .


Session – 3

Software Requirement Specification for Railway Reservation System The SRS for Railway Reservation System is given as follows:

Introduction


  • Purpose

  • Scope

  • Definition

  • Product and its function

  • Benefits and Goals Overall Description

  • Product Description

  • Product Functioning

  • Functions of Project

  • Users of Project Specific Requirements

  • Interface Requirements

  • User Requirements

  • Hardware Requirements

  • Software Requirements

  • Logical Database Requirements

  • Basic Processing Action of the System Appendices

  • Input/Output Formats

  • Instruction for Security

  • Data Model

  • Functional Model


Introduction

Purpose:


The purpose of Railway Reservation System is to create Reservation, Cancel Reservation, Viewing Train Information, Viewing Reservation Details, Updating Train Information, Updating Reservation Details and Generate Reports.


Scope:


Reservation Clerk is a person to create and Cancel Reservation by entering Login Password. Manager is a person who updates the Train Information by entering his own Password. The system can handle only reservation and train details efficiently and it doesn’t contain other details about the railway administration. The main purpose of this system is


  • Creating reservation

  • Cancel reservation

  • View reservation status

  • View train schedule

  • Generating reports

  • Update train schedule

  • Update reservation details


The Seats of Reservation cannot be more than the seats of Train at that date. This is a constraint that has to be followed by the Clerk when he creates the Reservation. For that purpose he wants to check the seats remaining present in the Train.


The scope of this system in creating Reservation is that, from any Railway Station we can Create Reservation, which is updated automatically in all the stations. Hence, there is no confusion to the Reservation Clerk in all the stations to create the Reservation. This can be possible by maintaining Global Database. Clerks present at different stations can access the global database and the clerks can easily understand the remaining reservation seats. It provides the ability to create reservation from different places for a train.


The system is so secured and clerk and manager utilize it. Nobody can able to access the system without his or her permission because of providing login facility to the system. The password is in the form of cipher text by using cryptography technology, so it cannot be hacked by any person. The global database can passes through network in order$to utilized!by managers!or clerks at different places. So, we want to provide network security because of the data not hacked by the other persons when it is going through network cables. This network security is pzovided by the cryptograrhy technology.


Definition:


This is a project, which is used to Create and Cancel Reservation and to Update the Train and Reservation details.


Product & its functions:


The Product of this project is Railway Reservation System, which is to create Reservation, Cancel Reservation, Viewing Train Information, Viewing Reservation Details, Updating Train Information, Updating Reservation Details and Generate Reports.


Benefits and Goals:


The Benefit of this project is to reduce the work of Reservation Clerk and it is easy to check the remaining seats present in the Train and easily view the Reservation Status of the Train and tells to the passenger.


The Goals of this project is that, from any Railway Station we can Create Reservation, which is updated automatically in all the stations. Hence, there is no confusion to the Reservation Clerk in all the stations to create the Reservation.



Overall Description

Product Description:


The Reservation Clerk gets the details from the passenger and he checks whether the weats are remaining in order vo grecte`the Reservation. If the seats are available, then he allocate the seat to the passenger by giving the`Reservation Slip to the passenger and he Update the Reservation details. If weats`are not`availqble, hg places the Rewervation in ‘Waiting List’.


The Resmrvation Clerk gets the details from the passenger in order to cancel the Reservation and Canwels Reserva~ion. He also$Update the!Reserva|ion details after canceling the Reserva|ion and he creates the Reservction gor the Passenger who are placed in the Waiting List.


The reservation clerk tell the reservation status to passengers who are in waiting list.


The manager updates the train information and he generates the report of the train, reservation details.


Product Functioning:


  • The reservation clerk takes the detail from the passenger.

  • The reservation clerk checks whether the seats are reaming or not.

  • If seats are available, reservation clerk create the reservation and updates the reservation details.

  • If seats are not available he place the reservation in waiting list.

  • Reservation clerk cancels the reservation and update the reservation details.

  • The manager updates the train information and generates the report.


Functions of Project:


There are seven functionalities provided by the Railway Reservation System.


  1. Create Reservations:     A passenger should be able to reserve seats in the train. A reservation form is filled by the passenger and given to the clerk, who then checks for the availability of seats for the specified date of journey. If seats are available them the entries are mode in the system regarding the train name, train number, date of journey, boarding station, destination, person name, sex and total fare. Passenger is asked to pay the required fare and the tickets are printed. It the seats are not available then the passenger is informed.


  1. Cancel Reservation:       A passenger wishing to cancel a reservation is required to fill a form. The passenger then submits the form and the ticket to the clerk. The clerk then deletes the entries in the system and changes the reservation status of that train. The clerk crosses the ticket by hand to mark as cancelled. 


  1. Update Train Info:   Only the administrator or manager enters any changes related to the train information like change in the train name, train number, train route etc. in the system.


  1. Generate Report:        Provision for generation of different reports should be given in the system. The system should be able to generate reservation chart, monthly train report etc.



  1. Verify login:    For security reasons all the users of the system are given a user id and a password. Only if the id and password are correct is the user allowed entry to the system and select from the options available in the system.


  1. View Reservation Status: All the users should be able to   see   the reservation status of the train online. The users needs to enter the train number and the pin number printed on his ticket so that the system can display his current reservation status like confirmed, RAC or Wait – Listed.


  1. View Train Schedule:   Provision should be given to see information related to the train schedules for the entire train network. The user should be able to see the train name, train number, boarding and destination stations, duration of journey etc.


Users of Project:


Clerk: This person uses this system to create reservation, cancel reservation, view reservation status, update reservation details, view train schedule.


Manger: This person uses this system to update train information and to genercte reports.



Specific Requirements

Interface Requirements:


The interface requirements of Railway Reser~ation System include I

  • Easy to Navigate.

  • Less Graphics

  • Display Error Messages ane Relevant Dialogue Boxes

  • Providing high security such that not to be modified by irrelevant users.

  • It must provide anl options such that(to reduce the  input cctions by usevs.



User Requirements:


After a brief study of requirements of clients the requirements of this        system is given as follows:


  • Login information

  • Reservation details

  • Train details


Hardware Requirements:


The hardware requirements of this system is given by


  • 128 MB of RAM

  • 40 GB of HDD

  • Printer

  • LAN Cable


Software Requirements:


The software requirements of this are as follows:


  • Windows 2000 OS

  • SQL


Logical Database Requirements:


The following information is to be stored in the database


  • Passenger details

  • Reservation details

  • Train details

  • Login details


Basic Processing Actions of the System

The basic actions that are performed by the system is given as follows:


  • Verification of user

  • Maintain Reservation details

  • Maintain Train details


Appendices

Input/Output formats:


The input format for the system is given as follows:


  • Login Screen




Create Reservation


Train No Date of Journey From To

Sl. No

Name of the Persons

Age

M/F

Requirement












Output format for the system contains the following screen



Train No 2076 Date of Journey 16-05-2006

From Hyderabad To New Delhi


Name of the Persons

Age

M/F

Requirement








This is the form that is to modified the train details. This form consists of no of seats textbox, which shows the remaining seats present in the train. The no of seats value is automatically changed when we create or cancel reservation. This is the form which consist of two buttons for the purpose of create reservation and to cancel reservation. When the seats text box has value zero than its, says no seats are remaining in the train to create reservation.













Reports for Railway Reservation System











This is report generated by manager after modifying train details.




This is report generated by the clerk in order to give the reservation details to the manager.


This is report generated by the clerk about the passenger details who take the reservation.



Instructions for Security:


Security is an integral part of any system. Reservation clerk can create or cancel reservation when he goes through the login form. He is not able to update the train information and generating report. Manager update the train information and generate report only when he go through the login form. So, the system so secured, because of avoiding other people to update the train information and reservation details.


Data Model:


Class involved in project


  • Passenger

  • Manager

  • Clerk

  • Login

  • Reservation

  • Train

  • Reports


Attributes of the Entities are:


Objective Classes

Attribute

Passenger

P _ Name P _ Age

P _ Address P _ Phoneno

P _ Sex

Train

T _ Number T _ Name

T _ Time

T _ Boardsta T _ Dest

T _ Seatinfo

Reservation

R _ Number R _ Seatno R _ Trainno R _ Date

R _ Boardsta R _ Class

R _ Cost

Clerk

C _ Username

C _ Password

Manager

M _ Username

M _ Password

Report

Re _ Number

Re _ Name

Login

L _ Username

L _ Password


Association between the classes:


  • Train

has

Reservation

  • Clerk

updates

Login

  • Clerk

updates

Reservation

  • Manager

updates

Train

  • Manager

updates

Login

  • Manager

generate

Report

  • Passenger

has

Reservation

  • Clerk

get details



from

Passenger



Object Diagrams for the System



























Software Engineering


E-R Diagrams





















L_password L_Username




Functional Model



Train Details



User Name & Password


Passenger Details


Railway Reservation System


Reservation Slip View Train Status

View Reservation Status Generate Report







Login



Encoded Password


  Reservation





Enter Password

Log In



Ok

Get Reservation Info





Reservation Give Details

Check Seats Remaining



Ok





Allocate Reservation seat



Generating Report















Cancel Reservation

















Give Details

Login

Reservation

Dispense Money

  Reservation



Enter Password


  Login


Encoded Password


Log In

Ok

Update



View Reservation Status

Login

Encoded Password


  Reservation





Enter Password


Log In




Ok






View Reservation Info









View Train Schedule

Login

Encoded Password


  Train





Enter Password


Log In




Ok






View Train Info




Update Train Info









Verify login






Session – 4

  1. DFD’s upto appropriate levels for Railway Reservation System



Train Details



User Name & Password


Passenger Details


Railway Reservation System

Reservation Slip View Train Status

View Reservation Status Generate Report




Create Reservation

Login



Encoded Password


  Reservation





Enter Password

Log In



Ok

Get Reservation Info





Reservation Give Details

Check Seats Remaining


Ok





Allocate Reservation seat


Generating Report














Cancel Reservation




Give Details Dispense Money



  Reservation



Enter Password


  Login


Encoded Password


Log In

Ok

Update



View Reservation Status

Login

Encoded Password


  Reservation





Enter Password


Log In




Ok





View Reservation Info






View Train Schedule

  Login




Update Train Info















Verify login






  1. Draw ERD’s for RRS. Describe the relationship between different entities.

Attributes of the Entities are:

Objective Classes

Attribute

Passenger

P _ Name P _ Age

P _ Address

P _ Phoneno P _ Sex

Train

T _ Number T _ Name

T _ Time

T _ Boardsta T _ Dest

T _ Seatinfo

Reservation

R _ Number R _ Seatno R _ Trainno R _ Date

R _ Boardsta R _ Class

R _ Cost

Clerk

C _ Username

C _ Password

Manager


M _ Username

M _ Password

Report

Re _ Number

Re _ Name

Login

L _ Username

L _ Password


Association between the classes:

  • Train

has

Reservation

  • Clerk

updates

Login

  • Clerk

updates

Reservation

  • Manager

updates

Train

  • Manager

updates

Login

  • Manager

generate

Report

  • Passenger

has

Reservation

  • Clerk

get details



from

Passenger






















































L_password L_Username


(c) Design Data Dictionary for RRS. 
Data Dictionary

The Dictionary of the terms that are used in railway reservation system is given in the below table:


Name

Expansion of

Name

Where Used

Additional Description


Passenger


In Functional Diagrams & Data

Diagrams

This is an object who wants to create, cancel reservation and to

check reservation, train status.


Clerk


Reservation Clerk

In Functional Diagrams & Data Diagrams

This is an object who creates, cancel, and checks reservation status and update reservation

info.


Admin


Manager

In Functional Diagrams & Data

Diagrams

This is an object who maintains reservation and train info and

generate report.


Printer


In Functional Diagrams & Data

Diagrams

This is an object, which generate reports.


Login

Login information

In Functional Diagrams & Data

Diagrams

This is a data base object, which stores the login password and

user name.


Reservation

Reservation Information

In Functional Diagrams & Data

Diagrams

This is a data base object, which stores the reservation details.


Train

Train Information

In Functional Diagrams & Data

Diagrams

This is a data base object, which stores the train details.


Verify login



In Functional Diagrams

This is a process in order to check the user name and password given by the clerk and

manager.

Update Train

Info


In Functional

Diagrams

This is a process in order to

update the train information.

View Train

Schedule


In Functional

Diagrams

This is a process in order to

view the train information.

View Reservation

Status


In Functional Diagrams

This is a process in order to view the reservation details.

Create

Reservation


In Functional

Diagrams

This is a process in order to

create reservation.

Cancel Reservation


In Functional Diagrams

This is a process in order to cancel reservation.

Generate


In Functional

This is a process in order to




Report


Diagrams

generate report.

P _ Name

Passenger Name

In Data Diagrams

This is an attribute of a passenger.

P _ Age

Passenger Age

In Data Diagrams

This is an attribute of a

passenger.

P _ Address

Passenger

Address

In Data Diagrams

This is an attribute of a

passenger.

P _ Phoneno

Passenger Phone

No

In Data Diagrams

This is an attribute of a

passenger.

P _ Sex

Passenger Sex

In Data Diagrams

This is an attribute of a

passenger.

T _ Number

Train Number

In Data Diagrams

This is an attribute of a train. It

is an unique field.

T _ Name

Train Name

In Data Diagrams

This is an attribute of a train.

T _ Time

Train Time

In Data Diagrams

This is an attribute of a train.

T _ Boardsta

Train Boarding

Station

In Data Diagrams

This is an attribute of a train.

T _ Dest

Train

Destination

In Data Diagrams

This is an attribute of a train.

T _ Seatinfo

Train Seat

information

In Data Diagrams

This is an attribute of a train.


R _ Number

Reservation Number


In Data Diagrams

This is an attribute of a

reservation. It is a unique attribute.

R _ Seatno

Reservation Seat

Number

In Data Diagrams

This is an attribute of a

reservation.


R _ Trainno


Reservation Train Number


In Data Diagrams

This is an attribute of a reservation, which is a foreign key for the

‘Train Info’ object.

R _ Date

Reservation

Date

In Data Diagrams

This is an attribute of a

reservation.


R _ Boardsta

Reservation Boarding

Station


In Data Diagrams

This is an attribute of a reservation.

R _ Dest

Reservation

Destination

In Data Diagrams

This is an attribute of a

reservation.

R _ Class

Reservation

Class

In Data Diagrams

This is an attribute of a

reservation.

R _ Cost

Reservation

Cost

In Data Diagrams

This is an attribute of a

reservation.

C _ Username

Clerk User

Name

In Data Diagrams

This is an attribute of a clerk

C _ Password

Clerk Password

In Data Diagrams

This is an attribute of a clerk

M _ Username

Manager User

In Data Diagrams

This is an attribute of a





Name


manager.

M _ Password

Manager Password

In Data Diagrams

This is an attribute of a Manager

Re _ Number

Report Number

In Data Diagrams

This is an attribute of a report.

Re _ Name

Report Name

In Data Diagrams

This is an attribute of a report.

L _ Username

Login User

Name

In Data Diagrams

This is an attribute of a login.

L _ Password

Login Password

In Data Diagrams

This is an attribute of a login.





Lab Manual Design 

Session 5: Develop a modular design for RRS. 

The Railway Reservation System consists of so many interfaces in order to input and output the data. As this Railway Reservation System must involves the transfer of data to the server. The Railway Reservation System must manage the server in order to store the data of the reservation, train details. So, we must the data of the reservation, train to the server. So, we choose the Java Programming for the Railway Reservation System, because it is very suitable to the Client-Server architecture. Java programming is very efficient in interface designing. The below module is to create the interface to enter the train details and to create, cancel the reservation. The data that is entered in the text boxes, is stored in the database. When we click the “ Create Reservation” button, then we get another interface to enter the reservation details.

When we click the “ Create Reservation” button, then we get another interface to enter the reservation details for cancel .The data that is entered in the Create Reservation form can automatically updates the train details. The data that is entered in the Cancel Reservation form can also automatically updates the train details. The data is automatically stored in the server. Remaining users who are using that server can change this data.


class myframe extends JFrame implements ActionListener

{

JLabel l1,l2,l3,l4,l5,l6,l7; JTextField t1,t2,t3,t4,t5; JList lt1;

Jpanel p1,p2,p3,p4,p5,p6,p7; JButton b1,b2,b3,b4; Container   c; Myframe(String name)

{

super(name); c=getContentPane();

c.setLayout(new FlowLayout(FlowLayout.LEFT,30,30)); p1=new Jpanel();

p2=new Jpanel(); p3=new Jpanel(); p4=new Jpanel(); p5=new Jpanel(); p6=new Jpanel();

l1=new Jlabel(“Train No. :”,JLabel.RIGHT); l2=new Jlabel(“Train Name. :”,JLabel.RIGHT); l3=new Jlabel(“Train Time :”,JLabel.RIGHT);

l4=new Jlabel(“Train BoardStation :”,JLabel.RIGHT); l5=new Jlabel(“Train Destination :”,JLabel.RIGHT); lt1=new JList(6);

l6=new Jlabel(“Train Seatinfo :”,JLabel.RIGHT);


t1=new JTextField(30); t2=new JTextField(30); t3=new JTextField(30); t4=new JTextField(30); t5=new JTextField(30);

b1=new JButton(“Create Reservation”); b2=new JButton(“Cancel Reservation”); b3=new JButton(“Save”);

b4=new JButton(“Cancel”); p1.add(l1);

p1.add(lt1);

p2.add(l2);

p2.add(t1);

p3.add(l3);

p3.add(t2);

p4.add(l4);

p4.add(t3);

p5.add(l5);

p5.add(t4);

p6.add(l6);

p6.add(t5);

p7.add(b1);

p7.add(b2);

c.add(p1);

c.add(p2);

c.add(p3);

c.add(p4);

c.add(p5);

c.add(p6);

c.add(p7); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

String msg=ae.getActionCommand(); if(msg.equals(“Save”))

{

Class.for(“c://mydocuments.”);

Connection conn=DriverManager.getConnection(“harish”,1234567); conn.getAutoCommit();

PreparedStatement pstmt=conn.prepareStatement(“insert into train values(&T_Number,’&T_Name’,&T_Time,&T_Boardsta,&T_Dest,&T_Seatinfo)”

);


pstmt.setValue(1, lt1.getSelectedItem()); pstmt.setValue(2, t1.getText()); pstmt.setValue(3, t2.getText()); pstmt.setValue(4, t3.getText()); pstmt.setValue(5, t4.getText()); pstmt.setValue(6, t5.getText());

}

if(msg.equals(“Cancel”))

{

JoptionPane.showMessageDialog(null,”The values cannot be entered”); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);

}

if(msg.equals(“Create Reservation”))

{

myframe2.setVisible(true); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);

//_ _ _ _

}

if(msg.equals(“Create Reservation”))

{

if(Integer.parseInt(t5.getText())==0) JOptionPane.showMessageDialog(null,”Cannot have seats”); else

{

myframe3.setVisible(true); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);

//_ _ _ _

}

}

}

public static void main(String args[])

{

myframe f=new myframe(“Train Details”); f.setVisible(true); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);

}

}

Inorder to view the reservation details, the module code is: Statement stmt=conn.createStatement();

ResultSet rst=stmt.updateQuery(“select * from reservation”);

While(rst.next())

{

t1.setText(Integer.toString(rst.getText()));

//***************************


}

In the above program we have to maintain constraints, when the TextBox t5 has value 0 then we do not create reservation. If we create reservation at this situation, then it automatically generates error message. The other peoples except manager cannot update train details, the train details is highly secured.

So, we have to maintain login form to update train details.

For efficient design of interfaces, we use Swings in Java. In modular design we have to concentrate on two concepts inorder to design efficient modules. The two concepts are,

  • Coupling

  • Cohesion


We have to design modules with less coupling and with high cohesion. Coupling specifies the relation between two modules. It specifies how the modules interact with each other. There must be less relation between the modules. Because, when we change one module, then we have to change another module when there is high relation between them. If we have less coupling between the modules then it is easy to modify the software product.

Cohesion represents the functionality of the function. It specifies how the instructions in the module can perform the functionality of the function. We have to maintain high cohesion between modules. Because, all instructions in the module must perform single functionality. So, mainly we have to concentrate on the Coupling and Cohesion.


Session 6: Develop user interface design for RRS. 

The below form is used to enter the user to logon to the system. In this GUI, there are two text boxes in which we have to enter the login id and password. The system checks the values that are entered in text boxes with the Login Id and Password, which is stored in database. If the given values are correct then only the user will enter into RRS system. Otherwise, a message will be appeared on the screen.





This is a message box that is generated when we entered wrong password.








This is a form, which is to enter Reservation Details. This form consists of four text boxes, which is to enter details from user in order to create reservation for the user. The clerk cannot create reservation more than the seats present in the train. If he wants to create reservation more than that then a message will be appeared on the screen.




This is a message box that is generated when clerk creates the reservation more than the seats in the train.




This is the reservation slip that is given to the passenger after creating the reservation. This consists of the details of passenger and their seat numbers in which they are traveling. This is consists of train details, date of journey and boarding station, destination.





This is the form that is to modified the train details. This form consists of no of seats textbox, which shows the remaining seats present in the train. The no of seats value is automatically changed when we create or cancel reservation. This is the form which consist of two buttons for the purpose of create reservation and to cancel reservation. When the seats text box has value zero than its, says no seats are remaining in the train to create reservation.








Reports for Railway Reservation System

This is report generated by manager after modifying train details.




This is report generated by the clerk in order to give the reservation details to the manager.


This is report generated by the clerk about the passenger details who take the reservation.


                 


Testing 

Session 7: Write a program in ‘C’ language for the multiplication of two matrices . 
using pointers. 

This is the program, which takes two matrices as input and generates multiplication of two matrices as output. In order to multiply the two matrices there is a condition for the two matrices, is given below.


  • The no. of columns of the first matrix is equal to the no. of rows of the second matrix, then only it is possible to multiply two matrices, otherwise   it is not possible to multiply two matrices.


Program


#include<stdio.h> #include<conio.h>

void input(int **a,int r1, int c1)

{

int i,j;

printf("\n enter 1st matrix elements \n"); if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

else

{

for(i=0;i<r1;i++) for(j=0;j<c1;j++) scanf("%d",&*(*(a+i)+j));

}

}

void output(int **a, int r2, int c2)

{

int i,j;

if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

else

{

for(i=0;i<r2;i++)

{

for(j=0;j<c2;j++) printf("%d\t",*(*(a+i)+j)); printf("\n");

} }


}


void multiply(int **a, int **b, int r1, int c1, int r2, int c2)

{

int i,j,k,c[10][10]; for(i=0;i<r1;i++) for(k=0;k<c2;k++)

{ c[i][k]=0;

for(j=0;j<c1;j++)

*(*(c+i)+k)= *(*(c+i)+k)+ *(*(a+i)+j)* *(*(b+j)+k);

}

printf("\n the multiplication of matrices is \n");

for(i=0;i<r1;i++)

{

for(j=0;j<c1;j++) printf("%d\t",*(*(c+i)+j)); printf("\n");

}

}

main()

{

int r1,c1,r2,c2,**a, **b, **c; clrscr();

printf("\n enter the number of rows,columns for matrix1\n"); scanf("%d%d",&r1,&c1);

printf("\n enter the number of rows,columns for matrix2\n");

scanf("%d%d",&r2,&c2);

if(c1!=r2)

{

printf("\n unable to multiply");

return;

}

else

{

input(a,r1,c1);

input(b,r2,c2); multiply(a,b,r1,c1,r2,c2); output(a,r1,c1);

output(b,r2,c2);


}

getch();

}


Output:

enter the number of rows, columns for matrix1 3

3


enter the number of rows, columns for matrix2 3

3


enter 1st matrix elements 1

2

3

4

5

6

7

8

9


enter 2nd matrix elements 1

1

1

1

1

1

1

1

1


the first matrix is

1

2

3

4

5

6

7

8

9


the second matrix is

1

1

1

1

1

1

1

1

1


the multiplication of matrices is

6

6

6


15

15


15

24

24


24





Session 8: Develop a set of test cases that will completely test the program in session 7. The test case should be separately developed for Unit testing, Module testing and Integration testing. 


Here we want to generate test cases that will completely test the program given above. This is the program, which takes two matrices as input and generates multiplication of two matrices as output. In order to multiply the two matrices there is a condition for the two matrices, is given below.


  • The no. of columns of the first matrix is equal to the no. of rows of the second matrix, then only it is possible to multiply two matrices, otherwise   it is not possible to multiply two matrices.

Unit Testing

Unit testing is procedure used to verify particular segment of source code is working properly. The main idea about this testing is to generate the test cases for all function or methods. The main goal of unit testing is isolate each part of program and show individual parts are correct. In above program, there are three functions, which perform input, output, and multiplication of two matrices. Let us consider the first function.


In main function let us consider

if(c1!=r2)

{

printf("\n unable to multiply");

return;

}

else

{

input(a,r1,c1);

input(b,r2,c2); multiply(a,b,r1,c1,r2,c2); output(a,r1,c1);

output(b,r2,c2);


}

The above source code determines the no of columns of the first matrix

equal to the no. of rows of the second matrix then only the multiplication is possible.


Test Case

c1

r2

Expected Output

1

3

3

Multiplication of two

matrices is possible

2

3

4

Multiplication of two matrices is impossible


This is a segment of input function. if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

else

{

for(i=0;i<r1;i++) for(j=0;j<c1;j++) scanf("%d",&a[i][j]);

}


The above code reprgents the no. of rows and no. of columns that are to be given is less than the size of matrix. If the it is not possible to enter the value in the matrix is not greater than its size.


Test Case

r1

c1

Expected Output

1

3

3

Entering of matrix

2

10

10

Unable to enter matrix

3

11

11

Unable to enter matrix


if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

else

{

for(i=0;i<r2;i++)

{

for(j=0;j<c2;j++) printf("%d\t",a[i][j]); printf("\n");

}

}

The above code is a segment of output function. This code represent the no

.of rows and no. of columns of the matrix is less than the size of the matrix if we gave the no. of rows and no. of columns greater than or equal to size of the array, then we get unexpected values as output


Test Case

r1

c1

Expected Output

1

3

3

Shows output of

matrix

2

10

10

Unexpected values

3

11

11

Unexpected values



Module Testing


Module testing is procedure used to verify the source code is working properly or not. The main idea about this testing is to generate the test cases for all function or methods. In above program, there are three functions, which perform input, output, and multiplication of two matrices. Let us consider the first function.


Input Function


void input(int a[10][10],int r1, int c1)

{

int i,j;

if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

printf("\n enter 1st matrix elements \n");

for(i=0;i<r1;i++) for(j=0;j<c1;j++) scanf("%d",&a[i][j]);

}


In above function there are three inputs. The inputs are no. of rows and no. of columns. The no. of rows and no. of columns can not be greater than the size of the array declared. If the no. of rows and no. of columns is greater than are equal to the size of the array, than it is not possible to enter the values into the array.


Test Case

r1

c1

Expected Output

1

3

3

Entering of matrix

2

10

10

Unable to enter matrix

3

11

11

Unable to enter matrix




The second function in the above program is given below


Output Function


void output(int a[10][10], int r2, int c2)

{

int i,j;

if (r1>=10||c1>=10)

{

printf(“\n Unable to enter matrix”); return;

}

else

{

for(i=0;i<r2;i++)

{

for(j=0;j<c2;j++) printf("%d\t",a[i][j]); printf("\n");

} }

}


In above function there are three inputs. In this function, the no. of rows and no. of columns that are to be entered is not greater than size of the array.

If the no. of rows and no. of columns is less than the size of the array then it shows that output of the values in the array. If the no. of rows and no. of columns is greater than are equal to the size of the array then the function shows unexpected values because of more than the size of array.


Test Case

r1

c1

Expected Output

1

3

3

Shows output of

matrix

2

10

10

Unexpected values

3

11

11

Unexpected values


The next function of above program is


Multiplication Function


void multiply(int a[10][10], b[10][10], int r1, int c1, int r2, int c2)

{

int i,j,k,c[10][10]; for(i=0;i<r1;i++) for(k=0;k<c2;k++)

{ c[i][k]=0;


for(j=0;j<c1;j++) c[i][k]=c[i][k]+a[i][j]*b[j][k];

}

printf("\n the multiplication of matrices is \n");

for(i=0;i<r1;i++)

{

for(j=0;j<c1;j++) printf("%d\t",c[i][j]); printf("\n");

}

}


In above function there are six inputs.

  • If the no. of rows and no. of columns of the two matrices less than the size of the respected matrix and the column of the first matrix is equal to the row of the second matrix then we get the correct multiplication of two matrices.

  • If the no. of rows and no. of columns is greater than or equal to the size of the respected array and column of the first matrix is equal to the row of the second matrix, then multiplication is possible but we get the unexpected values because of the more than the size of the array.

  • If the no. of rows and no. of columns is less than the size of the respected array and column of the first matrix is not equal to the row of the second matrix, then matrix multiplication is not possible.


Test Case

r1

c1

r2

c2

Expected Output

1

3

3

4

4

Unable to multiply

2

3

3

3

3

Multiplication is

possible

3

3

3

10

10

Unable to multiply

4

3

3

11

11

Unable to multiply

5

10

10

3

3

Unable to multiply

6

11

11

3

3

Unable to multiply

7

10

10

10

10

Unable to multiply

8

11

11

11

11

Unable to multiply


Integrated Testing

Integration testing is the phase of software testing in which individual software modules are combined and tested as a group. Integrating testing as takes as its input, modules that have been checked out by unit testing groups them in larger aggregates, applies this test in order to know whether the system generate the actual output or not.


The main aim of this program is to calculate multiplication of two matrices. The multiplication function takes two matrices as input and generates the multiplication as matrix. We must determine the two matrices before the


multiplication of two matrices then only we get the multiplication of two matrices. If we don’t determine any of two matrices then we get unexpected values as multiplication of two matrices by taking the default values stored in matrix.


Test Case

Matrix a

Matrix b

Expected Output


1


determined


determined

Expected output as multiplication of two

matrices


2


undetermined


determined

Unexpected output as

multiplication of two matrices


3


determined


undetermined

Unexpected output as

multiplication of two matrices


4


undetermined


Undetermined

Unexpected output as

multiplication of two matrices`


The main aim of the above program is not achieved if we undetermined any of the two matrices which are taken as input for multiplication of two matrices.




Web Software Engineering 

Session 9: Design a web page that accepts a matrix as input and computes its 
transpose. The web page should have two text boxes and a submit button labelled as 
Input Elements . After entering the number of rows of the input matrix in the first 
text box and number of columns of the input matrix in the second text box of the web 
page, SUBMIT button should be clicked. Once clicked, a number of text boxes which 
are equivalent to the number of elements in the matrix will appear along with a submit 
button at the bottom labelled as Compute Transpose. When the Compute 
Transpose button is clicked, the transpose of the input matrix has to be displayed. 


This is web page, which accepts Matrix as input and generates the transpose of the given matrix. This web page consists of two text boxes and two buttons. In two text boxes we must enter the no of rows and no of columns and the web page generates the no of text boxes for entering the values of the matrix depends up on the number of rows and columns given. In that textboxes we must enter values and then the web page generates the transpose of the given matrix.


<html><head>

<title>Matrix</title>

<script language="javascript"> function enter()

{

var a=form1.text1.value; var b=form1.text2.value; if(a==0||b==0)

alert(" you must enter values in textbox"); else

{

document.writeln("<form name='form2'>"); for(i=0;i<a;i++)

for(j=0;j<b;j++)

document.writeln("<input type=text

name='text[i][j]'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); document.writeln("<br><center><input type=button value=' Enter ' onClick='transpose()'></center>");

document.writeln("</form>");

}

}

function transpose()

{

for(i=0;i<a;i++) for(j=0;j<b;j++) a[i][j]=form2.text[i][j];

document.writeln("Entered matrix is :"); for(i=0;i<a;i++)

{

for(j=0;j<b;j++) document.writeln(a[i][j]+"\t"); document.writeln("<br>");

}

document.writeln(<BR><BR><BR>"); document.writeln("Transpose of given matrix is :"); for(i=0;i<a;i++)

for(j=0;j<b;j++)


b[i][j]=a[j][i]; for(i=0;i<a;i++)

{

for(j=0;j<b;j++) document.writeln(b[i][j]+"\t"); document.writeln("<br>");

}

}

</script></head>

<body><center>

<form name="form1">

No. of rows :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name="text1"><br><br>

No. of columns :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name="text2"><br><br>

<input type=button value=" Enter " onClick='enter()'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;

<input type=button value=" Cancel ">

</form></center></body></html>













Session 10: Develop test cases for the web pages of 9(a). Then, develop test report after testing 
 using the test cases developed. 


We have to generate the test cases for the above web page. Normally there are two types of testing. They are

  1. White Box Testing

  2. Black Box Testing


Black Box Testing

In black box testing can help to get the design and coding correct with respect to the specification. Black box testing is mainly used to test the functionality and features of the system. In black box testing, there are two strategies followed as given below.

1) Boundary Value Analysis:

In the web page there are two text boxes, which has to enter no. of rows and no. of columns. We must enter both no. of columns and no. of rows for matrix. If we don’t given any of the two values then we don’t get the matrix.


Test Case

r1

c1

Expected Output

1

-

-

We get an error

message

2

10

-

We get an error

message

3

-

11

We get an error

message

4

10

11

We get text boxes to

enter matrix values



In order to complete our aim of calculating the transpose of a matrix, we have to enter both no. of rows and no. of columns for the matrix.


Test Case

Input

Expected Output

1

Clicking Enter

Button

Web page having text

boxes

2

Clicking

Cancel Button

We get message


On successfully entering the no. of rows and no. of columns, when we click the Enter button we get the web page having the text boxes to enter the value of the matrix. When we click the Cancel button then we get a message.

If we enter both no. of rows and no. of columns then we get a web page of have text boxes of number equal to the no . of   rows * no. of columns. In order to get the text boxes to enter values of the matrix we have to enter the both the no. of rows and no. of columns.


We have to enter the values in all the text boxes, then only the values are entered into matrix. Suppose we gave 2 * 2 matrix then we get 4 text boxes.


Test Case

T1

T2

T3

T4

Expected Output

1

-

-

-

-

Error Message

2

3

-

-

-

Error Message

3

-

4

-

-

Error Message

4

-

-

7

-

Error Message

5

-

-

-

10

Error Message

6

11

10

-

-

Error Message

7

14

13

55

-

Error Message

8

-

12

11

10

Error Message

9

12

11

-

14

Error Message

10

14

-

15

16

Error Message

11

-

-

13

12

Error Message

12

10

11

12

13

Transpose Matrix


When we don’t enter the value into any text box, then we get a error message. On successfully entering into all text boxes we get the transpose of the give matrix, in the next web page


Software Quality 

Session 11: Write a Program that is correct but of not good quality. Justify your answer. 
 Make necessary assumptions. 

Everyone has to project their ideas on this (discussed during the practical class hours)

Session 12: Write a Program that is correct but still not reliable. Justify your answer. Make 
 necessary assumptions. 

Everyone has to project their ideas on this (discussed during the practical class hours)

Software Change Management 

Session 13: Develop “Railway Reservation System” as per specifications given in Sessions 1, 3, 
 4,5 and 6. 

Session 14 : Demonstrate the Software developed in Session 13 to any other person and make a list 
 of Changes suggested by him/her. Implement changes in Software following the Change 
 Control process and demonstrate the updated Software to the same person. 
Advanced Software Engineering 

Everyone has to project their ideas on this (discussed during the practical class hours)


Session 15 : Select a software that you use regularly such as MS-office, Gmail, MS-Excel etc. 
 Create a set of usage scenarios for the software. 

Everyone has to project their ideas on this (discussed during the practical class hours)


Session 16 : Select a small portion of any program written by you. Check if the portion of code selected by you is having constructs that violate the structured programming paradigm. If yes, then 
 rewrite the code to conform to structured programming paradigm. If no, check another 
 portion of code. 

Take suitable assumption (discussed during the practical class hours)

Sessions 17 and 18 : Have a look at the output of any program that was not written by you. Preferably, look at an  application that is not developed by you and write the program for the development of that 
 application or a portion of that application. 

Sessions 19 and 20 : Assume that you interested in developing a “Library Information System (LIS)”. Visit any Library. 

Take suitable assumption (discussed during the practical class hours)

 As a visitor of Library, make a list of requirements that need to be fulfilled by LIS. Now, develop 
 Software for LIS. Ensure yourself that LIS developed by you is fulfilling the requirements. Preferably, 
 try to obtain requirements for LIS from any person who visits a library, develop LIS and then get it 
Software Engineering Lab validated by him/her.


Everyone has to project their ideas on this (discussed during the practical class hours)



A software engineer should start a blog as a Practical part. 

  • Recording your progress
  • Sharing knowledge with the community
  • Offload your head onto the screen
  • It's fun
  • Meet other engineers
  • Learn from feedback
  • Display your skills
  • Learn to communicate better
  • Establish yourself as an expert
  • Keep others in the loop

A person who writes a blog or a weblog is a blogger. Blogging is the act of posting content on a blog.

The main purpose of blog is to convey messages about events, announcements,  needs, review etc. Blogs are usually managed using  a web browser and this requires active internet connection.


Websites that provides blog services :

1)Joomla

2)Blogger

3)WordPress.com

4)Tumblr

5)Drupal

6)weebly


Practices Questions: 




QS 1. Write a statement of scope that describes the software?

ANS : Whether a company builds bridges, software, or cell phones, the work that goes into these finished products is managed as a series of projects that have specific objectives, timelines, and budgets. 

project management plan is critical to ensuring that teams complete their work on time and as expected. But before project managers can develop an in-depth plan and a project team can execute on that plan, everyone needs to know what work needs to be done and why it is important. 


That’s where the project scope statement comes into play. A project scope statement provides a detailed description of the work that must be done to deliver the output of a project on time and within the allotted budget.


The document also places the objectives of the project and its output—which could be a product that a company is releasing to the marketplace or analysis that leadership will use to make an informed business decision—within the larger context of the organization’s goals and objectives.


“Developing a project scope statement is so important for the rest of the project plan,” says Jacques Alexis, assistant professor in the project management graduate program at Northeastern University’s College of Professional Studies. “You need to understand the structure in which the project will be carried out and consider internal and external factors.”


According to the Project Management Institute, a strong project scope statement has several key characteristics. It should:

  1. Define the boundaries of the project.
  2. Define the business need and the expected outcome of the project.
  3. Identify constraints that limit a project team’s options for developing a solution. 
  4. List assumptions regarding decisions outside the project team’s control.
  5. Identify business processes impacted by the project.
  6. Identify internal and external entities with which the project team will interface.

“The project scope statement tries to reduce uncertainty by defining the scope and ensuring all key stakeholders are on board and have a clear understanding of the project,” Alexis says. “If you have a strong process, there will be fewer change requests. If you can do that, then you have a better chance of success.”

As with all project management documents, Alexis adds, the project scope statement may have a consistent format from one project to another, but it should also be customizable depending on the size, scale, and complexity of the project. These factors will also impact the types of stakeholders who must be involved in both developing and receiving the project scope statement.

8 Key Steps to Developing a Project Scope Statement

Alexis has nearly two decades of experience managing major programs and projects within the manufacturing and power generation industries, with current work focusing on sustainability initiatives. Based on his experience, he recommends project managers follow the eight steps below steps to develop an effective project scope statement.

1. Understand why the project was initiated.

Projects are not carried out in a vacuum, Alexis says; they are initiated to meet specific goals for an organization. For example, an organization may be looking to reduce operating costs by five percent by the end of next year, improve efficiency by 10 percent, or increase headcount by 20 percent. “As much as possible, the goals of the organization should be expressed in the project scope statement,” Alexis notes. 

2. Define the key objectives of the project.

Once project managers understand what the organization is trying to achieve, they need to define the objectives of the specific project. The objectives should note why the project is being done, what will be done, when it will be done, and how much it will cost. In other words, the objectives describe why executives selected and funded a project and justify why the project exists, Alexis says. Objectives should be written with the SMART goal-setting best practices in mind—meaning they should be specific, measurable, achievable, relevant, and time-bound.

3. Outline the project statement of work.

The statement of work provides a detailed breakdown of the work that a project team will perform. For a project focused on creating an internal review of new markets to enter, for example, items in the scope of work might include identifying and prioritizing targets, analyzing the benefits and drawbacks of each potential target, assessing the steps the company must take to enter each market, and providing guidance and recommendations for key decision-makers.

4. Identify major deliverables.

Project managers should work alongside key stakeholders to list the items that will be delivered at the end of the project, Alexis says. In the project scope statement, these items can be described at a high level—a new market assessment report, for example, or a new software feature—but they should still be tangible and measurable targets. A separate document, the work detail structure, will outline the specific activities associated with a particular deliverable. One way to remember the difference, according to Alexis: Deliverables are usually expressed as nouns and adjectives, while work details are expressed as verbs.  

5. Select key milestones.

A key milestone indicates when stakeholders can expect a particular deliverable to be completed. More complex projects may also include milestones for specific steps involved in creating or completing a deliverable. Milestones must include a specific date, Alexis says—not just that a report will be finished, but that it will be finished by October 15, 2020, for example. 

6. Identify major constraints.

The project scope statement should note any limitations that the project team will face as it works to complete a project. These constraints could include personnel, resources, schedule, or other requirements.

7. List scope exclusions.

This list consists of deliverables that a project sponsor may assume are included in the scope of the project but are not, in fact, included. For example, a project sponsor may assume that a project to develop a management system also includes certification of that system. The project scope statement should clearly indicate if the project team will get the system certified or if the sponsor is responsible for obtaining certification after the project has been completed. This clarity helps project managers avoid “scope creep,” which occurs when deliverables that were not part of the original scope statement are added to a project mid-stream.

8. Obtain sign-off.

Requiring key stakeholders to sign the project scope statement offers confirmation that they are aware of and understand the contents of the scope, Alexis says. This helps avoid miscommunication that can lead to rework during or after the project—ultimately saving project managers and organizations frustration, time, and money.




Bridge Courses: Some students of MCAOL have taken admission in Bridge courses, as per eligibility criteria. They are required to register and successfully complete the following bridge courses along with Master of Computer Applications programme.

Course Code

Course Title

Theory/
Practical

Credits

MCS-201

Programming in C and Python

Theory

4

MCS-208

Data Structures and Algorithms

Theory

4


EVALUATION SCHEME

                     

Completion of the programme requires successful completion of both assignment component and the Term-end Examination component for each course in the programme. The total numbers of courses in this MCA programme are 22 (including a Project course) and the total number of credits is 80. In addition, two bridge courses, MCS-201 and MCS-208 are required to be successfully completed by those students who are required to register for these courses based on eligibility conditions for admission to Master of Computer Applications programme.

Evaluation for each course of MCA programme (except project course) and bridge courses covers two aspects:

a)        Continuous evaluation through Assignment with a weightage of 30% (please refer to the table below). Viva- voce is compulsory for all the Assignments for which 20 marks are allocated.

b)        Term-end examination with a weightage of 70% (please refer to the table below).

Note: A learner should not apply for appearing at the term-end examination of any course without getting registered for the same and that if s/he does so, her/his result would not be declared and the onus shall be on her/him.

Award of Final Division:

The final score of a student is computed as follows:

·         The marks obtained in a 4-credit course are computed out of maximum of 100

·         The marks obtained in a 2-credit course are computed out of maximum of 50

·         The marks obtained in the Project course are computed out of maximum of 200

·         Bridge course marks are NOT used for computation of percentage.

·         The marks of all the semesters are added. These marks are out of maximum of 1900 marks. The final division of a student is awarded as follows:

Marks Range

Division

75% and above

First Division with Distinction

60% or more but less than 75%

First Division

50% or more but less than 60%

Second Division

40% or more but less than 50%

Third Division

5.1   Assignments and Term – End Examination

The main purpose of assignments is to test student’s comprehension of learning the materials they receive from the University and also to help them get through the courses by providing feedback to them. The information given in the course materials should be sufficient for answering the assignments. However, as Computer Science is an ever-enhancing area, the students should make an attempt and work with extra reading material, which is easily available through websites, for working on the assignments. This will enhance your learning capabilities. Mostly the assignments are designed in such a way as to help you concentrate mainly on the course material, exploit their personal experiences and apply the knowledge gained from various sources.

Assignments

There will be at least one assignment for each course worth 100 marks (weightage of 30%). The set of all the assignments for each semester is uploaded on the IGNOU’s website. The table shown below provides the detailed marking scheme for the MCA courses.

Seme- ster

Course Code

Course Title

Credits

Continuous Evaluation

 

 

Assignment (Weightage –

30%)

Term End Examination

 

Theory OR Practical* ( for Lab courses only)

 

(Weightage – 70%)

 

 

Max Marks

Min. Marks

Duration

Max. Marks

Min. Marks

 

I

MCS-211

Design and Analysis of Algorithms

4

100

40

3

100

40

 

 

MCS-212

Discrete Mathematics

4

100

40

3

100

40

 

 

MCS-213

Softwrae Engineering

4

100

40

3

100

40

 

 

MCS-214

Professional Skills and Ethics

2

100

40

2

50

20

 

 

MCS-215

Sycurity and Cyber Laws

2

100

40

2

50

20

 

 

MCSL-216

DAA and Web Design Lab

2

100

40

2

50

20

 

 

MCSL-217

Software Engineering Lab

2

100

40

2

50

20

 

 

Bridge Courses (Only for the students who are required to register for these courses based on eligibility conditions for admission to Master of Computer Applications programme)

 

 

MCS-201

Programming in C and Python

4

100

40

3

100

40

 

MCS-208

Data Structures and Algorithms

4

100

40

3

100

40

 

 

 

 

 

 

 

 

 

II

MCS-218

Data Communication and Computer Networks

4

100

40

3

100

40

 

 

MCS-219

Object Oriented Analysis and Design

4

100

40

3

100

40

 

 

MCS-220

Web Technologies

4

100

40

3

100

40

 

 

MCS-221

Data Warehousing and Data Mining

4

100

40

3

100

40

 

 

MCSL-222

OOAD and Web Technologies Lab

2

100

40

2

50

20

 

 

MCSL-223

Computer Networks and Data Mining Lab

2

100

40

3

50

20

 

III

MCS-224

Design and Analysis of Algorithms

4

100

40

3

100

40

 

 

MCS-225

Accountancy and Financial Management

4

100

40

3

100

40

 

 

MCS-226

Data Science and Big Data

4

100

40

3

100

40

 

 

MCS-227

Cloud Computing and IoT

4

100

40

3

100

40

 

 

MCSL-228

AI and Machine Learning Lab

2

100

40

2

50

20

 

 

MCSL-229

Cloud and Data Science Lab

2

100

40

2

50

20

 

IV

MCS-230

Digital Image Processing and Computer Vision

4

100

40

3

100

40

 

 

MCS-231

Mobile Computing

4

100

40

3

100

40

 

 

MCSP-232

 

Project**

12

Report – 150 (Min. 60) and Viva 50 (Min. 20)

 

 

*    Practical examination will be conducted for the lab courses only. The letter ‘L’ in the course code represents the lab course. Pass in each and every part in the practical course of Term-End Practical Examination is compulsory in order to get it declared successful in the respective course.

** The Project consist of 2 components namely project report evaluation and viva. Viva-voce is compulsory and forms part of evaluation. A student in order to be declared successful in the project must secure 40% marks in each component

(i)    Project Evaluation and (ii)Viva-voce.

 

All the assignments and term-end exams will be scored on a numerical marking scheme. Any component that has not been attempted would be treated as having a score of zero marks. The requirement for passing would be at least 40% in continuous evaluation (assignment) and 40% in the term-end examinations, with an overall average of 40% for a pass in the course.

The viva voce is compulsory for the assignment evaluation. For any course, in case, if a student submitted the assignment but did not attend the viva-voce, then the assignment is treated as not successfully completed and would be marked as ZERO.

In order to be able to appear for the Term-end examination, it is a requirement that the student submit all the assignments according to the prescribed schedule. All students will be required to give an undertaking to this effect, and should it be later found that they had in fact not submitted the assignments as prescribed; the results for the Term-end examination will be treated as cancelled.

Text Box: Viva-voce is compulsory for all the Assignments for which 20 marks are allocated.

 

Unfair means in attempting the assignments

If the learners copy the assignments, which is an important component of the OL system, such assignments will be awarded “zero” and such students will be directed to re-attempt the fresh assignments pertaining to the next year which will indirectly delay the award of degree by a semester/ year.

Additional guidelines for Lab Course assignments and TEE

A student MUST maintain lab records of all the practical sessions attended by him/her. This lab record has weightage in continuous evaluation of lab courses. The following are the evaluation guidelines for the lab courses.

(i)                 Evaluation of the assignments of lab courses

Evaluation of the assignments of lab courses consist of three parts:

·           Continuous assessment of practical sessions (lab records) (total 40 marks),

·           Assignment questions (total 40 marks)

·           A combined comprehensive viva-voce (total 20 marks)

 

The marks allotment details for various lab courses are shown in the following table:

 

Course code

Continuous assessment of practical sessions lab records (40)

Assignment problems (40)

Combined Viva (20)

Total marks (100)

MCSL-216

Part–1(20)

Part–2(20)

Part–1(20)

Part–2(20)

20

100

MCSL-217

Part–1(40)

Part–1(40)

20

100

MCSL-222

Part–1(20)

Part–2(20)

Part–1(20)

Part–2(20)

20

100

MCSL-223

Part–1(20)

Part–2(20)

Part–1(20)

Part–2(20)

20

100

MCSL-228

Part–1(40)

Part–1(40)

20

100

MCSL-229

Part–1(20)

Part–2(20)

Part–1(20)

Part–2(20)

20

100

It is to be noted that minimum passing marks in assignments are overall (lab records + problems + viva) 40% in each assignment.

(ii)                               Evaluation of term-end practical exam for Lab Courses

The term-end examination of the practical courses consists of several sections. Each section will be evaluated separately. The viva-voce for each section will also be separate. The following table shows the details:

 

Course Code

Duration of term-end practical exam. (Each section gets

Equal time)

Term-end practical examination and viva-voce

Marks Section-1

Marks Section-2

MCSL-216

(2 credits)

2 hours

25 marks

25 marks

MCSL-217

(2 credits)

2 hours

50 marks

#

MCSL-222

(2 credits)

2 hours

25 marks

25 marks

MCSL-223

(2 credits)

2 hours

5 marks

25 marks

MCSL-228

(2 credits)

2 hours

50 marks

#

MCSL-229

(2 credits)

2 hours

25 marks

25 marks

P- problems given in the exam paper, V –viva-voce for that section.

A student needs to obtain a minimum of 40% in each section of the term-end practical examination for successful completion of that particular section. In case a student does not secure the minimum passing marks in a section, s/he needs to appear for the term-end practical examination again for that section only.

 

                        Instructions for Assignments

 

While answering Assignments, the following guidelines are required to be followed:

 

1.                  Tips for assignments

 

The word limits for answering most of the questions are mentioned with them. If  no word limit is prescribed, then assume it to be about 300 words. You will find it useful to keep the following points in mind:

 

(i)                 Planning: Read the assignment carefully. Go through the units on which they are based. Make some points regarding each question and rearrange these in logical order.

 

(ii)               Organisation: Be a little more selective and analytical before drawing up a rough outline of your answer. In an essay-type question give adequate attention to your introduction and conclusion. The introduction must offer brief interpretation of the question and how you propose to develop it. The conclusion must summarize your response to the question. Make sure that your answer:

 

(a)      is logical and coherent;

(b)     has clear connection between sentences and paragraphs;

(c)      is written correctly giving adequate consideration to your expression, style and presentation;

(d)     does not exceed the number of words indicated (if any) in your questions.

 

(iii)             Presentation: Once you are satisfied with your answers, you can write down the final version for submission, writing each answer neatly and underlining the points you want to emphasize.

 

2.         The following format is to be followed for submission of the assignment:

 

The top of the first page of your response sheet for each assignment should look like this:


PROGRAMME TITLE :  .............................          ENROLMENT No. :  ................................

COURSE CODE :  .......................................         NAME :  ...................................................

COURSE TITLE :  .......................................         ADDRESS:................................................

ASSIGNMENT CODE :  .............................          SIGNATURE :  ....................................... DATE :                                                                              ...................................................


 

3.         Read instructions for submission of assignments given here. The assignments response sheets should be hand written. However the software coding, snapshots, test cases, etc. can be in the printed form. Students should not reproduce their answers from the course contents of the University. If they reproduce from the course contents, they will get poor marks for the respective question.

4.         The students should write each assignment separately. All the assignments should not be written in continuity.

5.         The students should write the question number with each answer. Photocopy of the submitted assignment is to be retained by the student for his or her own record and future reference, if any.

6.         The students should use only A4 size paper for their response and tag all the pages carefully. Avoid using very thin paper. They should allow a 4-cm. margin on the left and at least 4 lines in between each answer. The scanned assignment should be submitted, as specified for online programmes.

7.         The students should not copy the assignments from others. If copying is noticed, the assignments of such students will be rejected, and disciplinary action will be taken against the students as per rules of the University.

8.         The completed assignment response should be summitted, as per the instructions of online programmes.

 

                        Guidelines Regarding the Submission of Assignments

 

1.              It is compulsory for the students to submit all the prescribed assignments.  They will not  be allowed to appear for the term-end examination of a course if they do not submit the specified number of assignments in time for that course.

2.              The assignment responses should be complete in all respects. Before submission, the students should ensure that they have answered all the questions in all assignments. Incomplete answer sheets bring poor grades.

3.              Students should submit their assignments before the  due date.

4.              In case any student fails to submit the assignments or fails to score minimum qualifying marks, s/he has to wait for fresh assignments meant for the current batch of students.

5.              For their own record, students should retain a copy of all the assignment responses, which they submitted.

6.              As per the University norms, once the student’s scores pass marks in an assignment, they cannot re-submit it for improvement of marks.

7.              Assignments are not subject to re-evaluation except for factual errors, if any.

 

Text Box: Note : Please submit your Assignments on or before the due date at your Study Centre.

 

 Software Requirements for Lab courses of MCA (2 Yrs) Programme

Course Code

Semester I

Proposed Software

MCSL-216

DAA and Web Design Lab

For DAA

(1)  Compilers of C/C++ for Windows or Linux.

For Web Design

(2)  HTML (latest verison), CSS (latest version), Java Script, Notepad++

 

MCSL-217

Software Engineering Lab

(1) Software Cost Estimation : EZEstimate (2) Project Planning : StarTeam (Borland or Micro Focus) /  Microsoft Project (3) Analysis:  Gatherspace   / IBM Rational Requisite Pro / Caliber RM (4) Design:  IBM Rational Software Modeler / Together (Borland or Micro Focus) (5) Testing: IBM Rational Functional Tester / Silk Test (Borland or Micro Focus) (6) Web Software Engineering : Microsoft Office Project Web access

Note: Any other software whose functionality is equal or more than the above prescribed software can also be used. Please ensure that terms and conditions governing the software license are strictly adhered to

 

 

Semester II

 

MCSL-222

OOAD and Web Technologies Lab

For Web Technologies( J2EE Programming) NetBeans IDE for Java EE Developers/ Eclipse IDE for Java EE Developers

For OOAD(UML Diagrams) : AgroUML/StarUML/BOUML/Dia/Visual Paradigm/Edraw-Max/Smart Draw/MS-Visio/Rational UML

MCSL-223

Computer Networks and Data Mining Lab

For Computer Networks :

Compilers of C/C++ for Windows or Linux; NS2 or any other open source network simulator.

For Data Mining :

RapidMiner/R/Python/IBM SPSS Models/WEKA/ Apache Mahout/Knime/ or any other popular open source tool for R programming/ Excel Miner

 

Semester III

 

MCSL-228

AI and Machine Learning Lab

Anaconda (open source software for Python)/ R Studio/ Jupyter Notebooks/ Google Colabs

MCSL-229

Cloud and Data Science Lab

Cloud Computing : KVM in Linux based systems, Oracle VirtualBox in windows based systems, CloudSigma, Open stack, Cloudsim

For Data Science :

R-Studio or any other open source tool for R Programming

 

Note : Any other software whose functionality is equal or more than the above prescribed software can also be used. Please ensure that terms and conditions governing the software license are strictly adhered to.

May used latest versions of the software as far as possible

 Counselling Schedule

The following is the counselling schedules for 1st to 4th Semesters of MCA.

 

MCA 1st Semester Schedule

Course

Theory/Practical

Credits

No. of Theory

Counselling Sessions*

No. of Practical Counselling Sessions**

MCS-211

Theory Sessions

4

6

-

MCS-212

Theory Sessions

4

6

-

MCS-213

Theory Sessions

4

6

-

MCS-214

Theory Sessions

2

3

-

MCS-215

Theory Sessions

2

3

-

MCSL-216

Practical Sessions

2

-

20

MCSL-217

Practical Sessions

2

-

20

 

Counselling of Bridge Courses (Only for the students who are required to register for these courses based on eligibility conditions for admission to MCA programme)

Course

Theory/Practical

Credits

No. of Theory

Counselling Sessions*

No. of Practical Counselling Sessions**

MCS-201

Theory Sessions

4

6

-

MCS-208

Theory Sessions

4

6

-

 

MCA 2nd Semester Schedule

Course

Theory/Practical

Credits

No. of Theory

Counselling Sessions*

No. of Practical Counselling Sessions**

MCS-218

Theory Sessions

4

6

-

MCS-219

Theory Sessions

4

6

-

MCS-220

Theory Sessions

4

6

-

MCS-221

Theory Sessions

4

6

-

MCSL-222

Practical Sessions

2

-

20

MCSL-223

Practical Sessions

2

-

20

 

MCA 3rd Semester Schedule

Course

Theory/Practical

Credits

No. of Theory

Counselling Sessions*

No. of Practical Counselling Sessions**

MCS-224

Theory Sessions

4

6

-

MCS-225

Theory Sessions

4

6

-

MCS-226

Theory Sessions

4

6

-

MCS-227

Theory Sessions

4

6

-

MCSL-228

Practical Sessions

2

-

20

MCSL-229

Practical Sessions

2

-

20

 

MCA 4th Semester Schedule

Course

Theory/Practical

Credits

No. of Theory

Counselling Sessions*

No. of Practical Counselling Sessions

MCS-230

Theory Sessions

4

6

-

MCS-231

Theory Sessions

4

6

-

MCSP-232

Project

12

4

-

 

 

Semester

No. of Sessions

 

Theory

Practical

I

24

40

II

24

40

III

24

40

IV

12 + 4 sessions for discussions on Project

-

TOTAL

84

120

Note: 75% attendance is compulsory in Practical Lab Sessions.

 

MCA 1st Semester Schedule

MCS-211 : Design and Analysis of Algorithms

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1,Unit-2 and Unit-3

2

All topics of Block-1 Unit-4, Block-2 Unit-1

3

All topics of Block-2 Unit-2 and Unit-3

4

All topics of Block-3 Unit-1 and Unit-2

5

All topics of Block-3 Unit-3, Block-4 Unit-1

6

All topics of Block-4 Unit-2 and Unit-3

MCS-212: Discrete Mathematics

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3, Block-2 Unit-1

3

All topics of Block-2 Unit-2 and Unit-3

4

All topics of Block-3 Unit-1,Unit-2 and Unit-3

5

All topics of Block-3 Unit-4, Block-4 Unit-1

6

All topics of Block-4 Unit-2, Unit-3 and Unit-4

 

MCS-213: Software Engineering

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9,Unit-10, Unit-11

5

All topics of Block-3 Unit-12, Block-4 Unit-13

6

All topics of Block-4 Unit-14, Unit-15 and Unit-16

 

MCS-214: Professional Skills and Ethics

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1,Unit-2, Unit-3, Unit-4

2

All topics of Block-1 Unit-5 , Block-2 Unit-6, Unit-7 and Unit-8

3

All topics of Block-2 Unit-9, Unit-10, Unit-11

 

 

MCS-215: Security and Cyber Laws

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3, Block-2 Unit-1

3

All topics of Block-2 Unit-2 and Unit-3

MCSL-216: DAA and Web Design Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical Counselling

1-10

All topics of DAA

11-20

All topics of Web Design Lab

 

MCSL-217: Software Engineering Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical  Counselling

1-20

All topics of Software Engineering Lab

 

 

 

Counselling Schedule of Bridge Courses (Only for the students who are required to register for these courses based on eligibility conditions for admission to MCA programme)

MCS-201: Programming in C and Python

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9,Unit-10, Unit-11

5

All topics of Block-3 Unit-12, Block-4 Unit-13

6

All topics of Block-4 Unit-14, Unit-15 and Unit-16

 

MCS-208: Data Structures and Algorithms

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, and Unit-2

2

All topics of Block-1 Unit-3 Block-2 Unit-4

3

All topics of Block-2 Unit-5 and Unit-6

4

All topics of Block-3 Unit-7 and Unit-8

5

All topics of Block-3 Unit-9, Block-4 Unit-10

6

All topics of Block-4 Unit-11 and Unit-12

 

 

MCA 2nd Semester Schedule

MCS-218: Data Communication and Computer Networks

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3 Block-2 Unit-1

3

All topics of Block-2 Unit-2, Unit-3 and Unit-4

4

All topics of Block-3 Unit-1, Unit-2 and Unit-3

5

All topics of Block-3 Unit-4 Block-4 Unit-1

6

All topics of Block-4 Unit-2, Unit-3 and Unit-4  

 

MCS-219: Object Oriented Analysis and Design

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2, Unit-3 and Unit-4

2

All topics of  Block-1 Unit-5  Block-2  Unit-1

3

All topics of  Block-2 Unit-2 and  Unit-3 

4

All topics of  Block-3 Unit-1 and Unit-2

5

All topics of  Block-3 Unit-3  Block-4 Unit-1

6

All topics of Block-4 Unit-2 and Unit-3

MCS-220: Web Technologies

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2, Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9 and Unit-10

5

All topics of Block-3 Unit-11 Block-4 Unit-12

6

All topics of Block-4 Unit-13 and Unit-14

MCS-221: Data Warehousing and Data Mining

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3 Block-2 Unit-4

3

All topics of Block-2 Unit-5 and Unit-6

4

All topics of Block-3 Unit-7 and Unit-8

5

All topics of Block-3 Unit-9 Block-4 Unit-10

6

All topics of Block-4 Unit-11 and Unit-12

MCSL-222: OOAD and Web Technologies Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical  Counselling

1-10

All topics of OOAD       

11-20

All topics of Web Technologies Lab

MCSL-223: Computer Networks and Data Mining Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical  Counselling

1-10

All topics of Computer Networks Lab

11-20

All topics of Data Mining Lab

 

MCA 3rd Semester Schedule

MCS-224: Artificial Intelligence and Machine Learning

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9,Unit-10, Unit-11

5

All topics of Block-3 Unit-12, Block-4 Unit-13

6

All topics of Block-4 Unit-14, Unit-15 and Unit-16

MCS-225: Accountancy and Financial Management

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3 Block-2 Unit-1

3

All topics of Block-2 Unit-2, Unit-3 and Unit-4

4

All topics of Block-3 Unit-1,Unit-2, Unit-3 & Unit-4

5

All topics of Block-3 Unit-5 Block-4 Unit-1

6

All topics of Block-4 Unit-2 and Unit-3

MCS-226: Data Science and Big Data

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9,Unit-10, Unit-11

5

All topics of Block-3 Unit-12, Block-4 Unit-13

6

All topics of Block-4 Unit-14, Unit-15 and Unit-16

MCS-227: Cloud Computing and IoT

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1 and Unit-2

2

All topics of Block-1 Unit-3 Block-2 Unit-4

3

All topics of Block-2 Unit-5, Unit-6 and Unit-7

4

All topics of Block-3 Unit-8

5

All topics of Block-3 Unit-9, Block-4 Unit-10

6

All topics of Block-4 Unit-11 and Unit-12

 

MCSL-228: AI and Machine Learning Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical  Counselling

1-10

All topics of AI

11-20

All topics of Machine Learning Lab   

 

MCSL-229: Cloud and Data Science Lab

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Practical  Counselling

1-10

All topics of  Cloud

11-20

All topics of  Data Science Lab

 

 

 

MCA 4th Semester Schedule

MCS-230: Digital Image Processing and Computer Vision

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6 and Unit-7

4

All topics of Block-3 Unit-9 and Unit-10

5

All topics of Block-3 Unit-11, Block-4 Unit-12

6

All topics of Block-4 Unit-13 and Unit-14

 

MCS-231: Mobile Computing

Counselling Sessions

Sessions

Session Number

Topics to be Concered

Theory Counselling

1

All topics of Block-1 Unit-1, Unit-2 and Unit-3

2

All topics of Block-1 Unit-4 Block-2 Unit-5

3

All topics of Block-2 Unit-6, Unit-7 and Unit-8

4

All topics of Block-3 Unit-9,Unit-10, Unit-11

5

All topics of Block-3 Unit-12, Block-4 Unit-13

6

All topics of Block-4 Unit-14, Unit-15 and Unit-16

 

 





A person who writes a blog or a weblog is a blogger. Blogging is the act of posting content on a blog.

The main purpose of blog is to convey messages about events, announcements,  needs, review etc. Blogs are usually managed using  a web browser and this requires active internet connection.

Blog 

A blog is a  website or a web page,in which an individual records opinion links to other sites on regular basis. A blog content is written frequently and added in a chronological order. 

It is written online and visible to\everyone. A typical blog combines text,images and links to other blogs, web pages and other media related to its topic.In education, blogs can be used as instructional resources. 


These blogs are referred to as edublogs. The entries of blog are  also known as posts.A person who writes a blog or a weblog is known as blogger. Blogging is the act of posting content on a blog.


There are some popular websites which offer blog service as follows 


  • Joomla 
  •  WordPress.com 
  •  Drupal ! Blogger 
  •  Tumblr ! Weebly 
  • Blogger.com





No comments:

Post a Comment

If you have any query or doubt, please let me know. I will try my level best to resolve the same at earliest.

Resources That will Make You Better at IT, Education and specifically in Digital Marketing.: Build career in Medical coding in 2021

Resources That will Make You Better at IT, Education and specifically in Digital Marketing.: Build career in Medical coding in 2021 :  As He...