Professional Documents
Culture Documents
4. Design and coding: System design is the process of defining the elements
of a system such as architecture, modules and components that satisfy the
specified requirements by using different designing tools. In this stage, it
determine how the system will operate in terms of hardware, software and
network infrastructure. A number of technical, organizational and
managerial considerations, along with user preferences and resources
constraint (limitation) should be taken into considerations before designing
a system. In this stage, each requirement is analyzed and determines the
way to convert system requirements into system features. The programming
code is generated by following coding guidelines defined by their
organization and programming tools like compilers, interpreters, debuggers,
etc are used to generate the code. Different high level programming
languages such as C, C++, Pascal, Java, etc are used for coding.
a. White box testing: In white box testing method, internal working of the
system, code are visible. The tester uses programming knowledge to
examine outputs. In this method, tester can test cases that guaranteed
that every individual part in a program has been exercised(executed) at
least once. This can be done by an expert who has good programming
skills.
b. Black box testing: In black box testing, internal working of the system are
hidden. The tester is only concerned with the outcomes from the system
when some specific inputs are given. This is user-oriented to find
whether system functions according to the requirement of user or not.
Good knowledge about the subject matter can make a black box testing.
7. Maintenance: After bringing the system into practice, the users may face
various difficulties. This stage ensures that it continues to meet the
increasing and changing needs of users through system modification as and
when required. Maintenance is the key to continuing to drive the maximum
benefits from a system.
Feasibility study:
Feasibility is the measure of how beneficial or practical the development of an information system
will be for an organization. Feasibility study is the process by which feasibility of the system is
measured. the feasibility study or survey is done in order to determine whether the new system will
be feasible or not on the basis of time, cost, technical and operational, legal and behavioural
aspects. Finally a feasibility survey report is prepared and submitted to management for
consideration.
Different levels of feasibility study areTEBLOS which are describe below:
i. Technical Feasibility: This study determines whether the proposed system can be developed
and implement using existing technology. It determines the devices necessary for the new
system and finds whether all the devices are available or not. This study also determines
hardware, software and network requirements and also determine whether the organization can
afford all those technical requirements to implement new developing system.
iii. Economic feasibility: This study evaluates the economic and financial aspects of the project
that whether an organization can afford the cost of the system or not. It also find worth of the
system for investing money. Cost-benefit analysis is carried out to find the new system is
economically feasible or not.
vi. Behavioral feasibility: Behavioral feasibility study behavior of user, person or surroundings on
the enhancement of new system. It study how they respond to the new system and how can they
adopt the new system or how to make them to adopt the new system.
iv. Legal feasibility: Legal feasibility evaluates the proposed system conflicts with legal
requirements. It determines whether the system is feasible according the law of that location. It
also determines the legal issues such as trademark, copyright, ownership, etc.
(source code duplication, IT and cyber law policy hindrance)
ii. Operational Feasibility: It determines whether the system is feasible (suitable) with relate to
human skill and social aspects. It studies whether the user can operate the new system or not.
If the whole staffs need very long time and more cost to be trained in the new system, then the
new system will not be feasible.
v. Schedule/Time feasibility: This study addresses the time to complete the project with available
resources and additional resources. It finds whether the time will be feasible for the
organization. For example: if an organization needs a new system within 1 month but it takes
more than 1 year, then new system will not be feasible on the basis of time.
System Analyst
System analyst is a person who is responsible for analyzing, designing and implementing of the
business procedure to the computer. The system analyst studies the problems and needs of an
organization determining and solving business problem using computer technology. System analyst
helps an organization to realize the maximum benefit from its investment in equipment, person and
business processes.
The major roles of system analyst are:
i. Defining requirement: The most important and difficult task of an analyst is to understand
user’s requirements. The system analyst has to communicate with users and find out
information they use in current system and how they use it and then asked what information
they feel they lack. The analyst has to determine how such information can be generated.
ii. Prioritizing requirement by agreement: In any organization, there are many users and every
user has some special requirements. It is not possible to satisfy everyone due to limited
computing capacity or lack of manpower. So, system analyst must be diplomatic and able to
convince all users about the priority of requirement.
iii. Analysis and evaluation: The system analyst analyzes the working system of current
information system in the organization and collects the facts and opinions. On the basis of facts
and opinions, system analyst has to find the best characteristics of the new or modified system
that will meet the user’s requirement.
iv. Solving problem: System analyst has to study the problem in depth and suggest alternate
solution to the management with relative's difficulties while implementing each of the
alternatives and benefits so that user can choose best alternatives.
v. Drawing up functional specifications: System analyst has to obtain the functional and
procedural specifications for the system to be designed. The specifications must be in non-
technical so that user and managers can understand it.
vi. Designing and evaluating system: Once the specification accepted by the user or manager,
analyst design a system. The system must be understandable by the implementer. System must
be designed so that latest tools and techniques could be used. After designing analyst critically
evaluate system after it has been applied by the user for certain period of time.
System
System is collection of interrelated parts that work together to achieve one or more common
objectives. It is also a set of processes and procedures that transform data into information and
knowledge. System is a group of interrelated elements forming a complete unit.
Storage
Feedback
Advantages:
This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model – each phase has specific deliverables and
review process.
In this model phases are processed and completed one at a time. Phases do not overlap.
Waterfall model works well for smaller projects where requirements are very well understood.
Disadvantages:
It is difficult to define all requirements at the beginning of a project
Not suitable for accommodating any change.
Working version of system is not seen until late in project’s life.
It involves heavy documentation.
There is no risk analysis
We cannot go in backward direction. Once an application is in testing stage, it is very difficult to
go back and change something that was not well thought out in the concept stage.
No working software is produced until late during the life cycle
High amount of risk and uncertainty.
Not a good model for complex and object oriented projects.
Not suitable for projects where requirements are at a moderate to high risk of changing.
Prototype model:
A prototype model is a working model based on interaction between analyst and user.
It is the iterative process of system development where modification can be made until the
user is satisfied.
In waterfall model intermediate changes in user's requirements cannot be accommodated
one the system development process begins, so an alternative method has been developed
called prototyping model which is based on the assumption that it is difficult to know all the
requirement of user in advance.
Advantages
When prototype is shown to the user, s/he gets proper concept and feel of the functionality
of the software and he can suggest changes and modifications.
Feedbacks from customer are received periodically and the changes don't come as a last
minute surprise.
When client is not confident about the developer's capabilities, s/he asks for a small
prototype to be built. Based on this model, s/he judges capabilities of the developer.
Disadvantages
Prototyping is done at the cost of the developer. So, it should be done using minimal
resources.
Once we get proper requirements from client after showing prototype model, it may be of
no use. So it is also called as throw-away prototype.
Too much involvement of client is not always preferred by the developer.
Too many changes can disturb the rhythm of the development team.
iii. Spiral model:
The spiral model of the software process was originally proposed by Boehm in 1988.
It is the method of system development in a looping structure where system planning, risk
analysis, software development and user evaluation are repeatedly processed until the
maturity of the program occurs.
This method combines the features of both waterfall as well as prototype model in order to
minimize almost every possible/known risk factor from it.
Each loop in spiral is split into four sectors:
a. Determine objectives
b. Identify and resolve risks
c. Software Development and validation
d. Planning next phase
This model is most convincing method of system development because it uses multi-dimensional
approach for software designing.
Documentation:
Documentation refers to keep records of all system information in the system development process.
A well written document provides a great tool and means of information respository necessary to
know about software process as well as how to use the product. The information includes any
models of the system components, detailed description of these components as well as information
such as the organizational structure and user responsibilities within this structure. In some
systems, it can includes the program themselves. There are different types of documentation but
most commonly used are as follows:
i. Requirement Document: This documentation works as key tool for software designer, designer
and test team to carry out their respective tasks. This document contains all the functional,
non-functional and behavioral description of the intended software.
ii. Program documentation: Documentation of a program provides written information about the
program. Using them the programmer can easily recall actions to be performed during the
testing of programs while modifying, maintaining and designing the program. The programmer’s
responsibility in documentation is to provide information to enable them to make necessary
changes. It contains
a. Description of program
b. Input/output forms associated with the program.
c. Detail flowchart of the program
d. Explanation of common error message
e. Information regarding the input data
f. Expected output of the program
g. Logical design of a program.
iii. Operation Documentation: A well designed system may fail if user of the system lack of detail
knowledge about to run the program so, proper documentation is needed to run any system
effectively. It includes:
a. Instructions to execute the program
b. Description of the procedural to start the program
c. Listing of the programmed error and their solution
d. Detailed description of the file used for I/O process.
e. Accuracy standard for data in the system.
iv. System documentation: Documentation which is related to the system analysis and design
process is called system documentation. System documentation contains:
a. File specifications
b. Use and meaning of variable names
c. A written description of the program
d. Transaction specification
e. Output specification
v. Management documentation: The system designer must know the requirement of the
management and provide documentation to enable management to perform the function. It
provides:
a. Monitoring to the existing system
b. Evaluating the progress of the system.
Decision tree: Decision tree is similar to decision table. It follows the tree structure and
each branch of tree denotes conditions. It is simple tools which are easy to understand since
it provides graphical hierarchical diagram of conditions and its actions. Example to find
smallest number among 3 different number:
Decision tree
4. Data Dictionary: A structured repository of data about data in database is called data
dictionary. Data dictionary stores information about the structure of the database. The
data dictionary stores the data item’s name, description and other details about each
data item. The system analyst creates the data dictionary during detailed analysis. And
in later phases of the SDLC, system analyst refers to and updates the data dictionary.
Data dictionary provides the definition of data items, how they fit into the data
structure and how they relate to other entities in the database. DBA uses data
dictionary in every phase of database cycle. So data dictionary should include
everything a DBA wants to know about the database.
5. UML (Unified Modeling Language): UML was developed by Grady Booch, Ivar
Jacobson and James Rumbaugh at Rational software in 1990’s. It was adopted by the
Object Management Group (OMG) in 1997 and has been managed by this organization
ever since. It is a standardized, general purpose modeling language in the field of
software engineering.