Вы находитесь на странице: 1из 27

1.

Introduction
1.1 Introduction
Hostel management gives on idea about how the students details, room allocation,
mess expenditure is maintained in the particular concern. The hostel managementsystem also
includes some special features. The administration has the unique identity for each member as
well as students’ details. The stock management has also held by mess expenditure, the mess
expenditure that used to calculate the mess bills of each of the students. The modules of this
project are student details, attendance details, room details, mess modules.

1.2 Problem Statement


We have got many hostels in our city. All these hostels at present are managed manually by
the hostel office. The Registration form verification to the different data processing are done
manually. Thus, there are a lot of repetitions which can be easily avoided. And hence there is
a lot of strain on the person who are running the hostel and software’s are not usually used in
this context. This particular project deals with the problems on managing a hostel and avoids
the problems which occur when carried manually Identification of the drawbacks of the
existing system leads to the designing of computerized system that will be compatible to the
existing system with the system which is more user friendly and more GUI oriented. We can
improve the efficiency of the system, thus overcome the drawbacks of the existing system.

1.3 Motivations
As a Student, I can well understand the problems which are we face daily in our life. Actually,
I have got many things in my mind about Final project system. And finally, I have planned to
do a system for applying online hostel registration, bill payment method, maintain student
details, visitor details, employees’ detail and more facilities without any problems for Hostel
Management.
I was thinking about final project as few days that what to do for final project. At last of past
week Decided to develop a system far Hostel management which is more usable thing at the
current situation for our Hostel Student.
When I have discussed with my Warden also they have allowed and encouraged me to develop
this good system for good purpose of students to save their time and money because they said,
usually this activity being as a time consuming for students because they have to get renewal
or registration or hostel fees payment form, fill it up, get sign from warden and Director. So,
this procedure taking more than two days.

1.4 Objective
The main objective of this project is:
 Maintain the students as hostellers and waiting list students separately Student will no
longer apply for their hostels manually.
 The warden can see and access the student's data.
 To know number of items (e.g.: bed, chairs) given to student staying in the hostel.
 Process allotment list.
 Admin can send the approval notification to every approved student via email.
 Automatically insert student's details to the hosteller's record when the allotment is
confirmed by the admin and deleted when vacation is conformed or after the course end
date.
 Students can register their complaints.
 Admin can edit notice board and each student can view it.
 Hostel secretary can calculate hostel fee including mass fees and can edit mess menu
 Hostellers can check the stains of every month, hostel fee

1.5 Scope of Project


The project mainly focused on development of a computerized hostel management system
for managing hostels and their components including students and their property. The system
will capture hostel records, their location, managers and others. generally, it will generates
reports, updating of the system User’s login credentials, searching for record and also updating
the students through the notice board on the system about their balances and other sort of.

1.6 Project Deliverables


Project will be submitted with the following deliverables:
Project Thesis
CDs
Executable Code

1.7 SDLC Models


The Software Development Life Cycle (SDLC) is the software development world’s spellcheck
— it can flag errors in software creation before they’re discovered (at a much higher cost) in
successive stages. But it’s much more than that, of course: SDLC can also lay out a plan for
getting everything right the first time.

The SDLC process involves several distinct stages, including planning, analysis, design,
building, testing, deployment and maintenance. Here are six SDLC methodologies, or models,
that development teams use in this effort.

Types of Software developing life cycles (SDLC)

• Agile
• Lean
• Waterfall
• Iterative
• Spiral
• DevOps

Agile
The Agile model has been around for about a decade. But lately, it has become a major driving
force behind software development in many organizations. Some businesses value the Agile
methodology so much that they are now applying it to other types of projects, including non-
tech initiatives.

In the Agile model, “fast failure” is a good thing. The approach produces ongoing release
cycles, each featuring small, incremental changes from the previous release. At each iteration,
the product is tested. The Agile model helps teams identify and address small issues on projects
before they evolve into more significant problems, and engage business stakeholders and get
their feedback throughout the development process.
Lean
The Lean model for software development is inspired by lean manufacturing practices and
principles. The seven Lean principles (in this order) are: eliminate waste, amplify learning,
decide as late possible, deliver as fast as possible, empower the team, build integrity in, and
see the whole.

The Lean process is about working only on what must be worked on at the time, so there’s no
room for multitasking. Project teams are also focused on finding opportunities to cut waste at
every turn throughout the SDLC process, from dropping unnecessary meetings to reducing
documentation.

Waterfall
Some experts argue that the Waterfall model was never meant to be a process model for real
projects (check out the discussion on this topic on StackExchange). Regardless, the Waterfall
model is widely considered the oldest of the structured SDLC methodologies. It’s also a very
straightforward approach: finish one phase, then move on to the next. No going back. Each
stage relies on information from the previous stage and has its own project plan.

The downside of Waterfall is its rigidity. Sure, it’s easy to understand and simple to manage.
But early delays can throw off the entire project timeline. With little room for revisions once a
stage is completed, problems can’t be fixed until you get to the maintenance stage. This model
doesn’t work well if flexibility is needed or if the project is long term and ongoing.

Even more rigid is the related Verification and Validation model — or V-shaped model. This
linear development methodology sprang from the Waterfall approach. It’s characterized by a
corresponding testing phase for each development stage. Like Waterfall, each stage begins only
after the previous one has ended. This SDLC model can be useful, provided your project has
no unknown requirements.

Iterative
The Iterative model is repetition incarnate. Instead of starting with fully known requirements,
project teams implement a set of software requirements, then test, evaluate and pinpoint further
requirements. A new version of the software is produced with each phase, or iteration. Rinse
and repeat until the complete system is ready.

Advantages of the Iterative model over other common SDLC methodologies is that it produces
a working version of the project early in the process, and makes it less expensive to implement
changes. One disadvantage: Repetitive processes can consume resources quickly.

Spiral
One of the most flexible SDLC methodologies, the Spiral model takes a cue from the Iterative
model and its repetition; the project passes through four phases (planning, risk analysis,
engineering and evaluation) over and over in a “spiral” until completed, allowing for multiple
rounds of refinement.

The Spiral model is typically used for large projects. It enables development teams to build a
highly customized product, and incorporate user feedback early on in the project. Another
benefit of this SDLC model is risk management. Each iteration starts by looking ahead to
potential risks, and figuring out how best to avoid or mitigate them.

DevOps
The DevOps methodology is the newcomer to the SDLC scene. As this article explains, it
emerged from two trends: the application of Agile and Lean practices to operations work, and
the general shift in business toward seeing the value of collaboration between development and
operations staff at all stages of the SDLC process.
In a DevOps model, Developers and Operations teams work together closely — and sometimes
as one team — to accelerate innovation and the deployment of higher-quality and more reliable
software products and functionalities. Updates to products are small but frequent. Discipline,
continuous feedback and process improvement, and automation of manual development
processes are all hallmarks of the DevOps model.

1.8 SDLC Model Chosen


Choosing the right SDLC model for your software development project will require careful
thought. But keep in mind that a methodology for planning and guiding your project is only
one ingredient for success.
I have chosen RAD model for my project as it may help me in on improving my project as I
am developing in Visual Studio

1.9 Procedure

Research

Design

Development

Tesing

Deployment
2. Literature Review and Analysis
2.1 Literature Review
Hostels, accommodation and housing services have grown to be one of most popular and
favorite business option. Cities, towns, business centers, shopping places and schools are
examples of places where this business has flourished. This positions a challenge on how to
efficiently handle or manage these facilities.
Modern businesses are rediscovering the ancient mantras for success in corporate world and
blending them with contemporary marketing practices. Long term survival and competitive
advantage can only be attained by establishing an emotional bond with the customers. A shift
is taking place from marketing to anonymous masses of customers to developing and managing
relationships with more or less well known or at least some identified customers (Greenrooms,
1994).

This section shall provide general literature on Automation particularly hostel services industry
and its link with customer satisfaction, customer loyalty and business performance followed
by literature on computer systems and service quality in details. The ‘gap model’ shall be
introduced and literature on service guarantee, service recovery, and complaint management
shall be provided. This would lead to the privacy issues related with management in the service
industry.

Many computer or automated systems have been developed to keep up with the increasing
demand for better and efficient way of managing these facilities than manual systems that are
hard to work with and inflexible. Most of these systems are web-based systems. Examples that
are discussed in this section include those that have been implemented at universities and
colleges. However, there are others that have been implemented outside the learning
environment namely bookhostels.com technology who brag to power over 500 affiliate
websites worldwide, including the Web Reservation owned sites www.hostelworld.com and
www.hostels.com and internationally renowned travel sites such as Studentuniverse.com.

2.2 Existing Systems


To understand and see how exactly some companies are utilizing and taking advantage from
their management applications, I am going mention three companies below:

2.2.1 Existing System I


2.2.2 Existing System II

2.2.3 Existing System III

2.2.4 Limitation in Existing Systems

The existing system is manual based and need lot of efforts and
consume enough time. In the existing system we can apply for the hostels online
but the allotment processes are done manually. It may lead to corruptions in the
allocation process as well as hostel fee calculation. The existing system does not
deals with mess calculation and complaint registration.

 More human power


 More strength and strain of manual labor needed
 Repetition of same procedure.
 Low security.
 Data redundancy.
 Difficulty to handle.
 Difficulty to update data.
 Record keeping is difficult.
 Backup data can be easily generated
2.3 Proposed System
The proposed system is desktop application with a consideration that desktop applications have
evolved significantly over recent years and with improvements in security and technology there
are plenty of scenarios where web-based applications and systems could be improved by
improving the security

Desktop based applications offer competitive advantages to traditional web-based systems


allowing businesses to consolidate and streamline their systems and processes and reduce costs.
A lot of time is lost by students on queues and by the housing department staff how attend to
them the whole day during room allocation exercise. Much time is also lost in searching and
retrieving record and files for students and other records like daily expenses. Some of the
records may eventually get lost and many errors committed during these processes.

2.4 Comparison

Existing systems Proposed system


Old and Unfriendly Interface Friendly and Eye Catching Interface
Workflow was not fluid Workflow is fluid
No Advance Reporting Has Advance Reporting
Difficult Backup and Recovery One Click Backup and Recovery
No Authentication Secure Authentication
Hard to Operate Easy to Operate

2.5 Feasibility Report


All projects are feasible given unlimited resources and infinite time. Unfortunately, the
development of computer-based system in many cases is more likely to be plagued by scarcity
of resources and delivery date. Hence, we have made use the concept of reusability that is what
Object-Oriented Programming (OOPS) is all about.
The feasibility report of the project holds the advantages and flexibility of the project. This is
divided into three sections:
 Economical Feasibility
 Technical Feasibility
 Operational Feasibility

Economic Feasibility:

Economic analysis is the most frequently used method for evaluating the effectiveness of a new
system. More commonly known as cost/benefit analysis. .net using visual C# and SQL database
easily available in internet

Technical Feasibility:

The technical feasibility in the proposed system deals with the technology used in the system.
It deals with the hardware and software used in the system whether they are of latest technology
or not. It happens that after a system is prepared a new technology arises and the user wants
the system based on that technology. This system uses windows platform, .net as front-end
technology and sql server as backend technology. Thus, HOSTEL MANAGEMENT SYSTEM
is technically feasible.
Operational Feasibility:

The project has been developed in such a way that it becomes very easy even for a person with
little computer knowledge to operate it. This software is very user friendly and does not require
any technical person to operate. Thus, the project is even operationally feasible.

2.6 Statement of Work


A statement of work (SoW) is a document routinely employed in the field of project
management. It defines project-specific activities, deliverables and timelines for a vendor
providing services to the client. The SOW typically also includes detailed requirements and
pricing, with standard regulatory and governance terms and conditions.

ORGANIZATION
NAME
CONTACT
ADDRESS

PROJECT
NAME
BRAND
PRODUCT
BEGIN DATE
END DATE
DURATION

ASSUMPTIONS

GOALS
OBJECTIVE
SCOPE
DELIVERABLES

PAYMENTS
ADVANCE
MID
TOTAL COST

2.7 Gantt Chart


A Gantt chart, commonly used in project management, is one of the most popular and useful
ways of showing activities (tasks or events) displayed against time. On the left of the chart is a
list of the activities and along the top is a suitable time scale. Each activity is represented by a
bar; the position and length of the bar reflects the start date, duration and end date of the
activity. This allows you to see at a glance:

 What the various activities are


 When each activity begins and ends
 How long each activity is scheduled to last
 Where activities overlap with other activities, and by how much
 The start and end date of the whole project

Simply put, a Gantt chart is a visual view of tasks scheduled over time. Gantt charts are used
for planning projects of all sizes and they are a useful way of showing what work is scheduled
to be done on a specific day. They also help you view the start and end dates of a project in one
simple view.
3. System Design
3.1 Introduction
Systems design implies a systematic approach to the design of a system. It may take a bottom-
up or top-down approach, but either way the process is systematic wherein it considers all
related variables of the system that needs to be created—from the architecture, to the required
hardware and software, right down to the data and how it travels and transforms throughout its
travel through the system. Systems design then overlaps with systems analysis, systems
engineering and systems architecture.

3.2 Data Flow Diagram


Data flow diagrams are visual representations of how data will move within an information
system. That sounds daunting doesn't it? Basically, a data flow diagram shows a picture of how
data will move into a process, what will happen to it while it is there, how and where the data
will emerge or its output, and where the changed data will be stored.

Data flow diagrams can be used in any industry that needs to perform a structured analysis,
such as in computer systems design and business development. Data flow diagrams can be used
to visualize current systems or improve them to fix problems and make them more efficient.
Many people confuse data flow diagrams with flow charts and pseudocode. Flow charts show
steps in a process, like this flow chart for the writing process. Keep in mind that a flow chart
does not identify the inputs, the functions, or storage.

There are several common modeling rules that I follow when creating DFDs:
 All processes must have at least one data flow in and one data flow out.
 All processes should modify the incoming data, producing new forms of outgoing data.
 Each data store must be involved with at least one data flow.
 Each external entity must be involved with at least one data flow.
 A data flow must be attached to at least one process.

3.2.1 Context DFD

A context diagram is a top level (also known as "Level 0") data flow diagram. It only contains
one process node ("Process 0") that generalizes the function of the entire system in relationship
to external entities. This is simple Level 0 DFD with only one process
3.2.2 Level 1 DFD

A level 1 data flow diagram (DFD) is more detailed than a level 0 DFD but not as detailed as
a level 2 DFD. It breaks down the main processes into subprocesses that can then be analyzed
and improved on a more intimate level. A more detailed DFD of Hostel System

3.3 Use Case Diagram

Use case diagrams consists of actors, use cases and their relationships. The diagram is used to
model the system/subsystem of an application. A single use case diagram captures a particular
functionality of a system. Hence to model the entire system, a number of use case diagrams are
used.

Purpose of Use Case Diagrams

The purpose of use case diagram is to capture the dynamic aspect of a system. However, this
definition is too generic to describe the purpose, as other four diagrams (activity, sequence,
collaboration, and Statechart) also have the same purpose. We will look into some specific
purpose, which will distinguish it from other four diagrams.

Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a system
is analyzed to gather its functionalities, use cases are prepared and actors are identified.
When the initial task is complete, use case diagrams are modelled to present the outside view.
In brief, the purposes of use case diagrams can be said to be as follows –

 Used to gather the requirements of a system.


 Used to get an outside view of a system.
 Identify the external and internal factors influencing the system.
 Show the interaction among the requirements are actors.

3.4 Sequence Diagram


The Sequence Diagram is one of the most interesting and useful diagrams in the Unified
Modeling Language (UML).

It helps you document and understand the dynamic aspects of your software system -
specifically the sequence of messages that are sent and received between objects. Sequence
diagrams can help you comprehend and solve difficult issues in the process-intensive portions
of your applications.

if you're not using business objects, most of your application logic resides inside methods of
user interface objects or in functions and procedures? and there really isn't much messaging
that occurs between objects. However, once you decide to elevate your programming by using
business objects in your applications, sequence diagrams help you answer two very important
questions:
 Which objects should be assigned a particular responsibility?
 In what order should messages pass between objects?

These questions are very difficult to answer correctly when you simply try to envision object
messaging in your head. In contrast, when you document your thought process in a sequence
diagram, suddenly the answers to these questions become crystal clear. At a higher level, it
also helps you comprehend the overall flow of a particular process. In addition, sequence
diagrams help you easily identify unnecessary messages between objects and factor them out.
You may also discover that objects you originally thought should be involved in a particular
process shouldn't be involved at all!

There are four primary elements of a sequence diagram:


 Objects
 Lifelines
 Messages
 Focus of control

3.5 Class Diagram


Class Diagram gives the static view of an application. A class diagram describes the types of
objects in the system and the different types of relationships that exist among them. This
modeling method can run with almost all Object-Oriented Methods.

UML Class Diagram gives an overview of a software system by displaying classes, attributes,
operations, and their relationships. This Diagram includes the class name, attributes, and
operation in separate designated compartments.
Class Diagram helps construct the code for the software application development.

Benefits
 Class Diagram Illustrates data models for even very complex information systems
 It provides an overview of how the application is structured before studying the actual code.
This can easily reduce the maintenance time
 It helps for better understanding of general schematics of an application.
 Allows drawing detailed charts which highlights code required to be programmed
 Helpful for developers and other stakeholders.

Essential elements of UML class diagram are:


 Class Name
 Attributes
 Operations
Class Name:

The name of the class is only needed in the graphical representation of the class. It appears in
the topmost compartment. A class is the blueprint of an object which can share the same
relationships, attributes, operations, & semantics. The class is rendered as a rectangle, including
its name, attributes, and operations in sperate compartments.

Attributes:

An attribute is named property of a class which describes the object being modeled. In the class
diagram, this component is placed just below the name-compartment.

Relationships:

There are mainly three kinds of relationships in UML:


 Dependencies
 Generalizations
 Associations

Dependency
A dependency means the relation between two or more classes in which a change in one may
force changes in the other. However, it will always create a weaker relationship. Dependency
indicates that one class depends on another.

Generalization
A generalization helps to connect a subclass to its superclass. A sub-class is inherited from its
superclass. Generalization relationship can't be used to model interface implementation. Class
diagram allows inheriting from multiple superclasses.

Association:
This kind of relationship represents static relationships between classes A and B. For example;
an employee works for an organization.
Here are some rules for Association:
 Association is mostly verb or a verb phrase or noun or noun phrase.
 It should be named to indicate the role played by the class attached at the end of the
association path.
 Mandatory for reflexive associations
3.6 ER Diagram
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is an object, a component of data. An entity set is a collection of similar
entities. These entities can have attributes that define its properties.

By defining the entities, their attributes, and showing the relationships between them, an ER
diagram illustrates the logical structure of databases.

ER diagrams are used to sketch out the design of a database.

An ER diagram is a means of visualizing how the information a system produces is related.


There are five main components of an ERD:

Entities

Entities, which are represented by rectangles. An entity is an object or concept about which
you want to store information.

A weak entity is an entity that must defined by a foreign key relationship with another entity
as it cannot be uniquely identified by its own attributes alone.

Relationships

Actions, which are represented by diamond shapes, show how two entities share information
in the database.

In some cases, entities can be self-linked. For example, employees can supervise other
employees.
Attribute:

Attributes, which are represented by ovals. A key attribute is the unique, distinguishing
characteristic of the entity. For example, an employee's social security number might be the
employee's key attribute.

A multivalued attribute can have more than one value. For example, an employee entity can
have multiple skill values.

A derived attribute is based on another attribute. For example, an employee's monthly salary is
based on the employee's annual salary.

Connecting Lines:

Connecting lines, solid lines that connect attributes to show the relationships of entities in the
diagram.

Cardinality:

Cardinality specifies how many instances of an entity relate to one instance of another entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the occurrences of a
relationship, ordinality describes the relationship as either mandatory or optional. In other
words, cardinality specifies the maximum number of relationships and ordinality specifies the
absolute minimum number of relationships.
3.7 Database
A database is a collection of information that is organized so that it can be easily accessed,
managed and updated.
Data is organized into rows, columns and tables, and it is indexed to make it easier to find
relevant information. Data gets updated, expanded and deleted as new information is added.
Databases process workloads to create and update themselves, querying the data they contain
and running applications against it.
Computer databases typically contain aggregations of data records or files, such as sales
transactions, product catalogs and inventories, and customer profiles.

3.7.1 Database Schema

In database terms, a schema (pronounced “skee-muh” or “skee-mah”) is the organisation


and structure of a database. Both schemas and schemata can be used as plural forms.
A schema contains schema objects, which could be tables, columns, data types, views, stored
procedures, relationships, primary keys, foreign keys, etc.
A database schema can be represented in a visual diagram, which shows the database objects
and their relationship with each other.

In Mysql

Conceptually, a schema is a set of interrelated database objects, such as tables, table columns,
data types of the columns, indexes, foreign keys, and so on.
….
In MySQL, physically, a schema is synonymous with a database. You can substitute the
keyword SCHEMA instead of DATABASE in MySQL SQL syntax, for example
using CREATE SCHEMA instead of CREATE DATABASE.

In SQL Server

The names of tables, fields, data types, and primary and foreign keys of a database.
3.8 Normalization
If a database design is not perfect, it may contain anomalies, which are like a bad dream for
any database administrator. Managing a database with anomalies is next to impossible.

Update anomalies − If data items are scattered and are not linked to each other properly, then
it could lead to strange situations. For example, when we try to update one data item having its
copies scattered over several places, a few instances get updated properly while a few others
are left with old values. Such instances leave the database in an inconsistent state.

Deletion anomalies − We tried to delete a record, but parts of it was left undeleted because of
unawareness, the data is also saved somewhere else.

Insert anomalies − We tried to insert data in a record that does not exist at all.

Normalization is a method to remove all these anomalies and bring the database to a consistent
state.

There are seven normalization form. 7th is still in development and just a theory for now they
are

 1st Normalization Form


 2nd Normalization Form
 3rd Normalization Form
 Boyce Codd Normalization Form
 4th Normalization Form
 5th Normalization Form
 6th Normalization (Just Theoritical)

For a database to be consistent it must follow 3rd Normalizaton Form

3.8.1 Normalization Forms

First Normal Form

To be in first normal form (1NF), a table must have the following qualities:
 The table is two-dimensional with rows and columns.
 Each row contains data that pertains to some thing or portion of a thing.
 Each column contains data for a single attribute of the thing it’s describing.
 Each cell (intersection of a row and a column) of the table must have only a single value.
 Entries in any column must all be of the same kind. If, for example, the entry in one row of
a column contains an employee name, all the other rows must contain employee names in
that column, too.
 Each column must have a unique name.
 No two rows may be identical (that is, each row must be unique).
 The order of the columns and the order of the rows are not significant.

Second Normal Form

Before we learn about the second normal form, we need to understand the following –

 Prime attribute − An attribute, which is a part of the candidate-key, is known as a prime


attribute.
 Non-prime attribute − An attribute, which is not a part of the prime-key, is said to be a
non-prime attribute.

If we follow second normal form, then every non-prime attribute should be fully functionally
dependent on prime key attribute. That is, if X → A holds, then there should not be any proper
subset Y of X, for which Y → A also holds true.

Third Normal Form

For a relation to be in Third Normal Form, it must be in Second Normal form and the following
must satisfy –

 No non-prime attribute is transitively dependent on prime key attribute.


 For any non-trivial functional dependency, X → A, then either −
 X is a superkey or,
 A is prime attribute.
4. Development
4.1 Development Plan
I have used Rad Model for my development

4.1.1 RAD Models

RAD or Rapid Application Development process is an adoption of the waterfall model; it


targets at developing software in a short span of time. RAD follow the iterative
SDLC RAD model has following phases
 Business Modeling
 Data Modeling
 Process Modeling
 Application Generation
 Testing and Turnover

Different phases of RAD model includes

Phases of RAD model Activities performed in RAD Model


Business Modeling On basis of the flow of information and distribution between
various business channels, the product is designed
Data Modeling The information collected from business modeling is refined
into a set of data objects that are significant for the business
Process Modeling The data object that is declared in the data modeling phase is
transformed to achieve the information flow necessary to
implement a business function
Application Generation Automated tools are used for the construction of the software,
to convert process and data models into prototypes
Testing and Turnover As prototypes are individually tested during every iteration, the
overall testing time is reduced in RAD.
When to use RAD Methodology?
 When a system needs to be produced in a short span of time (2-3 months)
 When the requirements are known
 When the user will be involved all through the life cycle
 When technical risk is less
 When there is a necessity to create a system that can be modularized in 2-3 months of time
 When a budget is high enough to afford designers for modeling along with the cost of
automated tools for code generation

Advantages and Disadvantages of SDLC RAD Model


Advantages Disadvantages
Flexible and adaptable to changes It can't be used for smaller projects
It is useful when you have to reduce the Not all application is compatible with RAD
overall project risk
It is adaptable and flexible to changes When technical risk is high, it is not suitable
It is easier to transfer deliverables as scripts, If developers are not committed to delivering
high-level abstractions and intermediate software on time, RAD projects can fail
codes are used
Due to code generators and code reuse, there Reduced features due to time boxing, where
is a reduction of manual coding features are pushed to a later version to finish
a release in short period
Due to prototyping in nature, there is a Reduced scalability occurs because a RAD
possibility of lesser defects developed application begins as a prototype
and evolves into a finished application
Each phase in RAD delivers highest priority Progress and problems accustomed are hard
functionality to client to track as such there is no documentation to
demonstrate what has been done
With less people, productivity can be Requires highly skilled designers or
increased in short time developers

4.1.2 Hardware Tools

Processor: Core i3 2.80 GHz


RAM: 8GB
Harddisk: 500GB

4.1.3 Software Tools

Following Tools are used for making this system

Language: C Sharp or C#
IDE: Visual Studio 2017:
Framework: .Net Framework 4.5
Technology: Winform
UI and Reporting Framework: DevExpress 18.1.4
Database: SQL SERVER 2012
DB IDE: DbForge for Sql Server 5.1
Drawing: Microsoft Visio 2016
Report Making: Microsoft Word 2016

4.2 Platform (Microsoft)


Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is
used to develop computer programs, as well as websites, web apps, web services and mobile
apps. Visual Studio uses Microsoft software development platforms such as Windows
API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft
Silverlight. It can produce both native code and managed code.

4.3 Language (C Sharp)


C# is a general-purpose, multi-paradigm programming language encompassing strong
typing, imperative, declarative, functional, generic, object-oriented (class-based),
and component-oriented programming disciplines. C# is one of the programming languages
designed for the Common Language Infrastructure.

4.3.1 Creating User Interface

User Interface were made using drag and drop facility beside this UI Framework DevExpress
was used to create more good looking, professional and responsive design

4.3.2 Levels of Coding

Coding was done by keeping in view the 3-tier architecture. Visual studio itself provide 2 tier
it keeps drag and drop code separate from other logic. But in 3 tier we further divide that logic
into business logic and database logic.

4.3.3 OOP

Features like inheritance, encapsulation and other oop features were used by default. Every
custom Form or Control is inheriting from the basic form or control provided by visual studio
itself

4.3.4 Dialog Box

Dialog Box are used to show exception, success and error alerts. A few examples are given
below

4.3.5 Events

Mouse and Keyboard events are used beside them dropdown change event, and data grid
selection changed event are also used.

4.3.6 Error Handling

Errors are handled very wisely so that the software should not close unexpectedly. Few
examples are given below.

4.3.7 Forms and Controls

I have created following custom forms and controls

4.3.8 Why I choose C#

I have chosen c# because it is very easy to create desktop application with it and criteria to
create a computer shop management system was fulfilled by c#. and hardware work like
printing was also added very easily.
5. Deployment
5.1 Implementation
A product software implementation method is a blueprint to get users and/or organizations
running with a specific software product.

The method is a set of rules and views to cope with the most common issues that occur when
implementing a software product: business alignment from the organizational view and
acceptance from human view.

The implementation of product software, as the final link in the deployment chain of software
production, is in a financial perspective of a major issue.

It is stated that the implementation of (product) software consumes up to 1/3 of the budget of
a software purchase (more than hardware and software requirements together).

When the main point of the computer study program is to implement counter measures to bots
and bugs.

5.1.1 Location
The software was implemented at Zikria Boy Hostel

5.1.2 Hardware
I told them to buy:
Processor: Core 2 Dou 2.4 Ghz
Ram: 2Gb
HDD: 160Gb

5.2 Configuration
I installed sql server on their system. Made the installer of the software with automatic database
connection setting. And database creation and table creation and insert one record for admin
user in admin table for login

5.3 Testing
5.3.1 Purpose
Software testing enables making objective assessments regarding the degree of conformance
of the system to stated requirements and specifications.
Testing verifies that the system meets the different requirements including, functional,
performance, reliability, security, usability and so on. This verification is done to ensure that
we are building the system right.
In addition, testing validates that the system being developed is what the user needs. In essence,
validation is performed to ensure that we are building the right system. Apart from helping
make decisions, the information from software testing helps with risk management.
Software testing contributes to improving the quality of the product. You would notice that we
have not mentioned anything about defects/bugs up until now.

5.3.2 Unit Testing


Testing performed on each module or block of code during development. Unit Testing is
normally done by the programmer who writes the code.
5.3.3 Integration testing
Testing done before, during and after integration of a new module into the main software
package. This involves testing of each individual code module. One piece of software can
contain several modules which are often created by several different programmers. It is crucial
to test each module's effect on the entire program model.

5.3.4 System testing


Testing done by a professional testing agent on the completed software product before it is
introduced to the market.

5.3.5 Acceptance testing


Beta testing of the product done by the actual end users.

5.4 Test Cases


1. Test case: Admin Login
Test case: Login Priority(H,L): High
Test objective: Verifying login
Test descriptions: “user enter the required field, press login button”, client program
contact to the server, server contact with database, database update the result and send the
results to the user.
Requirements verified: Yes
Test environment: Person must have the software
Test setup/ pre-condition: Software must be opened and user must be logged out
Location Expected result
The user will login to access application “Login successfully”. Display main menu.
Pass: Yes Condition: Pass Fail: No
Problem /issues: NIL
Status: Successfully Executed

2. Test case: Insert Student


Test case: Add New Student Priority(H,L): High
Test objective: To Insert Student in the system
Test descriptions: “user enter the required field, press save button”, client program
contact to the server, server contact with database, database update the result and send the
results to the user.
Requirements verified: Yes
Test environment: Person must be logged in
Test setup/ pre-condition: Person should be in Student Panel
Location Expected result
Student will be added to the system “Student added successfully”. Clear the fields.
Pass: Yes Condition: Pass Fail: No
Problem /issues: NIL
Status: Successfully Executed

3. Test case: Insert Room


Test case: Add New Room Priority(H,L): High
Test objective: To Insert New Room in the system
Test descriptions: “user enter the required field, press save button”, client program
contact to the server, server contact with database, database update the result and send the
results to the user.
Requirements verified: Yes
Test environment: Person must be logged in
Test setup/ pre-condition: Person should be in Room Panel
Location Expected result
Room will be added to the system “Room added successfully”. Clear the fields.
Pass: Yes Condition: Pass Fail: No
Problem /issues: NIL
Status: Successfully Executed

4. Test case: Insert Mess


Test case: Add New Mess Priority(H,L): High
Test objective: To Insert New Mess in the system
Test descriptions: “user enter the required field, press save button”, client program
contact to the server, server contact with database, database update the result and send the
results to the user.
Requirements verified: Yes
Test environment: Person must be logged in
Test setup/ pre-condition: Person should be in Mess Panel
Location Expected result
Mess will be added to the system “Mess added successfully”. Clear the fields.
Pass: Yes Condition: Pass Fail: No
Problem /issues: NIL
Status: Successfully Executed

5. Test case: Add Rent


Test case: Add Rent Priority(H,L): High
Test objective: To Insert Rent in the System
Test descriptions: User select student. Add services he taken. Fill payment fields, press
save button, client program contacts to the server, server contact with database, database
update the result and send the results to the user.
Requirements verified: Yes
Test environment: Person must be logged in
Test setup/ pre-condition: Person should be in Rent Panel
Location Expected result
Rent will be added to the system “Rent saved successfully”. Clear the fields.
Pass: Yes Condition: Pass Fail: No
Problem /issues: NIL
Status: Successfully Executed
Conclusion
According to our client requirements we have developed the Hostel System as offline based
which is much backdated compare to new tech era? For future upgradation we will transform
this offline system into online based. Currently users need to enter every detail manually.

This system has some benefits to their staffs. Currently they are keeping every record by written
down in memo manually. At least this system will give them relieve from exhausted life which
they are dealing with their customers. Besides this system will make them more reliable to its
customers as all the customers records will be kept safely than any previous
times. Moreover, they can manage their stock more handily.
Reference
SMARTDRAW
http://www.smartdraw.com

TECHNOPEDIA
https://www.techopedia.com

UML-DIAGRAM
http://www.uml-diagrams.org

GURU99
https://www.guru99.com/

Вам также может понравиться