Uploaded by JR fernando

E-Solutions PVT LTD

advertisement
E-Solutions Private Limited
Automated System Documentation
Rodrick Jorgan Fernando
COL00082099
Table of Contents
(Activity 1)
1.SDLC………………………………………………………………………………(4)
1.1 Traditional Methodology ………………………………………………….(6)
1.1.1 Waterfall Model…………………………………………………..(8)
1.1.2 Prototype Model………………………………………………(11)
1.1.3 Spiral Model…………………………………………………….(13)
1.2AgileMethodology…………………………………………………………..(15)
1.2.1 Scrum……………………………………………………………(16)
1.2.2 Extreme Programming (XR)……………………………………(20)
1.2.3 Feature Driven Development (FDD)……………………………(23)
1.3 Differences between Traditional and Agile Methodologies……………….(26)
(Activity 2)
2. Feasibility Study…………………………………………………………..………..(27)
2.1 What is Feasibility Study?.............................................................................(27)
2.2 Types of Feasibility Study…………………………………………………(27)
2.3 Importance of Feasibility Study……………………………..……………(28)
2.4 Strengths of the Feasibility Study……………………………..………….(29)
2.5 Weakness of the Feasibility Study………………………………………..(29)
(Activity 3)
3. Analyzing the proposed system using a suitable methodology……………………..(30)
3.1 Applying the Agile Methodology for the Proposed system………………..(30)
3.1.1 The reasons of using Agile methodology rather than Traditional for
the Automated system………………………………………………..(30)
3.1 System Requirements………………………………………………………(32)
3.2.1 Functional requirements……………………………………… (32)
3.2.2 Non-Functional Requirements…………………………………. (33)
Rodrick
1
System Analysis & Design
Assignment 1
3.2.3 Differences between Functional and Non-Functional
requirements. ……………………………………………………….. (34)
3.3 User Requirements………………………………………..………………..(35)
3.4 Differences between System requirements and User requirements……….(36)
(Activity 4)
4. Designing the System that meets the User and the System requirement…………. (37)
4.1 System Design Specification……………………………………………… (37)
4.2 Justification on the effectiveness of the System and Methodology used based
on the User and System requirements………………………………………. (38)
Rodrick
2
System Analysis & Design
Assignment 1
Table of Figures
Figure 1.1 SDLC…………………………………………………………….…………(4)
Figure 1.2 SDCL Models………………………………………………………………. (6)
Figure 1.1.1.1 Waterfall model…………………………………………………………..(8)
Figure 1.1.2.1 Prototype Model………………………………………………………(11)
Figure 1.1.3.1 Spiral Model…………………………………………………………… (13)
Figure 1.2.1.1 Scrum Model………………………………………………………… (17)
Figure 1.2.2.1 Extreme Programming Model…………………………………………(20)
Figure 1.2.3.1 FDD Model……………………………………………………………. (23)
Table of Tables
Table 1.3.1 Differences between Traditional and Agile Methodologies…………….. (26)
Rodrick
3
System Analysis & Design
Assignment 1
1.SDLC
An approach used in the software sector for planning, creating, and validating highquality software is called the Software Development Life Cycle (SDLC). The SDLC
seeks to develop high-quality software that meets customer expectations and needs and is
completed on time and within budget.
SDLC is a procedure used inside a software company to complete a software project. It is
a thorough strategy that describes how to build, maintain, restore, and change or improve
certain software. The life cycle describes a strategy for boosting the quality of software
and the entire development phrase.
Figure 1.1 SDLC
1. Planning; This is the very first stage of the SDLC. This particular part can include
many phases such as; scheduling, planning for capacity, arrangement of materials and
human resources, estimation of costs, provisioning., identification of risks.
2. Analysis; Stakeholders and managers must work with the IT department to explain
their expectations for new development and enhancements. At the analysis stage,
Software engineers extract requirements from corporate stakeholders and subject matter
experts. They collaborate with the customer to record any business operations that should
be automated by the program.
3. Design; Developers begin designing software after determining requirements. To
overcome algorithmic difficulties, developers use well-established software development
Rodrick
4
System Analysis & Design
Assignment 1
patterns. Finally, teams get design papers including the patterns and elements chosen for
the project, as well as the code that will be utilized as a starting point for future work.
4. Development; The major objective for developers in this part is to provide functioning
software as soon as feasible. Stakeholders should also be involved on a frequent basis to
ensure that the software satisfies their requirements. Their efforts must have generated
testable and functioning software.
5. Testing; This is a critical stage in the software development life cycle since there is no
way to provide high-quality software without testing. These procedures are automated by
testers to guarantee that tests are executed on a regular basis and are never ignored. The
stage results in fully working software that is ready for deployment. There are a certain
variety of testing methods;

Code quality review

Unit testing

Integration testing

Performance testing

Security testing
6. Implementation; This is the formal deployment of the final software once its fully
functional and tested.
7. Maintenance; The software development life cycle doesn't really stop with its release.
To maintain appropriate software operation, the developers should regularly check
software quality and performance. Bugs and faults can arise at any time, which frequently
feeds back into the development process.
Rodrick
5
System Analysis & Design
Assignment 1
SDLC Models
Traditional
Methodology
Agile
Methodology
WaterFall
Model
Scrum
Prototype
Model
Extreme
Programming
(XR)
Spiral Model
Crystal
Figure 1.2 SDCL Models
1.1 Traditional Methodology
Traditional project management is a linear method in which processes happen in a
predefined and predicted sequence. The project follows a preplanned set of stages in this
strategy and considers that the requirements stay constant but the budget and project
deadline might fluctuate. This strategy is better suited for projects where the risk of scope
adjustments is minimal. Traditional project management depends largely on thorough
planning and analysis throughout the development stage, therefore the development cycle
is relatively streamlined as an outcome.
Strengths of Traditional Methodology;

A clear pathway; because everything is pre-planned, each team member is aware
of their tasks and the project needs. This enables them to perform efficiently and
with very little supervision.

More control over the project; In a typical system, the project manager's staff has
practically complete control, and even minor changes must be authorized by the
manager. This avoids modifications from the project's initial scope.
Rodrick
6
System Analysis & Design
Assignment 1

Proper and clear documentation; Documentation is a pillar of conventional
project management technique. The documents not only regulate the whole
process, but they may also be utilized for advice in future initiatives.

Accountability is centralized; Because the project managers have complete
control, they will be made responsible for the project's success or failure.
Stakeholders usually know who to approach during the project to acquire all the
relevant updates, rather than approaching many other people.
Weaknesses of Traditional Methodology;

It is a slow process; If your customer is unclear about the demands, development
will be delayed. Because modifications are harder in traditional project
management's linear technique. Changes can throw off the order, delaying the
start of the subsequent stage of development until the one before it is complete.

Less involvement of clients; Each development method leaves little room for the
client's input. Until the product is finished, clients are not engaged or open to the
full development phase. It will be a time-wasting occurrence if it is not in
accordance with the needs of the client.

Time management issues can arise; Traditional approach might suffer from time
mismanagement owing to a lack of reciprocal collaboration, togetherness, and
mutual progress.

Modifications are not easy; Once a software or program has been tested, it is most
likely difficult, time-consuming, and expensive to go back and modify it to meet
the criteria. To effect any modifications, you may need to restart.
Under the Traditional Methodology, there are certain models that can be put to use these
models are listed in the figure above (Figure 1.1 SDCL Models).
Rodrick
7
System Analysis & Design
Assignment 1
1.1.1 Waterfall Model
The Waterfall Model is the first one to be offered as a Process Model. A linear-sequential
life cycle model is another name for it. It is quite simple to grasp and apply. In a waterfall
model, every stage must be finished before another one can begin, and the stages must not
overlap. The Waterfall technique was the very first SDLC Model extensively utilized in
Software Engineering to assure a successful project.
The entire software development process is separated into segments. Typically, the
conclusion of one step serves as the input for the following stages in this Waterfall
approach.
Figure 1.1.1.1 Waterfall model
1. Requirements Analysis; During this phase, all possible software needs are identified
and recorded in a demands specification document.
2. System Design; This stage studies the need requirements from the previous stage and
prepares the system design.
3. Implementation; The software is first built in discrete programs called units, with
input from the system design, and then combined in the following step.
Rodrick
8
System Analysis & Design
Assignment 1
4. Testing; Following unit testing, all units generated during the implementation stage are
integrated into a system.
5. Deployment; After all the testing is done on the software, the software is released in
the client environment or launched to the market.
6. Maintenance; After the deployment of the system it doesn’t mean that the process is
done. The developers should have proper maintenances schedules on a timely basis for
the system to ensure its quality and performance in the long run. Patches are published to
solve these vulnerabilities. Latest versions are released to enhance the product.
Features of the Waterfall Model;

As mentioned above, each and every stage should be completed before moving
on to the other stages.

One thing is certain with waterfall project management: a lot of documentation.
It's easy to feel overwhelmed by the amount of paperwork and standards that
must be addressed for the project.

Gantt charts are important project management methods that are being used to
organize and schedule projects. These Gantt charts are being used in these
waterfall model.

Reports are being generated in these Waterfall methodologies; Reporting has two
main functions: it provides project managers with more information about the
waterfall project's internal workings, allowing them to make good decisions, and
it provides as a communication platform for stakeholders.
When we use Waterfall model;

When the requirements are quite specific and well-defined.

When sufficient resources with the necessary skills are readily available.

When the customer has a high degree of trust in the company.

When the project is short.

When there have been no criteria that are unclear.
Strengths of the waterfall model;

Rodrick
Easy to comprehend and implement.
9
System Analysis & Design
Assignment 1

Because of the model's stability, it is simple to manage. Each step includes its
own set of deliverables and a review procedure.

Stages in the model are well defined.

Tasks are simple to organize.

The process and outcomes are thoroughly documented.

Performs well enough for smaller projects having clear requirements.
Weaknesses of the Waterfall model;

Not suitable for complicated, object-oriented programs.

There is a huge risk and uncertainty.

Not suitable for long-term projects.

Measuring the progress of the development within phases is tough.

Cannot meet changing needs.

Changing the scope of a project during its life cycle might lead to its destruction.
Rodrick
10
System Analysis & Design
Assignment 1
1.1.2 Prototype Model
The Prototyping Paradigm is a software development model where a prototype is
developed, tested, and changed until it is satisfactory. It also builds the foundation for the
final system or program. It usually works when the project's needs are not completely
understood. It is an iterative, trial-and-error process used by both the developer and the
customer.
Figure 1.1.2.1 Prototype Model
1. Requirements gathering and analysis; A requirement analysis is the first step in
developing a prototype model. The system's requirements are identified in-depth at this
phase.
2. Quick Design; The second part is the designing stage, a basic system design is built at
this stage. It is, however, not a full design. It provides the user with a high-level overview
of the system.
3. Build prototype; Based on the knowledge acquired during rapid design, a real
prototype is developed in this step. It is a scaled-down version of the needed system.
4. User Evaluation; The proposed system is submitted to the client for an initial review
at this stage. It aids in determining the working model's strengths and weaknesses. Client
feedback and suggestions are gathered and forwarded to the developers.
5. Redefining prototype; If the client is dissatisfied with the present prototype, you must
modify it based on the client's feedback and ideas. This stage will not be completed until
all of the client's needs have been satisfied.
6. Implement and maintain; The completed system is fully tested and put to operation
when it is designed based on the final prototype. Routine maintenance is performed on
the system to save disruption and prevent major breakdowns.
Features of the Prototype Model;
Rodrick
11
System Analysis & Design
Assignment 1

For the new system, a prototype, basic design is built.

The initial design is used to create the first prototype of the new system.

These Prototypes can be utilized in more complex projects in the future.

When using these models, the customer feedback comes in faster and gives you a
better sense of what they want.
When we use the Prototype Model;

When the proposed system requires a lot of contact with the end customers, then
the prototype model should be employed.

Prototype models are ideally suited for online systems and web interfaces that
have a lot of interaction with customers.

They are used when creating excellent user-friendly computer interfaces.
Strengths of the Prototype Model;

Client satisfaction persists since the client can experience the product from the
start.

Problems may be spotted early in the software development process because
customers are actively involved in the development process.

There will almost certainly there will be no software rejection.

It helps you identify the capabilities that the system is missing.

The model can be built without the need for skilled experts.

Allows the customer to determine whether or not the software code meets the
program specification.

The prototype aids in gaining a better knowledge of the customer's requirements.
Weaknesses of Prototype Model;

Prototyping is a time-consuming and labor-intensive procedure.

The expense of building a prototype is a massive waste because the prototype is
eventually discarded.

Clients may be unwilling to engage in the iteration process for an extended period
of time.

It is incredibly challenging for software engineers to implement all of the
modifications requested by customers.
Rodrick
12
System Analysis & Design
Assignment 1

Numerous new requirements may arise as a result of prototyping.

Whenever the client is dissatisfied with the original prototype, they may lose
interest in the final product.
1.1.3 Spiral Model
The spiral model is one of most fundamental Software Development Life Cycle models
for risk management. It seems to be a spiral with multiple loops in its diagrammatic form.
The precise number of spiral loops is uncertain and varies between project to project.
Each and every spiral loop is referred to as a Step in the software development process.
There are four phases in the spiral model. A software project goes through these stages in
repetitions known as Spirals.
Figure 1.1.3.1 Spiral Model
1. Identification; This step begins with acquiring the basic spiral's business needs. This
phase is used to identify requirements of the system, subsystem requirements, and unit
requirements in future spirals as the product grows. This section also involves continual
contact between the client and the systems administrators to understand the requirements
of the system. When the spiral comes to an end, the product is introduced into the
designated market.
Rodrick
13
System Analysis & Design
Assignment 1
2. Design; The Design process begins with conceptual design in the baseline spiral and
progresses to architectural design, logical module design, physical product design, and
final design in successive spirals.
3. Construct or Build; At each spiral, the Construct stage relates to the construction of
the real software system. Within baseline spiral, while the idea is still being thought about
and the design is being developed, a POC (Proof of Concept) is created to get user input.
4. Evaluation and Risk analysis; Identifying, assessing, and tracking technical
feasibility and management risks such as schedule delays and capital outlay are all part of
risk analysis. After testing the build, the client reviews the program and offers feedback at
the conclusion of the very first iteration.
Features of the Spiral Model;

Early during the software life cycle, software is created.

We may simply adjust criteria at a later stage and have them appropriately
implemented.

Controlled authorization and documentation.

Because of the risk analysis and risk management at each level, it is the ideal
development method to implement.
When do we use Spiral Model;

It's ideal for huge, complicated projects.

It contributes to client happiness. Clients can be involved in the creation of goods
at an early stage in the software development process.

It's best for high-risk projects with erratic business requirements. This may be
used to create a highly personalized product.
Strengths of the Spiral Model;

Varying needs can be addressed.

Prototypes can be used extensively.

More precise requirements can be documented.

Development may be broken into smaller portions, and dangerous aspects can be
created early, allowing for greater risk management.
Weaknesses of Spiral Model;
Rodrick
14
System Analysis & Design
Assignment 1

Management has become more complicated.

The project's conclusion may not be known for some time.

Minimal or low-risk initiatives are not suited, and small projects may be costly.

The procedure is complicated.

The spiral might carry on endlessly.

A huge proportion of intermediate steps needs a lot of documentation.
1.2 Agile Methodology
Agile project management (APM), a relatively new and flexible method to project
management, is all the rage these days. As per the pulse of the profession 2017 study,
71% of firms employed an agile strategy for their projects, with flexibility being one of
the key reason factors behind this.
It is a repetitive approach to project management that relies on client input, adaptability,
and successful team cooperation. Agile enables project teams to be more flexible while
ensuring that the end result meets the customer's expectations.
Strengths of Agile Methodology;

More Flexible; while comparing Agile to traditional project management, Agile is
'by far' more flexible. Because the project is separated into several sprints,
incorporating modifications halfway becomes exceedingly simple.

Transparency; Throughout this technique, the entire group agrees on the plan
together and shares project control, which promotes project transparency. Clients
are also engaged throughout the project, and their opinion is used to ensure a
satisfactory end result.

Problem-solving is more efficient; Because Agile employs a "all hands on deck"
strategy, issue resolution becomes simpler and more efficient. Group members
also have the freedom to make minor adjustments without seeking permission
from the project manager, which saves a lot of time and promotes development.

Complexities have been reduced; Typical Agile approaches such as Scrum and
Kanban necessitate breaking down the whole project into very smaller and more
manageable jobs. This enables the project's continual evolution while maintaining
quality.
Rodrick
15
System Analysis & Design
Assignment 1
Weaknesses of Agile Methodology;

Less Documentation; Documentation occurs across an Agile project, and is
typically "just in time" for generating the outcome, rather than from the start. As a
result, it becomes less detailed and frequently gets pushed to the contrary.

Long-term projects are unsuitable; Finally, one of the most prevalent Agile issues
arises when groups attempt to apply the technique to inappropriate projects. Agile
iterations are meant to gradually create smaller outcomes, which is great for
software development.

Time is of the essence; Members of the group must arrange daily standup
meetings, which might disturb the workflow. Furthermore, the Agile mindset
necessitates ongoing cooperation between developers, testers, clients, and other
project stakeholders.

Customer requirements are continually changing, resulting in an expansion of the
project scope. Components grow rapidly, and new features are frequently added to
the task. Some specifications may need to be completely rebuilt or changed with
newer versions. Teams might grow distracted and lose sight of these criteria, not
knowing which to focus.
1.2.1 Scrum
In a summary, Scrum is a framework for successful team cooperation on complicated
projects. Scrum is a sort of agile technology that includes meetings, responsibilities, and
tools to assist teams working on complicated projects in collaborating and better
structuring and managing their workloads. Although scrum is most commonly employed
by software development teams, it may benefit any team that works toward a similar
objective.
Rodrick
16
System Analysis & Design
Assignment 1
Figure 1.2.1.1 Scrum Model
Different Roles that are present in Scrum methodology;
1. Scrum master; The scrum master oversees the scrum project development process.
The scrum master ensures that scrum rules are in place and used correctly, and also has
regular meetings with the scrum team. He or she is also responsible for mentoring and
inspiring the crew, removing roadblocks to sprints, and ensuring that the squad has the
highest suitable circumstances to fulfil its objectives and generate deliverable solutions.
2. Product Owner; Clients are often stakeholders represented by the product owner. The
product owner defines product requirements, documents product improvements and
changes, and manages a scrum backlog, a thorough and regularly updated to-do list for
the scrum project, to assure the team members are continually providing value for clients
and the company.
3. The Scrum Team; The scrum team is a self-organized team of people with business,
design, intellectual, and development talents who conduct the actual work, resolve issues,
and generate deliverable goods.
Rodrick
17
System Analysis & Design
Assignment 1
Main elements in Scrum;

Sprint; A sprint is the fundamental sequence of tasks for a Scrum team. This is
the fundamental element that distinguishes Scrum from several other agile
development approaches.

Sprint Planning; The purpose of Sprint Planning is to outline what would be
performed in the Sprint and how it would be achieved.

Daily Scrum; The Daily Scrum's goal is to analyze the progress and trends until
the end of the Sprint, synchronize efforts, and create a strategy for the following
24hrs.

Sprint Review; The sprint review's purpose is to indicate what development has
really been performed on the product backlog towards future deliveries.

Sprint Retrospective; The team goes through the accomplished sprint goals,
noting the positive and negative in order to avoid making the same mistakes again.
Features of Scrum Model;

Improved transparency. Scrum development methodologies are well-known for
integrating customers constantly all through the product development cycle.

Leads to early detection and resolution of problems. The Scrum methodology
ensures that modest continuous updates are available to the group and product
owner as the project progresses.

With continuous deployment and iterative releases, it is cost effective. Businesses
will save money by incorporating stakeholders, decreasing risk, reducing down,
and entering the market quicker if they use this strong process.
When do we use Scrum Model;

Someone who has to create a finished product, such as a website, software
program, or even a building project, may adopt Scrum.

Whenever the product owner has complete freedom towards the product
throughout the development process.

Whenever the team doesn’t need any management.

Whenever the changing probability is high during the development process.
Rodrick
18
System Analysis & Design
Assignment 1
Strengths of Scrum Methodology;

The most significant advantage of scrum approach is its flexibility. After each
sprint under the sprint-based paradigm, the scrum team often collects feedback
from stakeholders. If difficulties or modifications arise, the scrum team may
simply and swiftly update product objectives throughout subsequent sprints to
produce more meaningful iterations.

Best suited for Complicated projects; Scrum approach is excellent for projects in
which teams must finish a backlog. Scrum divides every procedure into bite-sized
parts, which may make a complicated project easier to manage.

Firms that emphasize outcomes; Scrum is also advantageous to organizations that
value results above process documentation. That's because, instead of a thorough,
strict method, scrum is focused on efficiency and creativity to produce outcomes.

Organizations that focus to clients: Scrum can assist businesses that produce
goods based on client requests and standards. Scrum is changeable, which is
important when reacting to client needs.
Weaknesses of Scrum Methodology;

It necessitates rigorous training; Even though the Scrum methodology has the
ability to offer speedy and high-quality solutions, successful implementation
needs a skilled workforce.

It may demand significant organizational changes; Implementing the Scrum
methodology may necessitate various organizational changes for the firm in order
for this decision to be effective.

It might be challenging to combine with a traditional project management method;
Even though the Scrum technique is typically a viable choice for projects that
require frequent modifications, it's not always appropriate for projects that
demand predictability and a well-defined strategy.
Rodrick
19
System Analysis & Design
Assignment 1
1.2.2 Extreme Programming (XR)
Extreme programming is a software development process that is a subset of agile
methodologies. XP is based on values, concepts, and techniques, with the purpose of
enabling small to mid-sized teams to generate high-quality software while adapting to
developing and evolving needs.
Figure 1.2.2.1 Extreme Programming Model
Communication, simplicity, feedback, courage, and respect are the five XP values,
and they are detailed in further detail below;
1. Communication; Essentially, software development is a team game that depends on
communication to convey information from one team member to the rest of the team. XP
emphasizes the significance of good communication — face-to-face conversation using a
whiteboard or other drawing method.
2. Simplicity; The goal is to reduce waste and accomplish just what is totally vital, such
as keeping the system architecture as basic as possible so that it is easier to maintain,
support, and change. Simplicity also implies addressing only the necessities that you are
aware of; do not attempt to forecast the future.
3. Feedback; Groups can find areas for development and update their procedures by
receiving continual feedback on their prior efforts. Simple design is also supported by
feedback. The team creates something, receives input on its design and implementation,
and then iterates on the product.
Rodrick
20
System Analysis & Design
Assignment 1
4. Courage; This definition demonstrates a preference for action based on other
principles so that the outcomes are not bad for the team. You must have the confidence to
bring up organizational concerns that are limiting your team's effectiveness. You must
have the fortitude to abandon a failing strategy and attempt something new. Accepting
and acting on feedback, especially when it is tough to take, requires bravery.
5. Respect; Team members must respect one another in order to interact, offer and accept
feedback that values your connection, and collaborate to discover simple designs and
solutions.
Features of the Extreme Programming;

Feedback is given quickly. Members of the team are aware of the input and
respond quickly.

Changes can be made gradually. Small modifications made to a product over time
are more effective than large improvements made all at once.

Work of high quality. A well-functioning team produces a useful product that
they are proud of.

Simplicity is anticipated. In this model developers concentrate on the most
critical task at hand.
When do we use Extreme Programming;

This can be applied for short projects; The XP paradigm is particularly beneficial
for small projects with small teams since face-to-face meetings are easy to
arrange.

Projects incorporating modern technology or studies; These projects must deal
with quickly changing needs as well as technical issues. As a result, the XP model
is employed to accomplish these tasks.

When expecting the functions of the system to alter every few months.

When you'd like to reduce project risk, especially if you're working on a tight
timetable.
Strengths of Extreme Programing;
Rodrick
21
System Analysis & Design
Assignment 1

The major benefit of Extreme Programming is that it helps software development
organizations to save money and time on project implementation.

The ease of use of programs created with extreme programming is another
advantage.

This style is preferred by developers that wish to write incredibly basic code that
may be upgraded at any time.

In XP, the entire process is transparent and responsible. Developers pledge to
complete tasks and demonstrate progress.

Constant feedback is another advantage. It is vital to listen and make any required
modifications in a timely manner.

Extreme Programming helps to improve employee satisfaction and retention.
Weakness of Extreme Programming;

Some experts claim that Extreme Programming is more focused on coding than
architecture. This might be a concern because proper design is critical for software
programs.

Furthermore, defect documenting in XP projects may not always be adequate.
Failure to document defects may result in the recurrence of similar faults in the
future.

Another downside of XP is that doesn't assess code quality assurance. It may
result in bugs in the original coding.

Rodrick
If developers are geographically divided, XP is not the ideal solution.
22
System Analysis & Design
Assignment 1
1.2.3 Feature Driven Development (FDD)
Feature Driven Development (FDD) is an agile methodology that focuses software
development around achieving progress on features, as the name implies. However, not
all FDD properties are generally construed as product qualities.
Figure 1.2.3.1 FDD Model
FDD was created via a five-step development procedure;
1. Develop an overall model; Every group of developers and domain experts defines a
model that includes their common understanding of the relevant items in the new system.
2. Build a Features list; To accomplish this, divide the domain model into subdomains,
each representing a business operation, then specify all of the features you need for the
product to assist your client in that business function for each subdomain.
3. Plan by Feature; Evaluate the difficulty of each feature and create corresponding tasks
for group members to complete. During the planning stage, all group members should
participate in the feature analysis with the viewpoint of each stage of development in
consideration. Then, using the difficulty assessment, decide the sequence where each
feature would be executed, as well as the team members that will be allocated to each set
of features.
4. Design by Feature; The feature which will be planned and built would be determined
by a chief programmer. He or she likewise identify the class owners and feature teams, as
well as the feature objectives.
5. Build by Feature; This stage includes the implementation of all the elements designed
to sustain the design. Interfaces are constructed here, as are functional and technical
Rodrick
23
System Analysis & Design
Assignment 1
elements, and a feature prototype is developed. After the unit has been tested, examined,
and authorized, the feature may be introduced to the core build.
Features of Feature Driven Development;

In FDD, the entire system is constructed incrementally via feature development,
with each component being planned, designed, and implemented separately before
being combined into the overall model.

FDD divides the whole project into little sections which can be completed in a
short amount of time.

The FDD model is an iterative model that enables the software developers to show
off the product on a regular basis, either internally or to the customer.

It involves fewer meetings.
When do we use the Feature Driven Development;

If your project becomes too huge and complex, you might want to explore
employing FDD technique.

This methodology is well-suited for long-term projects with frequent, consistent
iterations that update and add functionality.

It's made to keep the customer's demands and desires in mind at all times. So this
can be used when your main your client’s requirements.
Strengths of Feature Driven Development;

Firstly, a characteristic that is a concentrated strategy is employed to track project
progress.

It enables many teams to operate synchronously. As a result, time is saved.’

It provides improved process tracking capabilities.

It scales effectively to huge teams or projects.

In addition to the foregoing, developer experience differs, which benefits the
team. Most significantly, it improves learning chances for the rest of the team.
Weaknesses of Feature Driven Development;

For starters, it is perfect for large-scale projects but not for small-scale tasks.

It results in a heavy reliance on a single individual. The Chief Programmer fills
several functions, including coordinator, main designer, and mentor. Playing
Rodrick
24
System Analysis & Design
Assignment 1
numerous roles in a major project is problematic because it raises the likelihood of
human error.

In addition to the shortcomings listed above, the design of this technique occurs in
such a way that iterations are not adequately defined by the process, as opposed to
other agile methods. They are project-specific and meet project specifications. As
a result, there is no Standard technique for iteration.
Rodrick
25
System Analysis & Design
Assignment 1
1.3 Differences between Traditional and Agile Methodologies.
Traditional Methodology
Agile Methodology
This is used to develop simple and short
projects
This is used to prepare long and complicated
projects.
Considering this methodology, testing is
conducted after the development process is
finished.
The testing and development stages are carried out
simultaneously in this methodology.
It has a lower level of security.
It has higher level of security.
In terms of software, it has less features.
It has all of the features that users require.
Freshmen are the ones who utilize it the most.
Professionals make advantage of this methodology.
Using this technique, development costs are
reduced.
This approach has a significant development cost.
It is divided into five stages.
There are just three phases to it.
Software development businesses are less likely Normally, software development companies
to utilize it.
employ it.
Table 1.3.1 Differences between Traditional and Agile Methodologies
Rodrick
26
System Analysis & Design
Assignment 1
2. Feasibility Study
2.1 What is Feasibility Study?
A feasibility study is a method for establishing if a project or system is possible, including
checking that it is both technically and legally possible as well as economically possible.
An impartial and methodical analysis of a business's strengths and limitations is the goal
of a feasibility study. It reveals if a project is worthwhile; in certain circumstances, that
might not be possible to complete a project. There are several potential causes for this,
including the need for excessive resources, which also hinders them from executing other
jobs and may also cost more than an organization would recover by engaging on an
unsuccessful project.
2.2 Types of Feasibility Study
1. Technical Feasibility: - The technological resources that the firm has access to are the
main focus of this examination. It aids firms in determining whether the technical
resources are enough and whether the technical staff has the skills necessary to turn
concepts into functional systems. The assessment of the suggested system's technical
needs, including its hardware, software, and other components, is part of the technical
feasibility process.
For example; An organization called ABC Pvt Ltd is setting up a new server where under
the Technical Feasibility they take into account of the required resources in order for the
setup. It was clear that they need a high end server and an operating system for it, few
client computers and some staff to manage it.
2.Financial Feasibility: - Before allocating financial resources, this evaluation often
includes a cost/benefit analysis of the project to assist businesses examine the feasibility,
costs, and advantages related to a project. Additionally, it improves project credibility and
serves as an impartial project evaluation, assisting decision-makers in identifying the
favorable economic advantages that the proposed project would bring to the business.
For example; The Financial Feasibility can help ABC Pvt Ltd to have a proper budget
allocation for the costs that might arise on the server setup.
3. Legal Feasibility: - This evaluation looks at any potential legal infractions of the
planned project, including zoning rules, data protection laws, and social media laws.
Rodrick
27
System Analysis & Design
Assignment 1
For examples; Let's imagine that ABC Pvt Ltd wishes to develop a new office block in a
certain area. The organization's preferred location may not be permitted for that kind of
operation, according to a feasibility assessment. By realizing that their project was
unworkable from the start, that company has just avoided of spending a great deal of time
and effort.
4. Operational Feasibility: - This evaluation entails doing research to evaluate
whether—and how effectively—the goals of the business can be satisfied by finishing the
project. Operational feasibility studies also look at how a project plan fulfills the needs
established during the development process of a system.
For Examples; This shows how effective an installation of a server can be for ABC Pvt
Ltd such as faster workflow, less storage required, higher security for the data.
5. Scheduling Feasibility: - Since projects fail when they are not finished on schedule,
this assessment is crucial to their success. A firm calculates how long it takes to finish the
project while determining scheduling feasibility.
For example; This Scheduling Feasibility aids in finishing up the tasks on time based on
the server setup for ABC Pvt Ltd.
2.3 Importance of Feasibility Study

Increases the focus of project teams, providing a thorough report on the parts of
the project that must be completed for the team to conduct, making it simple for
them.

Discovers new opportunities, new alternatives to the actual idea under
investigation may emerge from the feasibility report competition.

Finds a good cause to start the project, gives out all the benefits that can from
the idea which promotes the start-up of the project.

Increases the likelihood of success by assessing many factors, this specific
research may assist you in recognizing any potential obstacles that may appear
while carrying out the project, providing you with advanced warning so that you
can take preventative measures.
Rodrick
28
System Analysis & Design
Assignment 1

Helps in project decision-making, if you do this study, you will be capable of
understanding all the positive and negative factors of this particular project, which
will enable you to make more informed decisions.

Highlights reasons not to move forward, this particular study helps to state out
all the negative factors of the project that can be deadly for the organization if
proceeded.
2.4 Strengths of the Feasibility Study

Gain Useful Market Perspectives, the Feasibility study will include a thorough
analysis of the market research, recommendations of nearby suppliers,
demographics, and consumer surveys. As a result, the study will enable you to
determine the level of demand for your good or service.

Improve your cash flow projections, you can decide if you have sufficient
money to appropriately support the project by conducting a study. To assist
generate initial finances to start the project, the study will evaluate financing
options and potential grant submissions. This study is a useful resource for
stakeholders involved, investors, and entrepreneurs to gain overview of the
project.

Choosing the Best Time to Launch, the best time to launch your new product or
service will be determined by conducting a feasibility study upfront in the
project's development.
2.5 Weakness of the Feasibility Study

Time and Effort Consuming, this particular study is being prepared based on
multiple factors to produce the upmost valid outcomes of a project.

The Cost of the Feasibility study, depending on the industry, the cost may vary.

The Feasibility study can be a failure, there really is no universally accepted
definition of each step of a feasibility study's term, and there is no established
benchmark for its accuracy or quality.
Rodrick
29
System Analysis & Design
Assignment 1
(Feasibility Report Starts from next page)
Rodrick
30
System Analysis & Design
Assignment 1
Feasibility Study to replace an Automated
system to the current Manual system.
E-Solutions Private Limited
Rodrick Jorgan Fernando
COL00082099
Table of Content
1
1.Introduction………………………………………………………………………….(4)
1.1 Overview……………………………………………………………… (4)
1.2 Objectives of this Project……………………………………………… (4)
1.3 The Need of the Project………………………………………………. (5)
1.4 Overview of the Existing System in E-Solutions Pvt. Ltd…………… (5)
1.4 Scope of the Project…………………………………………………….. (6)
2. Feasibility Study…………………………………………………………………… (8)
2.1 Technical Feasibility……………………………………………………. (8)
2.2 Financial Feasibility………………………………………………….. (13)
2.3 Risk Feasibility……………………………………………………….. (16)
2.4 Schedule Feasibility…………………………………………………… (18)
2.6 Comparison of Current and Proposed System………………………… (19)
Conclusion…………………………………………………………………………. (20)
2
Table of Tables
Table 2.2.1 Financial Feasibility Table………………………………………..……. (13)
Table 2.3.1 Risk Feasibility Table……………………………………………………. (16)
Table 2.6.1 Comparison between Current and Proposed System…………………… (19)
Table of Figures
Figure 2.4.1 Schedule Feasibility (GANNT Chart) ………………………………….. (18)
3
1. Introduction
1.1 Overview
E-Solutions Pvt.Ltd is a software development company, which uses a manual system to
store their client’s personal data and their project details, and also project profiles for each
project in a traditional storing method (File-based storage) which has proven to be
ineffective, so E-Solutions decides to create an automated system to be as a more efficient
substitute for the current manual system. Taking into consideration of many factors, this
Feasibility Study may help in determining the pros and cons of this particular idea if
being put to use, which will aid in with decision making process whether or not to
proceed with this automated system for E-Solutions.
Automated system functions are a mix of software and hardware that are created and
configured to run automatically without requiring input from a user for each task. A vast
variety of options, including tracking and management of systems, data security
applications, industrial automation systems, automated response systems, and more,
employ automated system functions.
1.2 Objectives of this Project

To enhance the efficiency of the current system; these specific systems can
operate around-the-clock without much human supervision, allowing people to
focus on tasks that run in parallel with this one, which automatically increases the
efficiency of the work.

Reduction in costs; because these kind of systems doesn’t require that much of
human supervision, the hiring cost of staff will be greatly reduced for E-Solutions
Private Limited.

Eliminating human errors; Operations that are automated simplify laborintensive activities, which results in less human errors for E-Solutions Private
Limited.

24/7 active operation; these automated systems can work around the clock,
which keeps the system active always.
4

Increase the competitiveness; the use of automation system can increase the
efficiency, which end of the day increases the competitiveness of E-Solutions in
the market.

Reduction in Complexity; Automation removes the human element from menial
jobs so that workers may concentrate on the work that only people are capable of
doing properly.
1.3 The Need of the Project
As mentioned before this particular project can be highly beneficial for E-Solutions,
because the current system is proven to be ineffective and error prone. If E-Solutions
decides to sustain with the current system throughout their future years, there will be no
growth towards efficiency, which will impact the company and its sustainability status
through long run. What if the project was not conducted?

This won’t increase any of the work flow efficiency that is present in E-Solutions.

The E-Solutions won’t have a proper growth in the market.

This will not give any competitive advantage over their competitors.

E-Solutions will miss the opportunity to save costs.

The profit margins will remain the same when using the current system.
1.4 Overview of the Existing System in E-Solutions Pvt. Ltd.
Currently E-Solutions Pvt. Ltd is using the Manual System to organize, manage and
schedule all of their clients’ project details. A manual system is one that doesn't employ
computer hardware with stored programs and maintains records by hand. When it comes
to this Manual System there are benefits that can be gained from it as well as a lot of
drawbacks.
Benefits that E-Solutions Pvt. Ltd. can obtain from Manual System;

The cost of system setup is lower; the setup cost will be less compared to the
Automation system.

Safe from Cyber threats; data that is manually saved cannot be deleted or stolen
by cyber risks like viruses or hackers.
5

Easier to record all the details; all you need is some paper and a pen or pencil to
record all the project details.
Drawbacks that E-Solutions Pvt. Ltd. can obtain from Manual System;

Occupies a lot of room; the major drawback of manual documenting system is
the possible storage requirements.

Easily damaged and easily misplaced; you have to have trust in the individuals
managing the files when you file documents manually. There are several ways
they might be harmed, misplaced, or lost.

Difficult to make changes; it is far more difficult to make adjustments while
working with paper papers.

Poor security; Compared to automation system filling methods, paper document
filing might be less secure. It's simple for misplaced documents to get into the
wrong hands that can be misused.

Delay in file access; It takes a lot of time to file documents manually. Finding the
information when it is needed might require time in addition to organizing and
storing the files.
1.4 Roles and Responsibilities
The Main Actors of the System;
1. Project Directors
2. Project Managers
3. Team Leader and the Employees
4. Employees
The Responsibilities of the actors;
1. Project Directors: 
Creates the Project and a Project Profile for it.

He/She also creates the teams for the given project.

Assigns a team leader for the given project.
6
2. Project Managers: 
Is responsible for assigning task to various teams working on the projects.
3. Team Leader: 
Assigns the tasks to the Team members.
4. Employees: 
Carrying out the tasks which was assigned by the team leader.
1.5 Scope of the Project
As for the scope of the project, the primary goal is to increase the efficiency of the work
flow for E-Solutions, where ultimately the scope is for a bigger expansion of the company
and increase in revenue in long run, which will automatically put them in competitive
advantage in the market compared to others.
7
2. Feasibility Study
2.1 Technical Feasibility
As mentioned above Technical Feasibility is the complete evaluation of the software,
hardware and other requirements that are needed for this proposed system (Automation
System). When it comes to this project there are many requirements that have to be met in
order for the success of this project, they are mentioned below;
1. Programming Language (Python)
In order to create or develop this automation program a programming language is
required as for this project Python is recommended. Python is an object-oriented highlevel programming language, which is frequently used for creating websites and
applications, automating repetitive tasks, and analyzing and displaying data.
Things that can be done using Python;

Analysis of data and artificial intelligence

Website creation

Scripting or automation

Software prototyping and testing

Routine chores
Reasons we use Python for the Automation system instead of other languages;

One of the specialized where programmers use Python is for scripting or
automation purposes, python may be used to automate tasks that you often
undertake in order to increase productivity. Scripting is the method of constructing
computer code for such automated procedures.

Python is considered one of the most popular languages, which means that many
programmers are familiar with it which makes it easier for E-Solutions to assign a
team for this project.

It is considered as an open source language that consists of a large and active
community that contributes to and expands the ecosystem while also contributing
their own libraries and efforts. So the programmers of E-Solutions will have
certain level of help from the productive community which helps them to speed up
their work.
8
2. Interface Design Tools
Under the Interface Design Tool, I have recommended the Adobe XD and Draw.io for the
project at hand.
Adobe XD
Adobe XD enables you to create UI and UX designs that feel and look like the real deal.
Adobe XD is a user interface designing tool for building product prototypes, mobile
applications, and websites. It gives designers the tools and information needed to make
completely functional prototypes, such as workflows, element generation, animation
transitions, and other dynamic aspects.
Reasons we use AdobeXD to design the Automation system instead of other
software;

The interface of Adobe XD was created to make it as simple and quick as possible
for UI/UX designers of E- Solutions to generate designs. Wave farewell to
concealed menus and panels with XD because the tools and functions that creators
use the most frequently are always exposed on the platform.

Using Adobe XD Libraries, you can combine the strength of Creative Cloud
Libraries with the flexibility to share a design system throughout the designers and
the higher management of E-Solutions.

Adding Plugins are an excellent feature in Adobe XD which extends its own
power which is utilized by the developers. This can dynamically improve the
Automation system design’s output and architecture.

The specific feature 3D Transforms is also included in Adobe XD, that helps
developers illustrate their design in a more dynamic way.
Draw.io
A proprietary tool for creating charts and diagrams is called Draw.io. The program gives
you the option to design your own layout or use the automated layout feature. They
9
provide a wide variety of shapes and several graphic components to help you create a
unique diagram or chart.
Reasons we use Draw.io to design the Automation system instead of other software;

This particular software enables user to store their work in clouds that is
accessible by all the other developers in E-Solutions, which makes it flexible for
them to work with the designs.

This is a simple to use software and well suited for startups, so working with
Draw.io can make the working process even faster.
3. Hardware Requirements
High-End PCs
A High-End PC is computer with all the top- shelf hardware. These PCs will give out
great performance levels that helps the developers in the E-Solutions to finish up the
project (Automation System) faster in a more efficient way.
Reasons we use High- End PCs;

When it comes to coding it is a necessity to have a machine that gives out a decent
amount of performance, so that the programmers can work efficiently and finish
up the project (Automation System) on schedule.

These PCs must manage several software applications of various kinds that
demand great performance.
Servers
A server is a device that offers a service to another computer program and its user,
referred to collectively as the customer. A server is a piece of hardware or software that
processes requests sent over a network and answers to them, where requests are made
using a device, known as a client, and responses are sent to it as well. The fundamental
server hardware devices remain the same even though a data center utilizes rack, blade, or
tower servers and assist enable simultaneous data processing at any scale. These hardware
components are Motherboard, Processor, RAM, Hard disk drive, Power Supply, and
GPU.
Reasons we use Servers;
10

The server contains more storage that can aid in E-Solutions in storing of all the
Project Profiles and other sensitive details, this can save up more space when
compared to older used by them (Manual System).

The primary job of a server is to view, store, and transport all data from other
computer systems through a network. In smaller businesses, local networks are
used to link several client computers. So E-Solution can use this feature to spread
out their client project details to all the necessary employees in a more efficient
way.

By establishing work routines that automatically organize activities and processes,
it makes end-to-end management possible and lowers human error rates for ESolution.

Having a server for E-Solutions makes it highly secure and reliable when it comes
to proper storage of their clients details and the details of their projects.
Networking Devices
Usually for the client computers to communicate with the server a LAN setup is required
and in order to setup a LAN network for E-Solutions a certain set of hardware devices are
required such as a Router, Ethernet cables and a Broadband connection.
Router: - It is a device that aids in directing packets of data to their appropriate IP
addresses and enabling several machines to share a single Internet connection to manage
traffic across various networks.
Ethernet cables: - It the actual cable that carries the data packets and signals throughout
all the network devices and client computers.
Client Computers
A client computer is considered a computer or a device that utilizes the resources in a
server by connecting to it. The communication process between the server and the
computer is simple, the client requests a certain resource or piece of data from the server,
and the server responds by providing it.
11
Reasons we use Client Computers;

To manage all the data of the client`s projects which are stored in the server.

Using these devices, the project directors can create a project profile and assign it
through various teams efficiently.
4. Software Requirements
Considering all the hardware devices that are stated above most of these devices needs
certain software to run. You need to pay in order to optimize the full capabilities of some
software stated below. The required software is stated below in order to make this project
successful (Automated System);
1. For Python Language the software that can be used is PyCharm 2021.3.1.
2. Adobe XD
3. Draw.io
4. Operating System for the High-End PCs (Microsoft Windows 10 Pro).
5. Operating System for the Client PCs (Microsoft Windows 10 Pro).
6. Operating System for the Server (Windows Server).
5. Staff Allocation
Below shown members with different designations are the actual team that should be
allocated for the buildup of this project (Automated System). The exact amount of these
designated members ought to be allocated from the E-Solutions staff; however, if no such
members exist or there are insufficient numbers of the necessary staff, E-Solutions will
have to hire some.
1. Junior Engineers (2)
2. Mid-Level Engineers (1)
3. Senior Engineer (1)
4. Mid-Level UX Designer (1)
5. Senior UX Designer (1)
6. Tech Lead (1)
12
2.2 Financial Feasibility
As shown in the below table, it shows all startup costs that are involved in the actual
project (Automated System) that is under taken. This particular Financial sections
involves the cost of hardware components of the server, hardware components of the high
end PCs, hardware components of the client PCs, software subscriptions, staff allocation.
Cost Calculation
Hardware
NO
Information
No.of. Units
Unit Price (Rs.)
Total Price
Components
/ No.of.
/ Monthly
(Rs.)
(Server)
Staff
Salary/
Monthly
Subscrption
Hardware
1
ASUS WS C621E Dual 1
Motherboard
200,000
200,000
2
Intel Xeon (Processor)
2
250,000
500,000
3
Corsair Dominator
Platinum RAM
8
30,000
240,000
4
WD Gold SN600 (SSD
4TB)
4
20,000
80,000
5
NVIDIA Tesla V100
(VGA)
4
100,000
400,000
6
EVGA Supernova 1600 1
T2 (PSU)
90,000
90,000
7
AMD Ryzen 7 5800x
(Processor)
4
120,000
480,000
8
Asus TUF GAMING
X570-PLUS (WI-FI)
Motherboard
4
90,000
360,000
Components
(High-End
PCs)
No.of.PCs
required (4)
13
Corsair Vengeance
LPX 16GB (16x1)
DDR4 3200MHz C16
Memory
Adata Ultimate SU650
240GB (SSD)
8
25,000
200,000
8
10,000
80,000
Asus TUF Gaming
GeForce GTX 1660 Ti
EVO OC Edition 6GB
GDDR6 Graphics Card
Corsair CX450
4
150,000
600,000
1
100,000
100,000
13
Asus VP249HE
23.8"Inch 75Hz LCD
Full HD IPS Monitor
4
30,000
120,000
14
AMD Ryzen 3 3200G
(Processor)
4
30,000
120,000
15
Asus Prime B460-Plus
Motherboard
4
20,000
80,000
16
Adata 8GB (1x8GB)
DDR4 2666MHZ
4
6000
24,000
17
Seagate Desktop
HDD 1TB
4
12,000
48,000
18
Adata XPG Pylon
550w 80 Plus Bronze
Power Supply
MSI Pro MP241 23.8”
Inch FHD IPS Level
Ultra Slim Frameless
Monitor
4
10,000
40,000
4
25,000
100,000
Adobe XD (XD
monthly package rate
for small and medium
sized teams).
Draw.io (20 users are
allowed for this
package per month)
-
8,242/per month
41,210
-
5,377/per month
26,885
9
10
11
12
Hardware
Components
(Client PCs)
No.of.PCs
required (4)
19
Software
20
Subscriptions
(5 month
project)
21
14
Staff
22
Windows Server 2022
Edition (Standard)
-
3,83,263
383,263
23
Windows 10 Pro
(Windows for
Business)
-
71,346
71,346
24
Junior Engineers
2
30,000
300,000
25
Mid-Level Engineer
1
50,000
250,000
26
Senior- Engineer
1
80,000
400,000
27
Mid-Level UX
Designer
1
40,000
200,000
28
Senior UX Designer
1
70,000
350,000
29
Team Lead
1
120,000
600,000
Allocation
(5 month
project)
Total Cost
6,484,704
Table 2.2.1 Financial Feasibility Table
Budget Allocation
As shown in the above table the Total cost is 6,484,704 in order to move on with this
project E-Solutions Private Limited should allocate around 7 million (7,000,000) to cover
up all the costs. The extra amount which is around 5 lakhs (500,000) that has been
included in the budget amount is for minor expenses or unexpected expenses that may
arise.
15
2.3 Risk Feasibility
No. Description of the Risk
The Level of
The Level of
How to Minimize these risks for
possibility
Impact of the
E-Solutions?
that the Risk
Risk
can happen
1
Cyber Threats; these types of
Possible
Medium
There are many ways to reduce
threats are common as this is an
this risk, you can start by
automated system that includes
purchasing and installing
using a server and a network.
premium anti-virus software,
install a proper firewall, train and
educate your employees based on
prevention of cyber threats, data
backups.
2
Misuse of client’s personal and
Rare
High
This particular risk can be
project details. This can cause
reduced by giving access to
destruction to the company’s
confidential details of the
reputation and can attract legal
company and the clients to
issues for the company.
authorized personal only rather
than giving it to all the employees
of E-Solutions.
3
Unauthorized access towards
Rare
High
the server premises.
This risk can be reduced by
installing 24/7 surveillance
system, imposing security guards.
4
Power cuts and Outages,
Possible
Medium
You can overcome this risk by
sudden power cuts and outages
simply adding generators for
can shut down the server and
backup power.
other hardware equipment
causing interruption at work.
5
Highly dependent on the
Highly
automated system, just because
Possible
Medium
Employees have to be trained in a
way to put more concern into the
16
it is effective in work and
work process even if it is
reduces the error prone in the
automated, they also should be
workflow doesn’t mean it is
monitored closely, where this can
completely eliminated.
be achieved by adding up
supervisors for them.
Table 2.3.1 Risk Feasibility Table
The table above shows a complete risk analysis that may arise for E-Solutions if the
automated system is put in use. The main reason behind this risk analysis is to give the ESolutions to give the possible risks they may encounter so that they can take the necessary
precautions in order to keep the workflow stable even if there is any interruption.
The Level of the possibility that the Risk can happen;
Rare
Possible
Highly Possible
The Impact of the Risk;
Low
Medium
High
17
2.4 Schedule Feasibility
This particular project (Automated System) should be completed within 5 months of time
period or less. Below shown is a GANNT Chart, where the system’s development process
has been divided and assigned time slots for it, so that each and every process should be
done with in the schedule.
Teams may better organize their work around schedules and manage resources when they
use Gantt charts. Gantt charts are another tool used by project managers to keep an
overview on their workload. They show, along with other things, how dependent tasks,
checkpoints, and tasks with different start and end dates relate to one another.
Figure 2.4.1 Schedule Feasibility (GANNT Chart)
18
2.6 Comparison between Current and Proposed System.
Current System (Manual System)
Proposed System (Automated System)
It is proven to be less effective than the
proposed system. Creating reports are much
slower and more time consuming.
It consumes a lot of space due to a lot of file
storage.
The startup costs are lower in manual system
compared to the automated system.
It is much more effective than the current
system. Creating reports are much faster and less
time consuming.
It doesn’t consume that much of a space
compared to the current system because
everything is stored as intangible data.
The startup cost is much higher compared to the
manual system.
The current system doesn’t have any backups
to the data files in case of an emergency.
This proposed system has data backups in case
of any emergency.
Adding, accessing, updating and clearing off
data files are much slower process that you
think.
In the manual system lots of human mistakes
can happen or simply its error prone.
Adding, accessing, updating and deleting data
from the server storage are much easier and
faster.
Compared to the manual system, lesser human
errors are present in the automated system.
As it is a complex task to record the data in the
manual system, it wears out he employee
leading to ineffectiveness in the workflow.
As it is a simple task to record the data in the
automated system, it doesn’t wear out the
employees maintaining the effectiveness in the
workflow.
Table 2.6.1 Comparison between Current and Proposed System
19
Conclusion
As shown above it is complete analysis of how the new automated system can be
effective for E-Solutions Private Limited. Automated system is being put to use by many
well-known and highly reputed companies that aid in increasing its productivity.
I highly recommend E-Solutions to put in use this automated system, instead of
considering the efficiency levels this particular system can take E-Solutions into a whole
new level, just like stepping into the future.
(Feasibility Report Ends here)
20
3. Analyzing the proposed system using a suitable
methodology for E-Solutions.
3.1 Applying the Agile Methodology for the Proposed system.
As for the proposed system (Automated system) for E-Solutions, Agile methodology is
being applied in order to develop it. Agile has recently dominated the fields of system and
project management development. It appears that everyone is discussing this project
management approach. Companies are searching for procedures, strategies, and tactics
that might enable them to do operations without any interruptions because the business
environment is changing quickly.
Agile approaches are being adopted by many companies in an effort to boost team
productivity, boost client satisfaction, and broaden project scope. Agile approaches
enable companies to adapt to changing market conditions and effectively finish more
projects. Each developer from E-Solutions will share project ownership under the agile
process. To finish the sprint in the allotted time, each and every one of them actively
participates.
3.1.1 The reasons of using Agile methodology rather than Traditional for the
Automated system and its effectiveness for E-Solutions;

More flexible; Agile technique is far more adaptable than
Traditional methodology whenever it involves making modifications to a product
or a procedure. The agile technique makes it simple for developers to experiment
with and attempt a task that wasn't intended while they're working. This
methodology concentrates on the product rather than complying with a set
framework is its strongest feature. So the developers of E-Solutions can modify
the system freely, while in the development stage.

More Transparent; With the agile technique, it's all transparent and available.
The start, development, analysis, and testing include active participation from all
the developers
Rodrick
30
Strategic Analysis & Design
Assignment
and decision-makers of E-Solutions. In contrast, the project manager controls the
traditional method, preventing others from participating in the decision-making
process. The agile technique makes it possible for members of the team to see the
development from beginning to end.

Getting productive feedback; the Agile technique offers a high approval rate for
input, making it the preferred choice for many team leaders and developers. In
order to produce a high-quality enhanced system, they may respond to
client’s demands as clients get to approve each iteration. These active and
enhanced feedbacks can help the developers of E-Solutions to generate a better
Automated system.

Complex project completion; The greatest option for organizing large and
complicated projects may be agile. Consider agile because it is a better match for
complicated programs, regardless of if your program has several interrelated
stages or one stage is reliant on several others.

High quality and enhanced system outcomes; The developers of E-Solutions
can produce an enhanced automated system by implying agile methodology
because this particular methodology clearly states out the requirements of the
project, it contains regular testing, it also contains Sprint retrospectives for rapid
improvements in the system throughout the cycles.

More predictable costs and schedules; E-Solutions can have a more precise
estimation of all the expenses that might result from the deployment of the
automated system by using the agile approach. E-Solutions can also have a more
accurate schedule system, which will help them complete tasks on time.
Rodrick
31
Strategic Analysis & Design
Assignment
3.2 System Requirements
System requirements are a list of the features that a system must have in order to fulfil the
needs of the client. System requirements are a wide and specific topic that may be applied
to many different objects. Whether talking about the program or business operations from
a general perspective, or the system requirements for specific PCs.
The most efficient method to satisfy users’ requirements and save expenditures is through
system requirements. They represent the most crucial component of any initiative since if
they are not met, the project cannot be considered finished. The client should express
precisely what they desire and also how they would like it in the phrase. A customer's
demand could be to fulfil a deal, resolve an issue, accomplish a goal, reach a standard, or
adhere to any additional project requirements. System requirements can be separated into
two categories Functional requirements and Non-Functional requirements.
In essence, it involves the demand that the user has the capacity or desire to employ a
system capability or activity. As a result, it describes the tasks a user may carry out using
the system. Users with minimal technical skills can nonetheless grasp user needs, which
include both functional and non-functional criteria.
The characteristics of System requirements;

These requirements are usually written for the developers.

This shows a fully detailed section of functional and non-functional requirements.

These specifications include more organized forms and visual abbreviations in
addition to being able to be expressed in normal language.

It includes a thorough breakdown of the project services.

It is written in normal language and has a System Requirement Specification
attached to it (SRS).
3.2.1 Functional requirements
Product characteristics or functionalities that programmers must provide in order for users
to complete their duties are known as functional requirements. Therefore, it's critical that
you make them apparent to the development team as well as the investors and
stakeholders. Functional specifications often explain how a system will behave in a
certain situation. For example: - The system should have a feature where it should send an
approval request once the user has entered his details.
Rodrick
32
Strategic Analysis & Design
Assignment
Importance of Functional requirements;

The group can more correctly predict cost and development time and produce a
system that satisfies expectations when given specific, high-quality criteria.

Thoroughly documenting functional requirements during the discovery process
enables early mistake detection and correction, which saves time and money.

Clear documentation of requirements helps to prevent misconceptions by keeping
all programmers, designers, and quality testers on the exact page and focused on
the same objectives.
Examples of Functional requirements;

Authentication

Calculations

Business rules

External Interfaces
Functional requirements for the Proposed System (Automated System) for ESolutions;
1. Should be able to create ‘Project Profile for each project, where it should contain
‘Project ID’, ‘Project personal cost’, ‘List of tasks assigned’, ‘Assigned project
manager’.
2. Calculate employee cost and total cost.
3. The interfaces of the system should be user friendly that should be interactive and
dynamic.
3.2.2 Non-Functional Requirements
Non-functional requirements describe limitations that have an impact on how a system
should perform as compared to functional requirements, which specify what a system is
expected to do. For example: - The particular system should handle up to 5 million users
without a decline in performance.
Importance of Non-Functional requirements;

They guarantee that the software system complies with applicable laws and
regulations.
Rodrick
33
Strategic Analysis & Design
Assignment

They outline the software's reliability and quality feature.

They guarantee the software system's dependability, stability, efficiency, and
scalability.

They guarantee a positive user experience and simple software operation.
Examples of Non-Functional requirements;

Response Time and Net Processing time.

Agreements

Security

System Management

Data Architecture
Non-Functional requirements for the Proposed System (Automated System) for ESolutions;
1. The particular databases that store the data.
2. The personal and project details of the clients should be highly secured and encrypted.
3. The response time and net processing time should be below 3 secs for all the
functionalities.
4. The system should be able to handle up to 100 users simultaneously without any drop
in performance.
3.2.3 Differences between Functional and Non-Functional requirements.
Non-Functional
Functional
Specify what the system should accomplish
Give examples of system quality and effectiveness
in general.
characteristics.
Include every action that the software must take.
Describe every facet of an excellent user
experience.
Ensure that all essential operations are carried out
Ensure that the needs of the users are met.
correctly.
Simple to define.
Rodrick
Difficult to define.
34
Strategic Analysis & Design
Assignment
They initially undergo testing.
Following functional testing, they are examined.
Give an account of the task completed.
Define the work's personality.
Specific product attributes.
Specific quality characteristics.
3.3 User Requirements
The User Requirement Analysis outlines the functional requirements for the system that
consumers expect from it. The requirements for users are exactly what they sound like.
They are specifications that the client has established. In regards to the system to be
created, the necessary flow, and the conditions under which the system should be
produced, these criteria describe the process that it should operate. As for E-Solutions the
particular proposed will have certain User requirements;
The characteristics of a good User requirements;

It should be complete, Each and every aspects of concern, including all stages of
the product life cycle, must be covered by requirements.

It should be testable, Quantitative (numerical) restrictions, limitations, ranges, and
desired values should be stated wherever feasible. Testable requirements may be
evaluated to see if the design objective is achieved.

It should be minimal, requirements stated should be clear and minimal, and
needless requirements should be eliminated. Don't obscure the necessity with
extraneous language.
The importance of User requirements;

It gives them a basic foundation to system that is to be designed.

This helps to arrange the client’s thoughts and ideas that they have in mind
logically which can later be applied to the system.

This helps the developers test the system to ensure it satisfies the client's
expectations.
User requirements for the Proposed System (Automated system) for E-Solutions;
1. Should be able to identify the employees cost and all other costs for a project.
Rodrick
35
Strategic Analysis & Design
Assignment
2. Should be able to assign tasks to a project.
3. Should be able to assign a project manager.
4. Should be able to create teams for the projects.
5. Should be able to assign employees to different teams.
6. Should be able to assign tasks for various teams and employees.
3.4 Differences between System requirements and User
requirements.
System requirements

User requirements
Declarations that provide in-depth

For clients only.

Statements made in natural
explanations of the capabilities,
operations, and operational
limitations of the system.

Specifies what needs to be done
in order to be included in a
language, which is user-friendly.
commitment between the
customer and the contractor.

Designed to serve as a foundation

Outline the capabilities the system
for software architecture. system
offers and the limitations of its
models may be used to show.
functioning.

May contain tables or illustrations.

Both functional and non-functional
criteria must be described.

Users of the system without indepth technical understanding
should be able to grasp it.
Rodrick
36
Strategic Analysis & Design
Assignment
4. Designing the System that meets the User and
the System requirements.
4.1 System Design Specification
System Design Specifications refers to each system's functional description. An extensive
explanation of the requirements analysis, operating conditions, architecture, documents,
and database design may be found in a system design specification. Input form, various
interfaces, output layouts, processing logic, and intricate design are also covered.
The operational criteria listed in the system design specifications are how a system fulfills
them. Based on the system, this may also contain guidelines for testing certain
specifications, configuration options, or an analysis of operations or coding.
Examples of content in System Design Specification;

Data kinds and particular inputs that must be submitted into the system.

Coding or calculations needed to fulfill specified requirements.

Describing the technological safeguards to make systems secure.

Outcomes the system produces.
(System Design Specification Report Starts from the next page)
Rodrick
37
Strategic Analysis & Design
Assignment
System Design Specification Report
E-Solutions Private Limited
Rodrick Jorgan Fernando
COL00082099
Table of Contents
1
1. Introduction……………………………………………………………………..….(4)
1.1 The Purpose of the System Design Specification related to E-Solutions. (4)
1.2 Overview of the Automated System of E-Solutions………………….. (4)
1.3 Roles and Responsibilities……………………………………………. (5)
2. Security Policy……………………………………………………………………… (7)
4. System Design……………………………………………………………………… (10)
3.1 System Architecture Design………………………………………… (10)
3.2 Database Design……………………………………………………… (12)
3.3 Interface Design………………………………………………………. (13)
3.4 Program Design……………………………………………………….. (15)
5. System Security and Integrity Controls…………………………………………… (19)
2
Table of Figures
Figure 3.4.1 Example of an Algorithm in flowchart and pseudocode……………….. (16)
Table of Tables
Table 3.1.1 Server Hardware………………………………………………………….. (11)
Table 3.1.2 Client PC Hardware………………………………………………………. (11)
Table 3.1.3 Server PC Software………………………………………………………. (11)
Table 3.1.4 Client PC software………………………………………………………. (12)
Table 5.1 Examples of Control Functions……………………………………………. (20)
3
1. Introduction
The SDS report outlines design objectives and factors, offers a high-level summary of the
system architecture, and specifies all data design related to the system, along with the
human-machine interface and operating situations.
A System Design Specification report is being developed for this Automated System as
part of the project at E-Solutions to replace the conventional storage system with one that
is thought to be more efficient. The particular report contains the complete evaluation of
all the functionalities and design of the Proposed system (Automated System). The
documentation provided below will have various sub-parts that solidify the system
capabilities such as; the overview of the system, the architecture of the system, what are
the system security controls used in E-Solutions and many more.
1.1 The Purpose of the System Design Specification related to ESolutions.
In addition to providing the project team with direction on the structure of
the Automated system to be created for E-Solutions, the SDS records and keeps track of
the data essential to determine the architecture of the system layout efficiently.
Depending on the specifics of the information technology (IT) project and the system
development methodology employed for building the Automated system, design and
architectural papers are created progressively and repeatedly throughout the system
development life cycle. The project manager, project team, and development team are its
intended audience.
The Software Design Specification for the Automated system for E-Solutions describes
the system elements, functions and configuration necessary to properly operate the system
within the User and Systems Requirements mentioned above. The technical requirements
will be used to develop the criteria for technical testing and acceptance of the system.
1.2 Overview of the Automated System of E-Solutions.
This specific Automated system is being used to replace the current traditional system.
This proposed system technically proven beneficial to E-Solutions in many ways. E-
4
Solutions wants to replace their present traditional manual process with an automated
one. As a result of this change, the firm's goal is to significantly boost efficiency while
cutting expenses. Through this, the business hopes to set the standard for the industry and
have a competitive advantage over others in the market.
All the functionalities of the system have been listed below;

Creating of Project Profile; It aids in producing Project Profiles for the clients’
projects that are undertaken by E-Solutions. These project profiles include various
details about the project that can be assigned by the project director such as, the
total cost for the project, the list of tasks that are required for the project, the
assigned manger.

Automated Scheduling System; This is a scheduling system that aids in starting
projects on time and also manages time duration between tasks so that the
developers will have a track of time they have.

Update and Delete Project Profiles; This system also enables the project
director to update and delete the existing project profile.

Calculate Costs and produce Invoices; This feature aids in cost calculation for
all the projects and create invoices for it that is presentable to clients.

Monitoring the Progress of Projects; This feature aids in monitoring the
separate tasks that are assigned for all the projects, which ultimately decides the
progress of the project.
1.3 Roles and Responsibilities
This specific part illustrates all the roles and responsibilities that should be followed by
all the staff of E-Solutions in order to operate the automated system in proper manner.
Project Director: - He/She should create a Project Profile which includes;

Assigning tasks to the project.

Creating the teams for the project.

Assigning project manager for a team.

Tracking the progress of the overall project.
5
Project Manager: - Project manager is a person who undertakes the project given by the
Project Director and takes full responsibility for the completion of the project.

Preparing and allocating proper time schedules for each task.

Assigning team leaders for the sub teams.

Assigning tasks for the team leader.

Tracking the progress of the task assigned.
Team leader: - Team leader is s person who undertakes all the tasks from the Project
Manager where he divides and distributes it among the team members.

Supervising the team members.

Assigning tasks between team members.

Tracking the progress of the task assigned on team members.
Team Member: - Team Member is a person who undertake tasks from the Team Leader
and takes full responsibility for the completion of the project.

Completion of the tasks assigned.

Following the time schedule when it comes to tasks.
6
2. Security Policy
The guidelines for using a firm's IT services are outlined in an IT security policy. The
regulations should be clearly laid out in the policies, along with access restrictions and
any penalties for breaching them. The business digital threat and amount of risk level are
defined by an IT security policy. The IT security policy establishes the parameters for
emergency response by outlining how individuals may be observed and the possible
consequences of policy violations.
The intention is to make the policies and processes for employing company resources
crystal apparent. Data aimed at both end - user and IT and security personnel is included.
IT risk hazards inside a business should be identified and addressed through IT security
policies. They achieve this by focusing on the three main IT security objectives, often
known as the CIA Triad.
CIA Triad;
Confidentiality: - Preventing the exposure of private information to unauthorized parties.
Integrity: - Confirming that data hasn't been altered while being stored or transported.
Availability: - Granting qualified users ongoing access to the information and systems.
All these IT Security Policies that are stated below are based on E-Solutions business
objective, which is the proper usage of the automated system. The E-Solutions should
follow all these IT Security Policies that are stated below in order to place an additional
security barrier for their data.
The security polices E-Solutions should follow;
Acceptable Use Policy: - The appropriate use of equipment is described in the
Acceptable Use Policy. In the usual process of business, it is employed to serve the goals
of the corporation, users, and consumers. Improper utilization information systems and
the danger it causes are both defined in the Acceptable Use Policy. The network system
might be compromised by improper action, which could also have legal repercussions.
For examples; when an employee from E-Solutions uses the computer equipment and
server for purposes other than performing his or her duties, it is an example of improper
usage.
7
Security Awareness and Training Policy: - All employees of E-Solutions should
receive training in security awareness so they can effectively perform their
responsibilities and adequately protect corporate information. Education and
training about the security policy and aid in the development of an idea of how
these policies safeguards the company, its clients, and its staff should be among the
objectives of the security awareness and training policy.
Remote Access Policy: - Linking from outside host computer to the business's network is
known as remote access. The remote access policy is made to reduce the risk of suffering
losses brought on by illegal usage of resources. The terms of this policy must cover both
sending and receiving emails as well as using network resources, and it should be
addressed to all staff of E-Solutions. The conditions for site access should also apply to
remote access. Employees must avoid from using their remote access for illicit purposes,
for instance, and must not let unapproved people to utilize their work equipment. Secure
passphrases, logging out when their device is left alone, and not accessing to certain other
networks while linked to the corporate network should all be required under the policy.
Change Management Policy: - The managing, approval, and tracking of modifications
to an information system is ensured by the company's change management policy. The
company must ensure that almost all changes are carried out with care to reduce any
unfavorable effects on the company's operations and clients. The processes for
organizing, evaluating, reviewing, approving, communicating, implementing,
documenting, and post-change review are all included in the change management policy.
Detailed and timely paperwork, ongoing supervision, and a formalized, specified
approval process are all essential components of change management.
Incident Response Policy: - The business continuity plan of a company includes the
incident response policy. It describes a company's approach to a data security event.
Given that it concentrates on processes to be followed in the event of a data breach or
other security threat, the incident response policy should be developed independently
from of the disaster recovery plan (DRP). The incident response crew, the people in
charge of evaluating the policy, the responsibilities of each member of the team, and the
methods, tools, and resources employed to locate and retrieve corrupted or stolen data
should all be covered by the policy.
8
Password Creation and Management Policy: - The password creation and management
policy offers instructions on how to create, put into place, and evaluate a defined
procedure for correctly establishing, updating, and storing secure and strong credentials
used to confirm user identities and get access to corporate networks or data. The policy
ought to cover education and knowledge of the value of selecting a strong and
complex password.
Network Security Policy: - A comprehensive network security policy implements a
specific process for performing an ongoing evaluation of the online activity and the
information system to guarantee the confidentiality, integrity, and availability of data on
the company's systems. The rule makes ensuring systems have the proper hardware,
software, or operational auditing tools.
Data Retention Policy: -The data retention policy outlines the kinds of data E-Solutions
must keep and also how long it should keep it. The policy specifies how the data will be
maintained and disposed of as well. By removing redundant and out-of-date data, this
approach will free up additional storage space. Data organization for future usage will
also be aided by a data retention policy. Documentation, client records, transaction
history, email communications, and contracts are examples of different types of data. For
companies that keep confidential material, this policy is crucial. Organizations'
obligations for data retention should be based on regulatory norms.
9
4. System Design
3.1 System Architecture Design
A system's design, functionality, and other aspects are all defined by its conceptual
framework, or system architecture. A detailed definition and visualization of a system that
is set up to facilitate analysis of its components and functions is called an architectural
specification. A system architecture can be made up of designed subsystems and
structural components that will cooperate to construct the whole system.
A system's architecture acts as a model. It establishes an interaction and coordination
method between elements and offers an overview to control the system's level of
complexity. It outlines an organized approach to address all practical and technical needs
while maximizing standard quality characteristics like security and efficiency.
Additionally, it entails a number of important organizational decisions connected to
software development, each of which choices can have a substantial influence on the end
product's quality, supportability, efficiency, and successfulness.
Goals of the System Architecture Design;

Reveal the system's architecture, but keep the specifics of its execution hidden.

Visualize every situation and use-case.

Consider addressing the demands of different stakeholders.

Take care of both the operational and the quality needs.

Lower the management objective while strengthening the organization's position
in the marketplace.

Enhance the system's performance and quality.

Boost public trust in the system or the institution.
Owing to system architecture design, which combines hardware and software
components, one such composite system may be produced.
10
Hardware
Below shown are the hardware element that are used in the operation of the Automation
system;
Server Hardware
Hardware Component
Specifications
Processor
Intel Xeon
Mother board
Asus WS C621E Dual Motherboard
RAM
Corsair Dominator Platinum RAM
Storage
WD Gold SN600 (SSD 4TB)
GPU
NVIDIA Tesla V100 (VGA)
Power Supply
EVGA Supernova 1600 T2 (PSU)
Table 3.1.1 Server Hardware
Client PCs
Hardware Component
Specifications
Processor
AMD Ryzen 3 3200G
Mother board
Asus Prime B460-Plus Motherboard
RAM
Adata 8GB DDR4 2666
Storage
Seagate HDD 1 TB
Power Supply
Adata 550w 80 plus bronze power supply
Monitor
MSI Pro MP241 23.8 Inch monitor
Table 3.1.2 Client PC Hardware
Software
Server PC
Software
Operating System
Specifications
Microsoft Windows Servers
Table 3.1.3 Server PC Software
11
Client PCs
Software
Specifications
Operating System
Microsoft Windows
RDBMS
Microsoft SQL Server
Table 3.1.4 Client PC software
3.2 Database Design
Any data collected that has been properly structured for quick retrieval and search by a
computer is referred to as a database, often known as an electronic database. Databases
are designed to make it easy to save, retrieve, edit, and delete data while carrying out
multiple data-processing tasks.
Large quantities of data are something that database systems are made to handle. Building
digital storage systems and offering data modification techniques are both included in
data management. Moreover, regardless system failures or efforts at illegal access, the
database system should retain the security of the data stored. If data is going to be
transmitted across several users, the system must prevent any unforeseen consequences.
A database management system (DBMS) objective is to change the accompanying;

Information from data.

Knowledge based on information.

Understanding of the deed.
Usage of Database query to access information;
Either an action query or a select query is considered as a database query. A query that
requests actions on data, such as insert, update, delete, or other types of data
manipulation, is known as an action query.
This is not to say that people merely enter arbitrary queries. A database has to accept a
query using the specified code in order to comprehend requests. It is a query language in
that code.
A database may be queried using query languages, and the industry standard is Microsoft
Structured Query Language (SQL). So E-Solutions private is recommended to use this
standard language to access and manage their databases.
12
A database may be queried using query languages, and the industry standard is Microsoft
Structured Query Language (SQL).
Usage of the Microsoft SQL Server for E-Solutions is recommended;
Microsoft created the relational database management system known as Microsoft SQL
Server. It is a software known as a database server, and its main job is to store and
retrieve data as needed by many other software programs. These programs may operate
on the same machine or on a different machine over a network system.
This particular Relational Database Management System uses SQL query as its language
which makes it best suited for E-Solutions. So this particular application can enable ESolutions to create database servers, create tables for each category, record and store
information that are essential to E-Solutions.
Examples of basic components that might come under E-Solutions databases
(Database Design);

Storing of the Project Profiles of the undertaken projects. The “Project Profile”
includes “Project ID”, “Project Personal Cost”, “Task Assigned”, “Project
Manager Assigned”. (All of these data are stored in tables).

Storing the generated invoices.

Storing the clients’ personal details.
3.3 Interface Design
The technique that developers use to create interface design in programs or electronic
devices with an emphasis on aesthetics or style is known as user interface (UI) design.
Designers strive to produce user-friendly and pleasant interfaces. Graphical user
interfaces and many other types, such as vocal style interfaces, are referred to as "UI
design."
Different types of User Interfaces;

Graphical User Interfaces (GUIs): - Users communicate via digitally controlled
panels' visual displays.
13

Voice-Controlled Interfaces (VUIs): - With these, users communicate and
interact with the system through speaking.

Gesture-based Interfaces: - Users use their body movements to interact with 3D
design spaces.
Examples of basic Interface elements;

Textboxes, buttons, check boxes, radio buttons and many more.

Alerts, message boxes and many more.

Search box, data grid view and many more.
Taking into consideration the User and System requirements of the Automated
System below stated are key points that ensure the best suited interface design for ESolutions;

Ensure simplicity. The finest user interfaces are nearly transparent to the user,
minimizing unneeded features and being unambiguously clear in their content. An
effective interface is one that is straightforward.

Be accurate and stable. Users will immediately feel at ease thanks to common
aspects because they will instinctively know how to complete tasks. To guarantee
that the users can rapidly understand how to repeat activities or procedures when
required, stability is crucial throughout.

Attract interest. Color, lighting, and material may be strategically used to detract
attention from particular elements.

Interact with users. always alerts users to activities, system events, and mistakes.
Make sure that the user is aware of how long they should anticipate to wait if a
program has to load for a few seconds.

Use different types of Typography. To emphasize informational structure and
coherence while make the information simpler to process and manage, various
fonts, sizes, and text layouts might be employed.
14
3.4 Program Design
Program design refers to the procedures a developer should follow before beginning to
write the software in a certain language. Whenever these procedures are adequately
documented, the finished software will be simpler for future developers to maintain.
Three major stages of action are as follows;

Recognizing the Program

Utilizing Design Software to Produce a Model

Create test data
Recognizing the Program
The analyst may well have produced a range of documented pieces that will aid you in
comprehending what the software is intended to achieve when you are engaged in a
project as one of several developers. Examples of these may include screen designs,
narrative summaries, documenting of the processing processes, etc. If you are not
working on a task and are writing a straightforward program, you could merely be
provided a brief explanation of the program's goal.
As for E-Solutions they have to gather up all the analyst and produce reports and use
methodologies that aid in them understanding the requirements of the automated system
and find out what is intended to achieve using the system. I would recommend ESolutions to take up the IPO approach for this, the input, process, and output phases of a
system are represented by the IPO model. Inputs are represented as attempts and
consumables that are added to a system at the start of its lifespan. The outcome that the
system produces is represented by the output.
Utilizing Design Software to Produce a Model
There are various tools and models that is used for planning the logic of a program, but to
main used one are Flowcharts and Pseudocode. It is required of developers to be able to
comprehend and use pseudocode and flowcharts. These techniques for creating a
program's model are typically covered in trainings. For flowcharting and pseudocode,
there are various guidelines, the most of which are roughly comparable to one another.
However, the majority of businesses maintain their own guidelines and types of
15
paperwork. The ability to swiftly adjust to any flowcharting or pseudocode guidelines for
the organization where they operate is demanded of developers.
1. Flowcharts; A flowchart is a diagrammatic description of an algorithm or a step-bystep process for addressing a problem.
2. Pseudocode; Pseudocode is a simple language representation of an algorithm or other
program's processes used when it comes to program design. Although pseudocode
frequently employs standard programming language structure rules, it is written for
humans rather than automated comprehension.
So in that case I prefer E-Solutions to practice and use these main two methodologies for
the program design which is shown above so that the designers and developers will have
proper understanding of the overlay of the system.
Figure 3.4.1 Example of an Algorithm in flowchart and pseudocode
Create Test Data
The developer provides certain input values and forecasts the outputs to create test data.
For a basic program, this may be relatively straightforward, and the test data can be
utilized to validate the model to see whether it generates the expected outcome.
16
Everyone is aware that testing is a method that generates and uses a significant quantity
of data. Data used during testing serves as both the channel via which the tester impacts
the program and the beginning circumstances for a test. It plays a key role in the majority
of Functional Tests.
As for E-Solutions you might you might need to Generate Test Data (the majority of the
cases) or at least find an appropriate test data for your test cases based on the testing
environment (is the test data is already created).
E-solutions can generate test data;

Manually

Mass data transfer from the production environment to the test environment.

Copying large amounts of test data from old client systems.

Using Automated Test Data Generation Tools.
The various testing kinds are outlined here, along with some recommendations for
E-Solutions on their testing data requirements;

White box testing; White box testing is a kind of testing process where the
internal organization, code, and architecture of the program are examined to
ensure input-output functionality and to enhance design, functionality, and
reliability. Because code is exposed to testers during white box testing, it is also
known as clear box testing, open box testing, and transparent box testing. Test
data for E-Solutions that may be chosen by taking into consideration the following
factors:
 To test as many paths in the source code of the program as feasible, test
dataset may be produced to ensure that each path is tested at least once.
 Path testing involves evaluating each path at least once within the
source code of the software. Test data preparatory work may be done to
account for as many scenarios as feasible.
 When calling the program's functionalities, testing data may contain
erroneous combinations of parameters.
17

Performance Testing; Performance testing is the kind of testing done to find out
how quickly a system reacts to a specific task. This kind of testing aims to remove
bottlenecks rather than uncover flaws. How can E-Solutions obtain real data for
this test? Simple from their employees, the employees will be the users of the
automated system so their experience in the usage of the system will be the data.

Security Testing; The practice of security testing establishes if a system
safeguards data from bad intent. To thoroughly assess a software security, the
collection of data required by E-Solutions must include the following subjects;
 Confidentially
 Integrity
 Authentication
 Authorization

Black box Testing; The tester in black box testing cannot see the code. Examples
of Functional test cases for E-Solutions that may contain test data that meets the
following requirements;
 No Data: -When no data is provided, check the response of a system.
 Valid Data: - Verify the system's reaction after submitting valid test data.
 Invalid Data: -Whenever invalid test data is supplied, examine the system's
response.
 Illegal Data format: -Whenever test data is in an incorrect format, check
the system responses.
 Use Case Test case: -Test information that matches your use cases.
18
5. System Security and Integrity Controls.
Whenever an operating system is created, put into use, and kept up to keep out
unauthorized entry, it is said to possess integrity of the system since the security measures
provided for that system cannot be breached. System integrity is guaranteed via a
multilevel-secure trusted computing platform foundation. The trustworthy computing
platform is capable of defending itself from illegal user entry. An unauthorized software
is unable to get beyond save or retrieve security, password verification, or taking over a
controlled state.
Existing security measures can help E-Solutions lower or lessen the danger to such assets.
They cover all types of guidelines, practices, methods, techniques, plans, actions, and
tools created to assist in achieving that objective. Examples that are easily recognizable
include firewalls, surveillance equipment, and antivirus software.
E-Solutions does not pick or apply security restrictions at random. Goal-setting comes
first in their risk management approach, which starts with determining the overall IT
security policy. Determining detailed control objectives about how they aim to
successfully manage risk—come next. As an instance, one of the control objectives is
"Our controls give strong evidence that both physical and logical entry to databases and
data records is confined to authorized users." Another example is "Our controls give good
assurance that essential infrastructure and systems are accessible and fully operational as
planned."
Main three control functions that can be employed by E-Solutions in order to
achieve high standard system security;

Preventive: - Any security mechanism that aims to avoid undesirable or
unauthorized conduct is referred to as a preventive control. Examples includes
control activities like division of roles, data categorization, and audits, as well as
physical safeguards like fencing, locking, and burglar alarms, as well as
technology controls like antivirus software, firewalls, and intrusion prevention
systems.

Detective: - Detective controls are any security mechanism or method that ESolutions can setup to identify and notify of illegal or undesirable behavior while
19
it is occurring or after it has already happened. Alarm systems or alerts from
physical sensors (such as door or fire alarms) that notify security personnel, law
enforcement, or system administrators are practical examples.

Corrective: - Any actions performed to fix harm or return assets and capabilities
to their former state after an unlawful or unwelcome activity are considered
corrective controls. Technical remedial measures include restarting a machine,
isolating a virus, halting a procedure, and applying patches to systems. An
illustration of an administrative corrective control is the implementation of an
emergency response plan.
Examples of these Control Functions that E-Solutions can use;
Preventive
Detective
Corrective
Anti-Virus Software
Burglar Alarm System
Disaster Recovery Plan
Firewalls
Fire Alarms
Business Continuity Plan
CCTV Cameras
Network Monitoring
Isolation of Virus
System
Security Guards
Surveillance System
System Maintenance
Biometric Locks
Server Maintenance
Employee Awareness
Assigning White Hackers
Table 5.1 Examples of Control Functions
20
Conclusion
As shown above this particular document has been created in order to show the
Automated system’s functionalities and its capabilities. This document helps the
designers and developers of E-Solutions to understand the system and it also educates
them the key points to increase the automated system’s effectiveness.
(End of the System Design Specification report)
21
4.2 Justification on the effectiveness of the System and
Methodology used based on the User and System requirements.
As you know the old manual system is proven to be ineffective and error prone, where
this inefficiency has put a halt for the growth of the company and its capabilities. When it
comes to controlling the project time schedules, the manual technique has shown to be
inefficient this can cause reputational damage to the company ultimately leading to loss
of customer base and revenue for the company. This is just a basic outlay of the problems
that are caused if E-Solutions continuing to use the manual approach.
This particular Automated system is designed to suit up each and every goals of the
company and it will aid the company to increase its efficiency. As previously said, all of
the data will be kept on a server that has been digitalized, making it far safer than using
files to store data. This not only secures the data but it reduces data redundancy and errors
in the data that is to be stored. The most crucial aspect is that accessing, removing, and
updating data will be quicker and easier for E-Solutions in the long term because
employees won't have to constantly looking through large portions of files when they can
simply click a button on their system to access the entire database. This particular aspect
will definitely improve efficiency in the workflow of the company.
Usage of the Microsoft SQL Server can provide E-Solutions with many features that
other DBMS couldn’t. It provides greater performance that other DBMS, data storage and
retrieval tasks are enhanced by the outstanding reduction and encrypting features of MS
SQL server. One of the most secure database servers is MS SQL server, which has
sophisticated encryption methods that make it nearly hard to breach the user-enforced
security measures. Since MS SQL Server isn't an open-source database server, there is a
lower chance of any cyber-attacks on the database. There are a number of advanced tools
that could be utilized by E-Solutions in SQL Server that may be used to recover and
regain lost or corrupted data. The entire database may be recovered with the use of
sophisticated recovery tools; therefore, E-Solutions won't have to worry as much about
damaged or lost data.
When it comes to Interface part, the recommended interface which GUI is proven to
highly effective and perfect for the automation system. This particular enables the
Rodrick
38
Strategic Analysis & Design
Assignment
employees of E-Solutions to communicate visually with the Automated system visually.
The user will be given choice points that are simple to identify, comprehend, and employ.
Employees can quickly identify, categorize, and browse alternatives because data is
represented by signs, shapes, and icons. A function may be obtained with just one click.
Data presented visually is recognized more quickly than text is. GUI is free of command
prompt clutter and includes aesthetically pleasing features. Long lines of computer
language cannot adequately convey the feelings, remarks, and circumstances that visual
pictures can. Employees may operate and display many programs simultaneously thanks
to GUI, which increase the efficiency at work.
The phrase "agile methodology" refers to an iterative and incremental methodology of
handling and incorporating continually changing needs. This entails segmenting the
whole developmental process cycle into a number of distinct jobs. The process is further
divided into a variety of sub-tasks, each of which operates as a standalone module. A
cross-functional team of developers, analysts, and testers from E-Solutions is assigned to
each of these modules, and they each work on them separately, this particular procedure
can help E-Solutions complete the system on schedule. The Agile methodology is created
in a way that encourages quick feedback while also fostering improved teamwork and
mutual trust, it makes the workflow faster and aids in producing high quality system for
E-Solutions.
The widely used and growth-oriented agile development technique assures not only
prompt delivery of the project but also app responsiveness, which promotes total
corporate growth and adaptability. The company's project management skills and
productivity are enhanced through the use of agile practices. 71% of firms employ Agile
techniques in their operations, based on a latest survey. “We believe that agility could also be
used in multiple ways— in everything we do,” says Phillippe Husser, a survey respondent and
Senior Partner of Progress Direction Michelin. “In fact, the world is changing very quickly
around us, so much so that we cannot afford anymore to have projects taking two to five years to
deliver, because, during this time, the initial requirements have changed.” (How effective is
Agile Software Development Methodology? 2019)
Rodrick
39
Strategic Analysis & Design
Assignment
Conclusion for all Activities
Activity 1
In General, this particular part consists of complete explanation of the two main software
development methodologies and its strengths and weakness of it. Not only that, but this
entire section is made up of several models of these two approaches, each with its own
characteristics, strengths, and weaknesses.
Activity 2
This particular part contains the Feasibility report for the proposed system (Automated
System), where it contains the complete analysis of the proposed system. This report can
help E-Solutions Private Limited fully grasp the system properties, its benefits and
drawbacks, which ultimately influences the decision of whether or not to deploy the
system.
Activity 3
All the User and System requirements for the proposed system (Automated system) are
stated in this section. It’s possible to use Traditional methodology in developing the
system but considering these User and System Requirements Agile methodology will suit
best and will be more effective for this system’s development stage.
Activity 4
This section has a System Design Specification report that provides E-Solutions with an
idea of the actual design of the system. Taking into consideration the User and System
requirements it also provides with certain suggestions on how to design the actual system.
So E-Solutions can use this information to build up an enhanced system.
Rodrick
40
Strategic Analysis & Design
Assignment
References
2022. Feasibility Study and Its Importance in Project Management. [online] Available at:
<https://www.simplilearn.com/feasibility-study-article> [Accessed 16 August 2022].
Developer.mozilla.org. 2022. What is JavaScript? - Learn web development | MDN.
[online] Available at: <https://developer.mozilla.org/enUS/docs/Learn/JavaScript/First_steps/What_is_JavaScript> [Accessed 16 August 2022].
Reactor, H., 2021. What is JavaScript used for?. [online] Hackreactor.com. Available at:
<https://www.hackreactor.com/blog/what-is-javascript-used-for> [Accessed 16 August
2022].
Ephraim, D., n.d. 9 Reasons to use Adobe XD as a UI/UX Design Tool | ATAK
Interactive. [online] Atakinteractive.com. Available at:
<https://www.atakinteractive.com/blog/9-reasons-xd-is-ui-ux-design-tool-ofchoice#:~:text=Adobe%20XD%27s%20user%20interface%20is,to%20hidden%20menus
%20and%20panels.> [Accessed 16 August 2022].
Computerhope.com. 2020. What is Draw.io?. [online] Available at:
<https://www.computerhope.com/jargon/d/drawio.htm> [Accessed 16 August 2022].
Watts, S., 2020. What is Server Automation? Server Automation Explained. [online]
BMC Blogs. Available at: <https://www.bmc.com/blogs/what-is-serverautomation/#:~:text=It%20enables%20end-toend,enable%20a%20continuous%20delivery%20process.> [Accessed 16 August 2022].
Homepage.cs.uri.edu. n.d. Computer Programming. [online] Available at:
<https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading13.htm> [Accessed 16
August 2022].
Cs.bham.ac.uk. n.d. The Programming Process. [online] Available at:
<https://www.cs.bham.ac.uk/~rxb/java/intro/2programming.html> [Accessed 16 August
2022].
Siedle, J., 2015. System Requirements. [online] Umsl.edu. Available at:
<https://www.umsl.edu/~sauterv/analysis/F2015/System%20Requirements.html.htm#:~:t
Rodrick
41
Strategic Analysis & Design
Assignment
ext=System%20requirements%20is%20a%20statement,be%20implemented%20to%20m
any%20items.> [Accessed 16 August 2022].
AltexSoft. 2021. Functional and Nonfunctional Requirements: Specification and Types.
[online] Available at: <https://www.altexsoft.com/blog/business/functional-and-nonfunctional-requirements-specification-andtypes/#:~:text=Functional%20requirements%20are%20product%20features,system%20b
ehavior%20under%20specific%20conditions.> [Accessed 16 August 2022].
GuidingCode. 2022. What are User and System Requirements in Software Engineering.
[online] Available at: <https://www.guidingcode.com/user-and-system-requirements-insoftware-engineering/> [Accessed 16 August 2022].
Nuclino.com. n.d. A Guide to Functional Requirements (with Examples). [online]
Available at: <https://www.nuclino.com/articles/functional-requirements> [Accessed 16
August 2022].
Saggu, A., 2022. Non-functional Requirements in Software Engineering - GeeksforGeeks.
[online] GeeksforGeeks. Available at: <https://www.geeksforgeeks.org/non-functionalrequirements-in-software-engineering/#:~:text=Advantages%20of%20NonFunctional%20Requirement%20%3A&text=They%20ensure%20the%20reliability%2C
%20availability,and%20minimize%20the%20cost%20factor.> [Accessed 16 August
2022].
Engineering Systems Acquisition and Support, 2015. Systems acquisition principles.
pp.37-49.
DDI Development. 2021. Functional vs Non-Functional Requirements: what is the
difference [Ultimate Guide with Examples]. [online] Available at: <https://ddidev.com/blog/programming/functional-vs-non-functional-requirements-what-is-thedifference-ultimate-guide-with-examples/> [Accessed 16 August 2022].
Projectpractical.com. 2022. 9 Steps to Write a System Design Document [Free Template]
– ProjectPractical. [online] Available at: <https://www.projectpractical.com/9-steps-towrite-a-system-design-document-free-template/> [Accessed 22 August 2022].
Law Insider. n.d. System Design Specifications Definition | Law Insider. [online]
Available at: <https://www.lawinsider.com/dictionary/system-design-
Rodrick
42
Strategic Analysis & Design
Assignment
specifications#:~:text=System%20Design%20Specifications%20means%20those,the%20
Software%2C%20including%20all%20Derivatives.> [Accessed 22 August 2022].
Adsero Security. n.d. 10 Must Have IT Security Policies for Every Organization. [online]
Available at: <https://www.adserosecurity.com/security-learning-center/ten-it-securitypolicies-every-organization-should-have/> [Accessed 22 August 2022].
Goseeko blog. 2022. What is the purpose of the Database System? - Goseeko blog.
[online] Available at: <https://www.goseeko.com/blog/what-is-the-purpose-of-thedatabase-system%EF%BF%BC/> [Accessed 22 August 2022].
Popova, M., 2021. How to design a good user interface – Helastel. [online] Helastel.
Available at: <https://www.helastel.com/how-to-design-a-good-user-interface/>
[Accessed 22 August 2022].
Ibm.com. 2021. IBM Documentation. [online] Available at:
<https://www.ibm.com/docs/en/zos/2.4.0?topic=systemintegrity#:~:text=An%20operating%20system%20is%20said,computing%20base%20ens
ures%20system%20integrity.> [Accessed 22 August 2022].
qsstechnosoft.com. 2019. How effective is Agile Software Development Methodology?.
[online] Available at: <https://www.qsstechnosoft.com/effective-agile-softwaredevelopment-methodology> [Accessed 22 August 2022].
Rodrick
43
Strategic Analysis & Design
Assignment
Download