Chapter-2 System Requirement Analysis and Project Management
Chapter-2 System Requirement Analysis and Project Management
PHP is a programming language that allows web developers to create dynamic web
applications with its content that can interact with its databases and also a general-purpose
server-side scripting language that runs on the webserver allows to accessing lots of
developers. It supports nearly all operating systems like Windows, Linux, UNIX, etc. PHP
development is simple and easy to use this language is one of the important reasons behind
the platform
PHP web development is one among several web development methods that will never fade
away. With every passing year, it has become the most trusted platform for developers and
companies for website development. The reason for such tremendous popularity of PHP is
the outcome of the continuous research and development. There is no doubt that in coming
times, PHP will reach to the newer heights as the demands for the PHP powered websites are
being expected to explode.
Presently, PHP 7 is being used for empowering websites across the world. Every version
release brings some improvement along with the opportunity to make the language even more
improved that has some drawbacks. With the passage of time, PHP has been enhanced to
support multiple platforms so that it could be run smoothly on any platform with assured
reliability. Thus, no wonder that the popular websites.
But unlike prototyping, the incremental model focuses on the delivery of an operational
product with each increment. Early increments are stripped down versions of the final
product, but they do provide capability that serves the user and also provide a platform for
evaluation by the user.
Generates working software quickly and early during the software life cycle.
Design Constraints:
IT DEPT, GPG Page | 9
IT- 17 System Analysis
Design specifications that are followed in the organization have to be followed which are as
follows:
Programming Convention:
Programming style should be modular in the sense that it is easy to identify the
functionality of the module and its relationship with other modules.
Module should be predetermined and be clearly defined.
Intercommunication within same module should be high but intercommunication
between different modules should be minimum, i.e. (Cohesion should be high but
coupling should be low.)
Reusable routines should be used to maximize productivity.
Code should not contain any hard-coded components.
Program should be readable, well indented, and visible within the screen by writing
the command in a structured format and using word-wrap to next line for long
statements.
Appropriate comments should be used to describe the purpose of the program,
statement, routines, and variables.
User log should be maintained for concurrency control.
The system should provide some sort of authentication for diff. categories of user.
Look And Feel
Look and feel of the system should be consistent throughout the system.
Same color combination for each page as well as fonts and use of safe color for web-
based applications.
Similar look and Standard navigation style.
Consistent usage of caption for same purpose controls.
Interface should be user friendly and self-explanatory.
Appropriate use of tooltip for displaying relevant information to the user.
Use of appropriate titles and metadata keywords/description for each page.
Entire screen layout should be accommodated in one screen and if required should be
vertically scrolled.
Input Output Conventions
Take maximum input by selection and minimize text input that would help in
reducing user level data entry errors.
System should take minimum input from user and reduce redundant data input. E.g. if
once birth date is entered system should not take age from user but it should be
calculated automatically.
All report layouts should be formatted to accommodate printing in A4 size paper only.
All report should have feature to view on screen and save in Excel format.
All queries /reports should have facility to extract the data between specified filter.
E.g. Between range of dates, and complex search.
Database Design
Table should be normalized to have minimum redundancy and exhibit consistency.
Relationships should be well defined, easy to identify and maintain.
Appropriate nomenclature should be done such that it indicates what type of data it
contains.
Fields should be of proper data types.
Use proper data types as required. E.g. -Use date data type wherever date is required
instead of varchar.
Proper backup strategy should be maintained, script files for the tables should be
generated.
Primary keys and foreign key constraints should be appropriately defined.
Indexing mechanisms should be used for faster retrieval of information.
Use of Views should be done for security and precise output.
Standards for Development Environment
Centralized storage in server i.e. No client level replica
Meaningful project name
Meaningful main folder naming convention.
Nature of object based separation.
Duplicate object with different name should be avoided.
No direct changes in database level object. Source file should be modified first.
Final source should be migrated to central software library.
Copy of technical document always with the source should be provided.
Maintain a document to describe the change history date wise.
No direct changes to the live server should be made; changes should be incorporated
first in the development and should be migrated to live only after testing and
finalizing.
Database Connectivity
A global file like spring config. file should be maintained for database connection
string for flexibility, updating and only reference to that file should be used while
programming.
Quality and Testing
Test plans and Test data should be well documented.
Unit testing should be performed at programmer level.