Proposal Reference
Proposal Reference
GROUP MEMBERS:
1. @@@@@ @@@@@
2. @@@@@ @@@@@
3. @@@@@ @@@@@
4. @@@@@ @@@@@
5. @@@@@ @@@@@
6. @@@@@ @@@@@
7. @@@@@ @@@@@
ABSTRACT
The proposed inventory management system incorporates key features such as inventory
tracking, addition of new products , stock quantity and price updates. By the
implementation of this system businesses can minimize stock outs and improve customer
INTRODUCTION..
1.1 Background
This project was inspired by the observations of a common challenge in retail businesses.
We noticed that as more customers frequented stores, there was a recurring issue of
merchandise frequently running out. Additionally, we observed that many stores relied on
paper inventory lists to manage their stock. These shared insights prompted the idea for a
software-based system that could efficiently handle inventory management, encompassing
items, prices, and even product images. The project was developed with this concept at its
core, driven by the collective inspiration of our group members.
Our first target market for this service are retailers; however, in the future, we will also
include shop patrons as users, enabling them to quickly determine which stores have the
things they need. Our objective is to offer a user-friendly service that is specially designed
for the Ethiopian market. Our software, an extension of an existing product, will also alert
users when a store is running low on inventory or when a particular item is in short supply.
The project cost is expected to be determined based on the project's specific requirements.
This will include expenses for:
The exact budget will be defined during the project planning phase.
We anticipate that this project will require more than 5 months to complete, but because we
have been given a 3-month deadline, we will make every effort to accomplish so.
The primary organization involved in this project is the Addis Ababa Institute of Technology
software engineering department. Additionally, collaboration with local businesses or
academic institutions may be explored for real-world testing and feedback.
Other projects within the software engineering curriculum or related fields may depend on
the successful completion of this IMS project. Students participating in this project may rely
on knowledge and skills acquired from various coursework, especially in database design,
programming, and software engineering principles.
The general objective of the Stock Alert is to develop and implement a smart inventory
management system that streamlines inventory control, reduces manual tracking efforts,
and enhances overall stock management for shop owners.
In addition to this immediate stock alert, this system envisions future objectives, which
include intelligent inventory optimization. This feature aims to balance stock quantities
effectively, guiding retailers on what and how much to restock based on demand and sales
trends. The system goals are not only to improve operational efficiency and customer
satisfaction but also to promote environmentally responsible practices. by reducing
CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING Page 6
Inventory Management System 2023
unnecessary customer trips for unavailable items. The Stock Alert system is designed to
modernize retail management, ensuring product availability, minimizing waste, and making
the shopping experience more efficient and eco-friendly.
1. We consider the accuracy and reliability of the alerts. A stock alert system should
provide timely and accurate information to help investors make informed decisions.
2. We will consider the cost of subscribing to a stock alert service. Evaluate whether the
potential benefits outweigh the subscription fees and any additional costs associated
with using the service.
3. The impact of stock alerts on our investment strategy. Will the alerts align with our
investment goals and trading style? Consider whether the alerts can complement our
existing research and analysis or if they will be the primary source of information for
your investment decisions.
Implementing a stock alert system comes with costs that need to be carefully considered.
These costs can include:
Subscription fees,
Software or app costs, and
Potential expenses associated with receiving the alerts, such as data charges or internet
fees.
It's important to conduct a cost analysis to determine whether the potential benefits of using
stock alerts outweigh these expenses. While some stock alert services may offer free options,
it's essential to assess the quality and reliability of these free services. Often, paid services
provide more accurate and timely alerts, which can significantly impact our investment
decisions and profitability.
Case Study 1: John, a seasoned investor, subscribed to a stock alert service that provided
real-time updates on stock prices and market trends. By relying on these alerts, John was
able to capitalize on short-term trading opportunities and increase his profitability. The
alerts helped him make quick decisions based on accurate and timely information.
Case Study 2: Sarah, a novice investor, used a stock alert app to receive notifications
about market trends and stock prices. These alerts guided her investment decisions and
helped her navigate the stock market with confidence. As a result, Sarah was able to grow
her investment portfolio and achieve her financial goals.
These case studies highlight how stock alerts can benefit investors of all levels of
experience, from seasoned professionals to beginners. They demonstrate how the economic
feasibility of stock alerts lies in their ability to provide valuable insights and opportunities
that can lead to increased profitability.
To implement stock alerts effectively and ensure their economic feasibility, we follow plan
to follow these steps:
3. Start with a free trial: Many stock alert services offer free trial periods. Take advantage
of these trials to assess the service's quality and determine whether it meets our
requirements.
4. Monitor and evaluate the alerts: Once we start receiving stock alerts, monitor their
accuracy and effectiveness. Evaluate how the alerts impact our investment decisions
and track their impact on our profitability.
Developmental cost
The developmental cost of stock alerts can vary widely depending on several factors. These
factors play a crucial role in determining the complexity and resources required to build a
robust and reliable stock alert system.
2. Algorithm Complexity: The algorithms powering stock alert systems can range from
simple price-based triggers to complex machine learning models. The more
sophisticated the algorithms, the more time and expertise are required to develop and
fine-tune them. This complexity directly impacts the developmental cost.
4. User Interface and Experience: A user-friendly interface is crucial for stock alert
systems to be effective. Designing and developing an intuitive interface that allows
users to set up, customize, and manage alerts seamlessly requires expertise in user
experience (UX) design and front-end development. Investing in a user-centric interface
can significantly impact the developmental cost.
5. Integration with Brokerage Platforms: Many stock alert systems offer integration
with brokerage platforms, allowing investors to execute trades directly from the alert
notification. Integrating with brokerage APIs and ensuring seamless connectivity can be
complex and time-consuming, leading to a higher developmental cost.
6. System Requirements: The complexity and specific requirements of the stock alert
system will impact the development cost. For example, if the system needs real-time
data processing, advanced analytics, and integration with multiple data sources, it will
likely require more development effort and expertise, resulting in higher costs.
7. Features and Functionalities: The scope and number of features required in the
stock alert system will affect the development cost. Common features may include
personalized alerts, customizable triggers, historical data analysis, visualization, and
notification delivery methods (email, SMS, mobile app). Each additional feature will
require additional development time and effort.
8. Technology Stack: The choice of technology stack can influence the development
cost. Different programming languages, frameworks, and third-party services have
varying learning curves, development speeds, and associated costs. Consideration
should be given to factors such as scalability, performance, security, and compatibility
with other systems.
Developing a stock alert system requires careful planning, expertise, and attention to detail.
Here are the key steps involved in building a robust stock alert system:
1. Determine Objectives and Requirements: Clearly define the objectives of the stock alert
system and identify the specific requirements based on investor needs. This includes
determining the types of alerts, data sources, user interface, and integration with other
platforms.
2. Gather and Validate Data: Collect and validate the necessary market data and news
feeds required for the stock alert system. Ensure that the data sources are reliable,
accurate, and updated in real-time.
3. Design and Develop Algorithms: Design and develop the algorithms that will power the
stock alert system. This involves defining the conditions for triggering alerts and
implementing the necessary logic to monitor and analyze market data.
4. Build Infrastructure: Set up the required infrastructure to support the stock alert system.
This includes servers, databases, and network architecture to handle the high volume of
data and deliver alerts in real-time.
5. Develop User Interface: Design and develop a user-friendly interface that allows
investors to set up, customize, and manage their alerts. Focus on intuitive design
principles and ensure seamless user experience across different devices.
6. Integrate with Brokerage Platforms: If desired, integrate the stock alert system with
brokerage platforms to enable direct trade execution from the alert notification. This
involves working with brokerage APIs and ensuring secure and reliable connectivity.
7. Test and Refine: Thoroughly test the stock alert system to ensure accuracy, reliability,
and seamless functionality. Collect user feedback and make necessary refinements
based on user experience and performance.
When developing a stock alert system, certain key features can enhance its effectiveness
and user experience. Consider incorporating the following features to ensure a
comprehensive and user-centric solution:
1. Customization Options: Provide users with the ability to customize their alerts based on
their specific requirements. Allow users to set conditions, choose notification channels,
and define the frequency of alerts.
2. Real-time Data Feeds: Ensure that the stock alert system has access to real-time market
data and news feeds. Timely and accurate data is crucial for triggering alerts and
providing investors with up-to-date information.
3. Back testing Capabilities: Incorporate back testing capabilities that allow investors to
test their alert conditions against historical data. This feature enables investors to
evaluate the effectiveness of their alert strategies before implementing them in live
trading.
4. Integration with Watchlists: Integrate the stock alert system with watchlists, enabling
users to set alerts for specific stocks or groups of stocks. This feature helps investors
stay focused on their preferred stocks and sectors.
5. Performance Analytics: Provide users with performance analytics that allow them to
assess the effectiveness of their alert strategies. Performance analytics can include
metrics like hit rates, average returns per alert, and overall portfolio performance.
6. Mobile Accessibility: Ensure that the stock alert system is accessible on mobile devices
through dedicated mobile apps or responsive web design. Mobile accessibility enables
investors to receive alerts on the go and stay connected to the market at all times.
Developing a stock alert system comes with its own set of challenges. Being aware of these
challenges can help developers and investors navigate potential roadblocks and ensure a
successful implementation:
1. Data Quality and Reliability: Ensuring the quality and reliability of data sources is crucial
for accurate and timely alerts. However, data providers may have occasional disruptions
or inconsistencies that can impact the performance of the stock alert system.
3. Regulatory Compliance: Stock alert systems need to comply with regulatory guidelines
and ensure that alerts are not misleading or manipulative. Staying updated with
changing regulations and implementing necessary safeguards can be complex and time-
consuming.
4. Data Quality and Reliability: Ensuring the quality and reliability of data sources is crucial
for accurate and timely alerts. However, data providers may have occasional disruptions
or inconsistencies that can impact the performance of the stock alert system.
5. Market Volatility: Rapidly changing market conditions and high volatility can pose
challenges for stock alert systems. Sudden price movements or spikes in trading volume
can trigger false alerts or cause delays in delivering timely notifications.
6. Regulatory Compliance: Stock alert systems need to comply with regulatory guidelines
and ensure that alerts are not misleading or manipulative. Staying updated with
changing regulations and implementing necessary safeguards can be complex and time-
consuming.
7. User Adoption and Engagement: Encouraging user adoption and engagement is crucial
for the success of a stock alert system. Convincing investors of the value and benefits of
using the system and providing ongoing support and education can be a challenge.
8. Security and Privacy: Protecting user data and ensuring secure connectivity is
paramount for stock alert systems. Implementing robust security measures and
complying with data privacy regulations can add complexity to the development
process.
Developing a cost-effective stock alert system requires careful planning and consideration
of various factors. These are:
2. Optimize Data Usage: Optimize data usage by selecting reliable and accurate data
sources and filtering out irrelevant data. Minimizing unnecessary data processing can
reduce infrastructure costs and improve system performance.
4. Consider Cloud Infrastructure: Utilize cloud infrastructure services like Amazon Web
Services (AWS) or Google Cloud Platform (GCP) to minimize upfront infrastructure costs.
Cloud services offer scalability, flexibility, and cost-efficient options for hosting and
managing stock alert systems.
5. Collaborate with Third-party Providers: Consider partnering with third-party providers for
data sources, infrastructure, or user interface design. Collaborating with specialized
providers can reduce development time and costs while ensuring high-quality
deliverables.
Stock alert services come with varying costs depending on the features, data sources, and
user experience they offer. While some services may be free or low-cost, others may charge
a subscription fee or offer premium features at a higher price. It's important for us to
evaluate the cost-benefit ratio and choose a service that aligns with our budget and
requirements. When comparing costs, we consider factors such as the number of alerts
allowed per month, the availability of real-time data, integration with brokerage platforms,
and the quality of user interface and customization options. Additionally, factor in any
additional costs such as data subscriptions, brokerage fees, or premium features.
Operational cost
The operational cost of a stock alert system refers to the expenses incurred during the
system's ongoing operation and maintenance. These costs can vary depending on several
factors, including the scale of the system, infrastructure requirements, data sources, and
support needs. Some key factors that can influence the operational cost of a stock alert
system:
1. Infrastructure Costs: The system may require servers, cloud services, or hosting
infrastructure to handle data processing, storage, and delivery of alerts. The cost will
depend on factors such as the system's scalability, data volume, and expected user
traffic. Cloud-based solutions, such as Amazon Web Services (AWS) or Microsoft Azure,
offer flexibility in scaling resources and may involve pay-as-you-go pricing models.
3. Notification Delivery Costs: If the stock alert system sends alerts via email, SMS, or push
notifications, there may be costs associated with the delivery of these messages. Email
delivery services, SMS gateways, or push notification services may charge fees based
on the volume of messages sent or the number of subscribers.
4. Licensing and Compliance: Depending on the jurisdiction and the type of financial data
being used, there may be regulatory requirements or licensing fees associated with
operating a stock alert system. Compliance with data privacy regulations, such as GDPR
or CCPA, may also entail additional costs
5. Maintenance and Support: Ongoing maintenance and support are essential for a stock
alert system to ensure its smooth operation. This includes monitoring, bug fixing,
security updates, and addressing any user inquiries or issues. The cost will depend on
the level of support required and the complexity of the system.
6. Staffing and Expertise: If the system requires a dedicated team for monitoring,
managing, and updating the stock alert system, staffing costs will be a consideration. It
may involve hiring developers, data analysts, support personnel, or financial experts
who can maintain and enhance the system.
7. Integration and Third-Party Services: If the stock alert system integrates with other
systems or relies on third-party services, there may be associated costs. This can
include integration fees, licensing fees, or charges for using external services.
8. System Monitoring and Analytics: To ensure the system's performance and reliability,
monitoring tools and analytics may be required. These tools help identify issues, track
usage patterns, and optimize the system's performance. Costs may be associated with
acquiring, configuring, or maintaining such tools.
One of the main direct costs of implementing stock alerts is the software fees associated
with the alert system. Businesses need to invest in robust software that can seamlessly
integrate with their existing inventory management systems. The cost of this software can
vary depending on the features and functionality it offers. It's essential for businesses to
carefully evaluate different software providers and select the one that best fits their
requirements and budget.
Apart from direct costs, businesses must also consider the indirect costs associated with
implementing stock alerts. One significant indirect cost is the staffing requirement to
manage and maintain the alert system. Depending on the complexity of the system and the
size of the business, additional staff may be required to handle the day-to-day operations of
the stock alert system. This includes monitoring alerts, analyzing data, and taking
appropriate action based on the notifications received.
Training costs can also contribute to the overall operational cost of stock alerts. Employees
need to be trained on how to effectively use the alert system and interpret the notifications
received. Investing in comprehensive training programs can help businesses maximize the
benefits of the alert system and ensure that employees are equipped with the necessary
skills to utilize it effectively.
While implementing stock alerts may come with associated costs, we can take several steps
to optimize our budget and reduce operational costs. Let's explore some practical strategies
for managing the operational cost of stock alerts effectively.
Choosing the right software provider is crucial in optimizing the operational cost of stock
alerts. It's essential to assess the features and functionality offered by different providers
and select the one that aligns with our specific business needs. Look for providers that offer
flexible pricing plans and scalability options, allowing us to adjust our subscription as our
business grows. Additionally, consider providers that offer integration capabilities with our
existing inventory management system, as this can help streamline operations and reduce the
need for additional software.
Harnessing the power of automation and artificial intelligence (AI) can significantly reduce
staffing requirements and associated costs. Implementing automated workflows and AI-
powered algorithms can help streamline inventory management processes and minimize
the manual effort required to monitor stock levels. By automating repetitive tasks, we can
free up valuable resources and allocate them to more strategic activities.
CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING Page 16
Inventory Management System 2023
3. Optimizing inventory levels
Maintaining optimal inventory levels is essential for cost reduction and efficient stock alert
management. Overstocking can tie up valuable capital and result in increased holding costs,
while stockouts can lead to lost sales and dissatisfied customers. By analyzing historical
data and implementing demand forecasting techniques, we can optimize our inventory
levels and reduce the frequency of stock alerts. This can help minimize the overall
operational cost associated with managing stock alerts.
To gain a deeper understanding of how we can successfully reduce the operational cost of
stock alerts, let's explore a few case studies.
Company A, a retail business operating multiple stores, implemented a stock alert system
to streamline inventory management. By carefully selecting a software provider that offered
flexible pricing plans and integration capabilities, they were able to optimize their budget.
Additionally, they leveraged automation technologies to automate inventory replenishment
processes, reducing the need for manual intervention. These cost reduction strategies
helped Company A achieve significant savings in operational costs while improving
inventory control.
Company B, an e-commerce business, faced the challenge of high staffing costs associated
with their stock alert system. To address this, they invested in comprehensive training
programs for their employees, enabling them to effectively manage and interpret stock
alert notifications. By improving employee skills and knowledge, Company B was able to
reduce staffing requirements and allocate resources to other critical areas of their business.
This resulted in substantial cost savings without compromising the efficiency of their stock
alert system.
To further optimize the operational cost of stock alerts, we can leverage various tools and
technologies. Here are a few examples:
Investing in advanced inventory management software can help businesses efficiently track
and monitor stock levels. These software solutions often come with built-in stock alert
functionalities, allowing us to set customized alerts based on their specific requirements. By
utilizing a comprehensive inventory management system, businesses can streamline
operations and minimize costs associated with separate alert systems.
IoT devices, such as RFID tags and sensors, can enhance the accuracy and timeliness of
stock alerts. These devices can be integrated with inventory management systems to
provide real-time data on stock levels, eliminating the need for manual data entry. By
leveraging IoT devices, businesses can optimize their stock alert system and reduce
operational costs associated with manual data collection and analysis.
Before implementing any cost reduction strategies, it's essential to conduct a thorough
cost-benefit analysis. Assessing the potential benefits and drawbacks of optimizing our
stock alert system will help us make informed decisions and prioritize areas for
improvement. We consider factors such as the initial investment required, ongoing
maintenance costs, expected cost savings, and potential improvements in operational
efficiency. By carefully evaluating these factors, we can determine the viability and
potential return on investment of stock alert optimization.
A. Available Technology
1. Software
Web Development Technologies: A web-based solution, by the design of a simple
inventory management interface using HTML, CSS, and JavaScript. For data entry, HTML
forms may be used, and JavaScript can handle manual changes and computations. The
information can be saved in a file or in a lightweight database
Front-End Development:
HTML (Hypertext Markup Language): HTML provides the structure and content of
web pages. It is used to create the layout and elements of the inventory
management website.
CSS (Cascading Style Sheets): CSS defines the visual appearance It is used to
design and customize the look of the website.
JavaScript: JavaScript provides interactivity and dynamic behavior to the
website.
Back-End Development:
Server-Side Programming Language: A server-side programming language like
Python (with frameworks like Django or Flask), PHP (with frameworks like Laravel
or CodeIgniter), or Node.js (with frameworks like Express.js) can be used. The
server-side code handles data processing, database interactions, and serves
dynamic content to the front-end.
Database Management Systems (DBMS): To store and manage inventory data, a
lightweight DBMS such as SQLite or Microsoft Access can be utilized. Database
with tables for goods, quantities, prices, and other relevant information. Manual
updates can be performed using a user interface or SQL queries.
Web Frameworks:
Depending on the chosen server-side programming language, the system can
leverage web frameworks to expedite development. Frameworks offer pre-built
components, database integration, and other utilities, reducing the need for
manual configuration. This include Django (Python), Laravel (PHP), or Express.js
(Node.js).
User Authentication and Authorization:
User authentication and authorization for the inventory management system,
technologies like session-based authentication or token-based authentication can
be employed. Frameworks often provide built-in mechanisms for user management
and access control.
CENTER OF INFORMATION TECHNOLOGY AND SCIENTIFIC COMPUTING Page 19
Inventory Management System 2023
Responsive Design and Mobile Compatibility:
To ensure the inventory management website is accessible and user-friendly
across various devices, applying responsive web design techniques is crucial. Use
of CSS media queries and frameworks like Bootstrap or Foundation to create
responsive layouts that adapt to different screen sizes.
2. Hardware:
Laptops
Internet connection
Backup storage
Server or Hosting
B. Technical skills
1.7 Scope
A. The type of products to be included
In this project the types of products whose stock are going to be tracked are clothing and
home appliances, in the first phase. Due to the fact that clothing and cosmetics(home
appliances) are one of the high demand goods in the current market of Ethiopia.
What about other products ?
Other products like construction materials , furniture , cosmetics etc. are to be included
per user demand and the project's advancement.
The initial number of users aimed to be a few dozen (24-36). Since the testing process
should be well regulated, it is efficient to have a few samples of users to initially use the
website.
1.8 Methodology
The methodology we use to solve the problem can be categorized as an iterative and
user-centered approach, combining elements of Agile and User-Centered Design
(UCD) methodologies. It emphasizes continuous collaboration with stakeholders, iterative
development, and incorporating user feedback throughout the project lifecycle. This
methodology ensures that the software solution meets the needs of the users and
stakeholders effectively
Document design decisions: Clearly document the design rationale, including the
chosen design patterns, technologies, and frameworks, to create a comprehensive
design specification.
3. Implementation Methodology:
Select development tools and technologies: Identify and select appropriate
development tools, programming languages, frameworks, and libraries based on the
design decisions and project requirements.
Iterative development: Adopt an iterative development approach, breaking the
implementation into smaller, manageable tasks, and leveraging agile development
principles to deliver incremental functionality.
Code reviews and testing: Conduct regular code reviews to ensure code quality and
adherence to coding standards. Implement unit testing to validate individual
components and conduct integration testing to verify the interactions between modules.
Version control and collaboration: Utilize version control systems, such as Git, to
manage the source code and facilitate collaboration among the development team .
4. Testing Methodology:
Test planning: Develop a comprehensive test plan that includes system testing, user
acceptance testing, and integration testing based on the identified requirements and
design specifications.
Test case development: Create test cases that cover various scenarios, including
positive and negative test cases, to ensure thorough testing of the software.
Test execution and reporting: Execute the test cases, record test results, and report
any defects or issues found during the testing process. Continuously track and monitor
the progress of testing activities.
Chart Title
29/09 09/10 19/10 29/10 08/11 18/11 28/11
project initiation
system design
Development
Integrationand Testing
4. Compatibility Challenges: The software may face compatibility issues with different
operating systems, web browsers, or hardware configurations. This can result in
inconsistent behavior across platforms or devices.
5. Integration Problems: If the software needs to integrate with other systems or APIs,
there is a risk of compatibility issues or data inconsistencies during data exchange
between different components.
6. Usability Concerns: Poorly designed user interfaces or complex workflows can lead to
usability issues, causing confusion, frustration, and decreased user adoption .
2. Quality Assurance Team: Assign a dedicated quality assurance team responsible for
monitoring and enforcing quality standards throughout the software development
lifecycle. This team should conduct thorough testing, review code, and identify and
address any quality issues.
4. Test Environments: Set up dedicated test environments that closely resemble the
production environment. This allows for realistic testing and identification of
environment-specific issues.
6. Bug Tracking and Resolution: Establish a robust bug tracking and resolution process.
Encourage developers and testers to report and track bugs systematically, and ensure
that identified issues are addressed promptly.
7. Code Reviews: Conduct regular code reviews to identify coding errors, improve code
quality, and ensure adherence to best practices and coding standards.
1. Functional Testing: Verify that the software accurately tracks and updates stock
levels based on various transactions, such as purchases, sales, returns, and
adjustments.
2. Integration Testing: Test the integration of the stock management software with other systems, such as point-
of-sale (POS) systems or inventory management systems, to ensure smooth data exchange and synchronization.
3. Performance Testing: Validate the software's performance under different scenarios, such as high transaction
volumes or concurrent user access, to ensure it can handle the expected workload without performance
degradation.
4. Data Accuracy Testing: Verify the accuracy of stock data by performing data validation and reconciliation
against physical stock counts. This ensures that the software provides reliable and up-to-date stock information.
5. Notification Testing: Test the notification mechanism that alerts the retailer about low stock levels or critical
stock situations. Verify that notifications are triggered accurately and delivered through the desired
communication channels (e.g., email, SMS).
APPENDIX
Appendices contain material that is too detailed to include in the main report, such as long
mathematical derivations or calculations, detailed technical drawings, or tables of raw data.
<Insert here any document referred to in the proposal. An example might be articles
or Web sites that you consulted during the literature search. >