SYSTEM SPECIFICATION
HARDWARE REQUIREMENTS:
[Link] SYSTEM :
WINDOWS 7 AND ABOVE C
II. PROCESSOR :
PENTIUM(ANY) OR AMD
ATHALON(3800+- 4200+
DUALCORE)
· MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM
0R MSI
K9MM-V
VIAK8M800+8237R PLUS
CHIPSET FOR AMD
ATHALON
· RAM : 512MB+
· Hard disk : SATA 40 GB OR ABOVE
· CD/DVD r/w multi drive combo: (If back up required)
· FLOPPY DRIVE 1.44 MB : (If Backup required)
· MONITOR 14.1 or 15 -17 inch
· Key board and mouse
· Printer : (if print is required – [Hard copy])
SOFTWARE REQUIREMENTS:
· Operating System: Windows OS
· Programming Language: Python
· Database: MySQL
SOFTWARE DESCRIPTION
PYTHON :
Python is a high-level, interpreted, interactive and object-oriented scripting
language. Python is designed to be highly readable. It uses English keywords
frequently where as other languages use punctuation, and it has fewer
syntactical constructions than other languages.
· Python is Interpreted − Python is processed at runtime by the
interpreter. You do not need to compile your program before executing
it. This is similar to PERL and PHP.
· Python is Interactive − You can actually sit at a Python prompt and
interact with the interpreter directly to write your programs.
· Python is Object-Oriented − Python supports Object-Oriented style
or technique of programming that encapsulates code within objects.
· Python is a Beginner's Language − Python is a great language for
the beginner-level programmers and supports the development of a
wide range of applications from simple text processing to WWW
browsers to games.
History of Python:
Python was developed by Guido van Rossum in the late eighties and early
nineties at the National Research Institute for Mathematics and Computer
Science in the Netherlands.
Python is derived from many other languages, including ABC, Modula-3, C,
C++, Algol-68, SmallTalk, and Unix shell and other scripting languages.
Python is copyrighted. Like Perl, Python source code is now available under
the GNU General Public License (GPL).
Python is now maintained by a core development team at the institute,
although Guido van Rossum still holds a vital role in directing its progress.
Python Features:
Python's features include −
· Easy-to-learn − Python has few keywords, simple structure, and a
clearly defined syntax. This allows the student to pick up the language
quickly.
· Easy-to-read − Python code is more clearly defined and visible to the
eyes.
· Easy-to-maintain − Python's source code is fairly easy-to-maintain.
· A broad standard library − Python's bulk of the library is very
portable and cross-platform compatible on UNIX, Windows, and
Macintosh.
· Interactive Mode − Python has support for an interactive mode
which allows interactive testing and debugging of snippets of code.
· Portable − Python can run on a wide variety of hardware platforms
and has the same interface on all platforms.
· Extendable − You can add low-level modules to the Python
interpreter. These modules enable programmers to add to or customize
their tools to be more efficient.
· Databases − Python provides interfaces to all major commercial
databases.
· GUI Programming − Python supports GUI applications that can be
created and ported to many system calls, libraries and windows
systems, such as Windows MFC, Macintosh, and the X Window
system of Unix.
· Scalable − Python provides a better structure and support for large
programs than shell scripting.
Apart from the above-mentioned features, Python has a big list of good
features, few are listed below −
· It supports functional and structured programming methods as well as
OOP.
· It can be used as a scripting language or can be compiled to byte-code
for building large applications.
· It provides very high-level dynamic data types and supports dynamic type
checking.
· It supports automatic garbage collection.
· It can be easily integrated with C, C++, COM, ActiveX, CORBA, and
Java.
PANDAS:
Pandas is a software library written for the Python programming language for
data manipulation and analysis. In particular, it offers data structures and
operations for manipulating numerical tables and time series.
To import this library:
import pandas as pd
MATPLOTLIB
Matplotlib is a plotting library for the Python programming language
and its
numerical mathematics extension NumPy.
To import this library:
import
[Link]
as plt import
numpy as np
MYSQL
A database system is basically a computer based record keeping system. The
collection of data , usually referred to as the database , contains information
about one particular enterprise. In a typical file-processing system , permanent
records are stored in various file. A number of different application program are
written to extract records from files and add records to the appropriate files A
data management system is answer to all these problem as it provides a
centralized control of the data.
Various advantages of data base system are:
· Data base system reduce data redundancy (data duplication ) to a
large extent.
· Data base system control data inconsistency to a
large extent.
· Database facilitate sharing of data.
· Database enforces standards.
· Centralized data bases can ensure data security.
· Integrity can be maintained through databases.
My SQL is a freely available source Relational Database Management System
(RDMS) that uses Structured query language (SQL). It is downloadable from
site [Link] . In a MYSQL database , information stored in
tables. MYSQL provides you with a rich set of
features that support a secure environment for storing , maintaining ,
accessing data. MYSQL is a fast , reliable , scalable alternative to many of
the commercial RDBMSs available today.
MYSQL was created and is supported by MYSQL AB , a company based
in Sweden ([Link]) . This company is now a subsidiary of sun micro
systems , which holds the copyright to most of the code base. On APRIL 20,
2009 ORACLE CORP., which develops and sells the proprietary ORACLE
DATABASE, announced a deal to acquire sun Microsystems.
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The systems development life cycle is a project management technique that divides
complex projects into smaller, more easily managed segments or phases. Segmenting projects
allows managers to verify the successful completion of project phases before allocating resources
to subsequent phases.
Software development projects typically include initiation, planning, design,
development, testing, implementation and maintenance phases. However, the phases may be
divided differently depending on the organization involved.
For example, initial project activities might be designatedasrequest, requirements-
definition, and planningphases, or initiation, concept-developmentand planning phases. End
users of the systemunder development should be involved inreviewing the output of each phase
to ensurethe system is being built to deliver the neededfunctionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or an
opportunity.
The purpose of the Initiation Phase is to:
· Identify and validate an opportunity to improve business accomplishments
of the organization or a deficiency related to a business need.
· Identify significant assumptions and constraints on solutions to that need.
· Recommend the exploration of alternative concepts and methods to satisfy
the need including questioning the need for technology, i.e., will a change in the
business process offer a solution?
· Assure executive business and executive technical sponsorship. The
Sponsor designates a Project Manager and the business need is documented in a
Concept Proposal. The Concept Proposal includes information about the business
process and the relationship to the Agency/Organization.
· Infrastructure and the Strategic Plan. A successful Concept Proposal
results in a Project Management Charter which outlines the authority of the
project manager to begin
the project.
Careful oversight is required to ensure projects support strategic business
objectives and resources are effectively implemented into an organization's
enterprise architecture. The initiation phase begins when an opportunity to add,
improve, or correct a system is identified and formally requested through the
presentation of a business case. The business case should, at a minimum, describe
a proposal’s purpose, identify expected benefits, and explain how the proposed
system supports one of the organization’s business strategies. The business case
should also identify alternative solutions and detail as many informational,
functional, and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need or
opportunity is validated by the Agency/Organization Program Leadership and the
Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
· Determine the feasibility and appropriateness of the alternatives.
· Identify system interfaces.
· Identify basic functional and data requirements to satisfy the business need.
· Establish system boundaries; identify goals, objectives, critical success
factors, and performance measures.
· Evaluate costs and benefits of alternative approaches to satisfy the basic
functional requirements
· Assess project risks
· Identify and initiate risk mitigation actions, and develop high-level technical
architecture, process models, data models, and a concept of operations. This
phase explores potential technical solutions within the context of the
business need.
· It may include several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery versus a
complete, onetime deployment.
· Construction of executable prototypes is encouraged to evaluate technology
to support the business process. The System Boundary Document serves as
an important reference document to support the Information Technology
Project Request (ITPR) process.
· The ITPR must be approved by the State CIO before the project can move
forward.
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in the early
stages of a project, is necessary to coordinate activities and manage project risks
effectively. The depth and formality of project plans should be commensurate
with the characteristics and risks of a given project. Project plans refine the
information gathered during the initiation phase by further identifying the specific
activities and resources required to complete a project.
A critical part of a project manager’s job is to coordinate discussions between
user, audit, security, design, development, and network personnel to identify and
document as many functional, security, and network requirements as possible.
During this phase, a plan is developed that documents the approach to be used and
includes a discussion of methods, tools, tasks, resources, project schedules, and
user input. Personnel assignments, costs, project schedule, and target dates are
established.
A Project Management Plan is created with components related to acquisition
planning, configuration management planning, quality assurance planning,
concept of operations, system security, verification and validation, and systems
engineering management planning.
REQUIREMENTSANALYSIS PHASE
This phase formally defines the detailed functional user requirements using high-
level requirements identified in the Initiation, System Concept, and Planning
phases. It also delineates the requirements in terms of data, system performance,
security, and maintainability requirements for the system. The requirements are
defined in this phase to a level of detail sufficient for systems design to proceed.
They need to be measurable, testable, and relate to the business need or
opportunity identified in the Initiation Phase. The requirements that will be used
to determine acceptance of the system are captured in the Test and Evaluation
Master Plan.
The purposes of this phase are to:
· Further define and refine the functional and data requirements and
document them in the Requirements Document,
· Complete business process reengineering of the functions to be supported
(i.e., verify what information drives the business process, what information is
generated, who generates it, where does the information go, and who processes
it),
· Develop detailed data and process models (system inputs, outputs, and the
process.
· Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
DESIGN PHASE
The design phase involves converting the informational, functional, and network
requirements identified during the initiation and planning phases into unified
design specifications that developers use to
script programs during the development phase. Program designs are constructed
in various ways. Using a top-down approach, designers first identify and link
major program components and interfaces, then expand design layouts as they
identify and link smaller subsystems and connections. Using a bottom-up
approach, designers first identify and link minor program components and
interfaces, then expand design layouts as they identify and link larger systems and
connections. Contemporary design techniques often use prototyping tools that
build mock-up designs of items such as application screens, database layouts, and
system architectures. End users, designers, developers, database managers, and
network administrators should review and refine the prototyped designs in an
iterative process until they agree on an acceptable design. Audit, security, and
quality assurance personnel should be involved in the review and approval
process. During this phase, the system is designed to satisfy the functional
requirements identified in the previous phase. Since problems in the design phase
could be very expensive to solve in the later stage of the software development, a
variety of elements are considered in the design to mitigate risk.
These include:
· Identifying potential risks and defining mitigating design features.
· Performing a security risk assessment.
· Developing a conversion plan to migrate current data to the new system.
· Determining the operating environment.
· Defining major subsystems and their inputs and outputs.
· Allocating processes to resources.
· Preparing detailed logic specifications for each software module. The
result is a draft System Design Document which captures the preliminary design
for the system.
· Everything requiring user input or approval is documented and reviewed
by the user. Once these documents have been approved by the Agency CIO and
Business Sponsor, the final System Design Document is created to serve as the
Critical/Detailed Design for the system.
· This document receives a rigorous review by Agency technical and
functional representatives to
ensure that it satisfies the business requirements. Concurrent with the
development of the system design, the Agency Project Manager begins
development of the Implementation Plan, Operations and Maintenance Manual,
and the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design specifications into executable
programs. Effective development standards include requirements that
programmers and other project participants discuss design specifications before
programming begins. The procedures help ensure programmers clearly understand
program designs and functional requirements. Programmers use various
techniques to develop computer programs. The large transaction oriented
programs associated with financial institutions have traditionally been developed
using procedural programming techniques. Procedural programming involves the
line-by-line scripting of logical instructions that are combined to form a program.
Effective completion of the previous stages is a key factor in the success of the
Development phase.
The Development phase consists of:
· Translating the detailed requirements and design into system components.
· Testing individual elements (units) for usability.
· Preparing for integration and testing of the IT system.
INTEGRATION AND TEST PHASE
Subsystem integration, system, security, and user acceptance testing is
conducted during the integration and test phase. The user, with those responsible
for quality assurance, validates that the functional requirements, as defined in the
functional requirements document, are satisfied by the developed or modified
system. OIT Security staff assesses the system security and issue a security
certification and accreditation prior to installation/implementation.
Multiple levels of testing are performed, including:
· Testing at the development facility by the contractor and possibly
supported by end users
· Testing as a deployed system with end users working together with
contract personnel
· Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing, a final Independent Verification &
Validation evaluation is performed and all documentation is reviewed and
accepted prior to acceptance of the system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the user. In
this phase, the system is installed to support the intended business functions.
System performance is compared to performance objectives established during
the planning phase. Implementation includes user notification, user training,
installation of hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase continues until the
system is operating in production in accordance with the defined user
requirements.
OPERATIONS AND MAINTENANCE PHASE
The system operation is on-going. The system is monitored for continued
performance in accordance with user requirements and needed system
modifications are incorporated. Operations continue as long as the system can be
effectively adapted to respond to the organization’s needs. When modifications or
changes are identified, the system may re-enter the planning phase.
The purpose of this phase is to:
· Operate, maintain, and enhance the system.
· Certify that the system can process sensitive information.
· Conduct periodic assessments of the system to ensure the functional
requirements continue to be satisfied.
· Determine when the system needs to be modernized, replaced, or retired.