ASE 2 Coursework
ASE 2 Coursework
The electronic version of your group report must indicate all group members’ ID number,
Surname and First name in the first page or at the beginning of program file (as comments).
If you think there is a good reason for late submission, such as illness, and you have supporting documentary evidence
then you should follow the “mitigating circumstance” procedures outlined in the Red Book, otherwise assignments
will NOT be accepted by the module Organizer after the due date.
PLAGIARISM
You are reminded that there exist regulations concerning plagiarism. Extracts from these
regulations are printed overleaf. Please sign below to say that you have read and understand these
extracts:
(Signature:)______________________________________________________________
This header sheet should be attached to the assignment specification and to the work you
submit. No work will be accepted without it.
ESOFT METRO CAMPUS
ADVANCED SOFTWARE
ENGINEERING (CS6003ES)
COURSEWORK 2
We've put forth a lot of work to finish this project. Working as a team and having so much support
and advice from so many individuals and organizations helped a lot. We want to thank each and
every one of them from the bottom of our hearts.
We are grateful to ESOFT Metro Campus for overseeing our project and providing us with the
necessary resources.
This is an excellent time to get started on this project. Also, we'd like to express our sincere
gratitude to Dr. R.Lochandaka for his help and support with the project's completion.
Our appreciation and respect also extend to our project development colleagues, and those who
contributed to the success of the project have graciously lent us their expertise.
Sams & Sams (Pvt) Ltd. intends to provide an online auction platform for buying and selling a
wide range of goods. The products will be auctioned off using an online auction system, which is
a web-based application that allows people to buy and sell items through an online auction.
Auctioneers may create an auction in the application and auction anything they desire, such as
electronics, books, furniture, fashion items, jewelry, and so on. Bidders will be able to register and
bid on any available item.
This project summarizes the development of the proposed system from a management perspective
managing the budget, costs, human resources, technical resources, and other factors ensuring
smooth delivery of the project.
3.4. Constraints.......................................................................................................................... 18
4.2. Organizing the project through sprint cycles (Modules of CI/CD) and identification of team
member responsibilities for software processes, activities and tasks. ...................................... 32
Conclusion .................................................................................................................................... 55
This report highlights the project management activities of the development of the Sams and Sams
auction system, which includes scope management, time management, human resource
management, task breakdown, resource allocation, cost estimation, etc.
Technology has a tremendous influence on people's lives in today's globe. In January 2021, there
were 4.66 billion active internet users worldwide, accounting for 59.5 percent of the global
population. 92.6 percent of the total (4.32 billion) utilized mobile devices to access the internet.
Technology has a significant influence on everything from education to business. Businesses are
expanding their activities online to boost income and acquire additional benefits.
Sams & Sams (Pvt) Ltd. plans to offer an online auction platform where people may purchase and
sell various items. The products will be sold using an online auction system, which is a web-based
application that allows users to buy and sell items through an online auction. They may buy and
sell everything they desire, including gadgets, books, furniture, fashion goods, jewelry, and so on.
Bidders will be able to register and bid on any available item, and auctioneers will be able to
auction their items using this app.
This project plan includes information on the objectives and scope of the project and a detailed
description. This project plan was designed for the development of Sams & Sams Pvt Ltd's auction
platform system. Each team member, including the project manager, will have specific
responsibilities as part of the group. The project's work will be organized into structures such as
Gantt project charts and organizational hierarchies at the end of the research, which is expected to
take eight weeks. This report depicts the report's inspection and maintenance.
This report outlines how the project is managed during the system development process in the
tasks below.
Glossary
PM
Project Manager
The project manager is in charge of the project's everyday operations and must be capable of
handling all six project aspects: scope, schedule, finances, risk, quality, and resources.
SM
Scrum Master
By assuring that the Scrum framework is followed, the scrum master assists in facilitating effective
scrum to the team. They are dedicated to the scrum ideas and practices, but they should also be
adaptable and open to chances for the team to enhance their workflow.
SRS
A software requirements specification (SRS) is a document that explains what the program will
accomplish and how it will work. It also abstracts the functionality that the product must deliver
to meet all stakeholders' requirements (business and users). It also defines the purpose of the
product and describes the architecture to be constructed.
Software Development Plan is a process that tries to increase software delivery predictability. It
entails gathering requirements, planning and designing the product, and, in some instances,
research and development into areas where the project has unknowns or risks.
IEEE
The "Institute of Electrical and Electronics Engineers," or "I triple E," is an acronym for "Institute
of Electrical and Electronics Engineers." The IEEE is a professional organization that creates,
defines, and evaluates standards in the fields of electronics and computer science.
SE
Software Engineer
Software engineers build and develop computer applications and programs to tackle real-world
issues. Professionally, to design, implement, test, maintain, and evaluate software programs,
software engineers apply software engineering principles.
ISO
A work breakdown structure (WBS) is a strategy for completing a complicated, multi-step project
in project management. It's a strategy for breaking down huge tasks into smaller chunks and
achieving them faster and efficiently. The objective of a work breakdown structure is to make a
complicated project more manageable.
Milestones
Project milestones are specific points in the project's schedule that show vital achievements or the
realization of a significant stage in the project. Project milestones are substantial for assuring
effective and efficient management and keeping the team on track.
UI
User interface
UX
User experience
Software implementation
This method is a way for integrating a software-based service or component into the workflow of
an organization or an individual end-user in a methodical and organized manner.
Database
The database is an electronically organized collection of data that is also accessed and stored
electronically.
CSS is a language for defining how Web pages are presented, including colors, layout, and fonts.
It enables the presentation to be adjusted for different types of devices, such as huge displays, tiny
screens, or printers. CSS may be utilized with any XML-based markup language and is not
dependent on HTML.
MVC
Model-View-Controller (MVC) is a software design pattern that is often used to construct user
interfaces, data, and control logic. It stresses the distinction between the business logic and the
appearance of the software. This "separation of concerns" permits a more efficient division of work
and better maintenance.
HTML
HTML (Hypertext Markup Language) is the coding that organizes a web page's structure and
content. Content might be organized using paragraphs, a list of bulleted points, or graphics and
data tables, for example.
SQL
SQL (Structured Query Language) is a standardized programming language for handling relational
databases and executing various functions on the data contained inside them. After the introduction
of SQL in the late 1970s and early 1980s, SQL became the de facto standard programming
language for relational databases.
Because of its single-threaded nature, Node.js is best suited for non-blocking, event-driven servers.
It was created with real-time, push-based architectures in mind and is utilized for standard web
pages and back-end API applications.
ExpressJs
Express.js, or simply Express, is a back-end web application framework for Node.js that was
distributed under the MIT License as free and open-source software. It is intended for the
development of web applications and APIs. It's been dubbed Node.js' de facto standard server
framework.
GCP
Google Cloud Platform is a pool of cloud computing services offered by Google that run on the
same infrastructure as Google's internal products such as Google Search, Gmail, Google Drive,
and YouTube.
API
NPM
Buyer
Seller
Admin
The Sams and Sams is now delivering services to its buyers and sellers through manual processes.
Currently, when a buyer wishes to submit a bid, he may either phone the call center and give them
the product SKU number and bid amount, or he can go in person. The buyer's offer will then be
placed by the call center. If a seller wants to bring their products to the auction, they must fill out
a form and leave their product in the condition that it is required for physical inspection. Sams &
Sams Pvt Ltd earns a 2% sales commission after a successful order. Since this entire process is
manual, the ultimate need for Sams and Sams Pvt Ltd is to automate this complete process for
them.
To attain the following goals, Sams & Sams has opted to automate the foregoing procedures.
3.2. Objectives
The goal of the proposed project is to make online services more profitable and reliable in the
purchase process.
3.3. Assumptions
3.4. Constraints
• Since the project needs to be completed within 34 days, the scheduling has to be as precise
as possible.
• The project is divided into 2 sprints, each assigned with 10 days.
Table 3.1 shows the resource and cost allocation of the project.
Total 5,620,000
The process of discovering, analyzing, and controlling dangers to a project is known as risk
management. Financial uncertainties, legal obligations, strategic management failures, accidents,
and natural disasters are only some of the hazards or risks that might arise.
The process of detecting the project-specific risk is known as risk assessment. The steps involved
include risk identification, analysis, prioritization, and resolution. With the project's progress, the
information managed inside the Project Plan will most likely alter. Therefore, it's vital to remember
that any changes to the Project Plan will influence the following criteria.
• Time
• Available Resources
• Project Quality
The goal of the Initial Risk Assessment is to identify, describe, prioritize, and record a risk
mitigation strategy for those hazards that can be recognized before the project's commencement.
Throughout the project's life cycle, the Risk Assessment will be monitored and updated monthly,
with monthly assessments included in the status report and other reports, and available to change
by the Project Manager. In addition, because project leadership must agree on mitigation
approaches (based on the risk's assessed impact, the project's capacity to bear the risk, and the
feasibility of reducing the risk), time must be set aside at each Steering Committee meeting to
identify new risks and discuss mitigation strategies.
Project-based organizational structure is the most appropriate project organizational structure for
this project. A modest number of people are employed in the auction project. However, there are
those that work in management, design, development, and testing. They hold varied jobs within
those areas. All members of the team contact the project manager directly but however it is
encouraged to communicate with each member directly to sort out issues and clarifications as per
the Scrum framework. After this project is completed, all human resources will be allocated to a
new project.
All the planning activities and task allocation has been done taking into account all aspects of the
team structure.
• Project Manager
• Backend Engineer
• Frontend Engineer
Advanced Software Engineering – Coursework 2 Page 22 of 57
• QA Tester
• Tech Lead
• Business Analyst
• DevOps Engineer
• Information Security Officer
• E-Commerce Consultant
Project Manager
Description
The project manager is in charge of the day-to-day operations of the project and must be able to
handle all six project aspects: scope, schedule, finances, risk, quality, and resources.
The project manager is in charge of the project's inception, planning, monitoring, regulating, and
closing. Throughout the project life cycle, the project manager should assess the risks. Risks come
unexpectedly due to uncertainty; thus, he should make risk mitigation his top priority.
By enabling all participants to voice their ideas and concerns, the project manager should be able
to reduce risks or decrease the impact of the identified hazards. The following are the other
responsibilities.
Roles
Responsibilities
Backend Engineer
Description
A backend developer is in charge of building the system’s server side using server-side
technologies. Backend engineers usually work in teams or groups.
Roles
Frontend Engineer
Description
A frontend engineer is critical to an application’s success. The frontend engineer's job is to make
application user-friendly and functioning. Frontend engineers typically use languages like HTML,
CSS, and JavaScript to design templates and generate components and pages.
It is the role of front-end designers to provide a user-friendly interface. In order to ensure user-
friendliness, color schemes and navigation panels should conform with commercial online
standards. The interface of the proposed application is to be created using HTML5, CSS, and
Bootstrap.
Roles
• Creating visual components inside a web application that is visible to the end-user.
• Bend the science of programming with the art of design.
• Converting UI/UX design wireframes into real code.
• Required to be a good team player to achieve tight deadlines while adhering to design
specifications.
• Improving the interactivity and the overall user experience of the application.
• Bringing concepts to life with HTML, JavaScript, and CSS.
• Actively maintaining the codebase of the client application.
• Rectifying both functional and user interface issues identified in the client application.
• Ensuring the application is adaptable to a wide range of screen sizes.
• Actively participating in the software development process.
QA Tester
Position - Tester
Description
The Quality Assurance (QA) Tester is responsible for identifying issues in the running software
by using different testing activities. They must be able to review and analyze system specifications,
write automation scripts, execute test scripts and report the identified defects to the team.
Roles
It entails running a program or system component in order to assess one or more interesting
properties. In addition to identifying faults, gaps, or missing requirements, software testing aids in
identifying genuine needs. It can be done manually or with the help of automated software.
Responsibilities
Tech Lead
Description
Roles
Responsibilities
Description
The primary task of a business analyst is to translate clients' ambiguous, incomplete needs and
wants into business requirements specifications. Clients and developers sign specifications like a
contract. To determine the customer's explicit needs, a business analyst must use a variety of
requirements collecting techniques. As a result, the position of the Business Analyst is crucial in
the software development life cycle. Accurate software requirements are critical to the project's
success.
Roles
Responsibilities
Description
Roles
• To communicate effectively.
• Enhance visibility throughout the CI/CD pipeline.
• Monitor cloud technology changes.
Responsibilities
Roles
Responsibilities
Roles
E-commerce consultants are experts and possess and immerse knowledge in the ecommerce world.
An e-commerce consultant is responsible for studying a company's operations and developing an
e-commerce development and marketing strategy, as well as tracking progress toward targets and
adjusting the strategy as circumstances change.
Table 4.1 shows the roles, skills, and payment of each team member.
Pay per
Employee Name Role Skills
hour (Rs.)
Sergio Perez Tech Lead • Establish trust within the team 6,000
• Communication skills
• Leadership qualities
• Strong vision into the project and
for the company
• Top management skills
• Able to motivate the people
• Able to manage the people
• Strong domain knowledge
• Strong technical knowledge
A work breakdown structure (WBS) is a critical project deliverable that divides the team's work
into manageable chunks. The Project Management Body of Knowledge (PMBOK) describes the
work breakdown structure as a "deliverable oriented hierarchical decomposition of the work to be
completed by the project team." As each work breakdown structure level gives more depth and
detail, the scope is graphically broken down into digestible chunks that a project team can grasp
(Brotherton, et al., 2008).
Feasibility Study
A feasibility study examines all of a project's pertinent aspects, including economic, technical,
legal, and scheduling issues, to determine the project's chances of success.
The project team consists of the project manager and a group of people who collaborate on a
project to achieve its goals. It comprises the project manager, engineers, designers, and additional
people who may or may not be directly involved in project management but perform project-
related tasks.
Workshops for user stories are about cooperation as much as they are about needs. Workshops are
designed to bring the brightest minds together to work on identifying the correct requirements for
a specific solution, and they achieve exactly that when done well.
The proof they're seeking is a documented sign-off, and it's the conclusion of the narrative. When
a story is signed off, it becomes a legally binding contract between the business and the customer.
A project backlog is a prioritized and well-organized list of deliverables that fall inside the project's
scope. It's usually a comprehensive list that breaks down the tasks that must be done.
In Agile project management, the story point estimate replaces task estimation in terms of time or
money. The minor jobs are weighted and estimated at a single point, and then further tasks are
weighed and calculated for that task.
A project timeline is a visual illustration of the project's deliverables. It provides a brief yet
comprehensive visual portrayal of a project from beginning to end. A complete timetable creates
a roadmap for the project with milestones, tasks, dependencies, and delivery dates.
The process of identifying, predicting, and assigning various types of company resources to
projects at the appropriate time and cost is known as resource planning. It also guarantees that
resources are used efficiently and effectively across the organization.
A project budget comprises the total projected costs required in completing the project in a defined
time period. It is typically used to estimate the costs of each phase of the project and make
necessary financial and overall project decisions.
Sprint planning is a scrum event that initiates the sprint. Sprint planning aims to figure out what
can be accomplished in a given sprint and how it will be done. The What – The product owner
explains the sprint's aim (or goal) and how backlog items contribute.
Based on the requirements, the software is architectured in this agile phase. It is a very vital process
since it directly affects the implementation.
Implementation - Sprint 1
In the implementation, the engineers translate the detailed requirements and designs into system
and software components. This process involves testing individual units of the application by the
engineers.
Testing - Sprint 1
Testing must be done often and early in Agile development. As a result, testing occurs as features
are added rather than waiting for development to be completed before beginning testing. Tests are
prioritized in the same way that user stories are. In each iteration, testers try to complete as many
tests as possible.
Review – Sprint 1
The goal of a sprint review is to show off the whole team's hard work, including designers,
developers, and the product owner. Building an agile team necessitates sharing in the success.
Sprint planning is a scrum event that starts the sprint. Sprint planning aims to figure out what can
be accomplished in a given sprint and how it will be done. The What – The product owner explains
the sprint's aim (or goal) and how backlog items contribute.
Design - Sprint 2
Based on the requirements, the software is architectured in this agile phase. It is a very vital process
since it directly affects the implementation.
In the implementation, the engineers translate the detailed requirements and designs into system
and software components. This process involves testing individual units of the application by the
engineers.
Testing - Sprint 2
Testing must be done often and early in Agile development. As a result, testing occurs as features
are added rather than waiting for development to be completed before beginning testing. Tests are
prioritized in the same way that user stories are. In each iteration, testers try to complete as many
tests as possible.
Review – Sprint 2
The goal of a sprint review is to show off the whole team's hard work, including designers,
developers, and the product owner. Building an agile team necessitates sharing in the success.
A quality assurance (QA) team assesses how the different components of an application interact
in the entire, integrated system or application during system testing, also known as system-level
tests or system-integration testing.
Acceptance Testing is a type of software testing in which the acceptability of a system is assessed.
The main goal of this test is to determine whether the system complies with the business
requirements and whether it is suitable for delivery.
Software deployment is the strategy of rolling out the completed software to the end-user. Prior to
the deployment, comprehensive testing must be done to ensure all the defects have been identified
and corrected.
Figure 5.2 shows the Gantt chart of the project indicating tasks, durations, starting and finish times.
Figure 5.3 shows the network diagram of the project indicating the critical path in red color.
Calculation of Early Start, Early Finish, Latest Start, Latest Finish and Slack
A Feasibility Study 1 0 1 0 1 0
F Story Estimation 1 5 6 5 6 0
J Sprint Planning 1 10 11 10 11 0
K Design 2 11 13 17 19 6
L Implementation 8 11 19 11 19 0
M Testing 5 11 16 14 19 3
N Review 1 19 20 19 20 0
O Sprint Planning 1 20 21 20 21 0
Q Implementation 7 21 28 22 29 1
R Testing 8 21 29 21 29 0
S Review 1 29 30 29 30 0
You can see how a milestone might be influential in scheduling if it concentrates on vital progress
milestones in a project. Milestones cut off portions of a project to make it less frightening, similar
to how tasks break down a more extensive project into smaller parts. Figure 5.5 shows the project
milestones in a timeline.
Table 5.2 shows the project milestones and their corresponding dates.
Milestone Date
Deployment 2021/08/26
The main goal of project management is to keep track of milestones and ensure that they are met.
The Project Manager will need to pay extra attention to this. This assignment allows the Project
Manager to quickly determine if the project is on track or whether it requires more attention due
to its criticality.
Project Commencement
The project's first milestone is project commencement, which also implies the very first step or the
start of the project. This milestone marks the project's initial phase, and every other activity in a
traditional or any software development life cycle is followed after the project commencement
milestone.
The second milestone is the formation of the team. This is a very crucial milestone and one of the
necessary steps in any software development lifecycle.
The third milestone is the Product backlog freeze. This usually happens once the requirements are
gathered, and some of the designs and project scope reports are made. The phrase "the Sprint
Backlog is frozen" means that no new items (stories) may be added or withdrawn from the Sprint
Backlog during the Sprint. During the Sprint, it may be essential to get further information, justify,
or clarify some of the items, which should be done in the presence of the Product Owner.
Project Plan
The fourth milestone is the project plan. The project plan is a formal document that specifies the
aims and objectives of the entire project and individual tasks and what success looks like. It should
include additional information and deliverables related to the project, such as communication
strategies, in addition to the aim of the project.
The plan is finalized and detailed in multiple project plan reports at this point.
Sprint 1 Completion
This is the fifth in a series of milestones. In which a set of system components are completed. The
customer will obtain a partially functional system at this point, and the project team will have
thoroughly tested and evaluated this Sprint. The other Sprint measure that is commonly examined
in combination with Sprint Target Completion is Sprint Completion. It's significant because it
demonstrates the Scrum Team's general ability to meet their Sprint goals, even when work is added
after the Sprint has begun.
This is the sixth in a series of milestones. It is a vital milestone as the customer will obtain a fully
functional system. The QA tester will have thoroughly tested the fully operational system, and the
team will have reviewed this Sprint.
User Acceptance
This is the seventh, User Acceptance Testing (UAT) is a sort of testing in which the end-user or
customer verifies and accepts the software system before it is moved to the production
environment. After functional, integration, and system testing, UAT is performed in the final step
of testing.
Deployment
This is the eighth milestone which is the deployment. All of the operations that go into making a
software system usable are referred to as software deployment. The whole deployment process is
made up of a number of interconnected operations with various transitions in between. These
actions might take place on either the production or consumer side or both.
Project Completion
This is the ninth and last milestone, which signifies the project's conclusion. Various companies
have different project competition tasks, and Sams and Sams must give end-user training, a user
manual, and other assistance. The project conclusion outlines how the project aim was met
successfully. It encompasses a project's last stages: product acceptance, final analysis, experience
assurance, and project closure. The project conclusion report summarizes these points.
Microsoft Project
Microsoft Project has been used to create the Gantt Chart, Network Diagram, allocate tasks and
monitor the progress throughout the execution of the project. Figure 5.6 shows the usage of
Microsoft Project.
Maintenance is critical to the work that must be done on a software program in order for it to
continue to perform consistently and safely. It does not include any new features. It isn't verifying
log files or ensuring backups have been completed (these are separate tasks).
It is working on the code and underlying platform to guarantee that everything is in working order
and is up to date, that it functions as expected by its users, and that the lights remain on—the dining
room table.
The maintenance plan for the Sams and Sams Auction System is shown below.
Corrective maintenance
Corrective maintenance of a software product may be required to fix flaws discovered while the
system is in use or to improve the system's performance.
Adaptive maintenance
Modifications and updates are required when consumers want the product to work on new
platforms, operating systems or to integrate with new hardware and software.
Perfective maintenance
Preventive maintenance
Modifications and updates are included in this form of maintenance to prevent future software
issues. Its purpose is to address minor issues at the time but might turn into major ones in the
future.
Infrastructure maintenance
Feature upgrades
Certain maintenance is frequently provided for free or for a limited time period, such as three
months. The majority of the quarterly maintenance is infrastructure maintenance, which is
recommended to be done as soon as any end-users notice any faults, which the team may then
report and repair.
As the systems can be attacked by malware or affected any other uncertain events, frequent data
backups are taken to ensure the data is secure.
Occasionally, the program will adapt to new technologies and operating systems.
The advancements of e-commerce have set the benchmark for trading activities to be done online.
Lately, online auctions have received a considerable niche market. Therefore, the Sams and Sams
have decided to build an online auction platform. The development of the application was done in
Coursework 1 of Advanced Software Engineering, and this report highlights the management
activities of the complete development process.
We have obtained comprehensive knowledge about the Agile software development methodology
and Scrum framework in performing managerial activities throughout the project and preparing
this report. We had the opportunity to sharpen our knowledge in project management and the
coursework allowed us to explore and practice enterprise-level project management tools. Not only
have we increased our project and tool abilities, but we've also enhanced our overall IT skills in
the industry.
Also, it brought everyone's unique ideas and visions together as a team. We relished our way of
building the application and managing the whole software development lifecycle. It was definitely
a great experience for the whole team.
Azure DevOps, 2021. Best practices for "light-weight" Agile project management. [Online]
Available at: https://docs.microsoft.com/en-us/azure/devops/boards/best-practices-agile-project-
management?view=azure-devops&tabs=agile-process
[Accessed 12 November 2021].
Brotherton, S. A., Fried, R. T. & Norman, E. S., 2008. Applying the work breakdown structure to
the project management lifecycle. [Online]
Available at: https://www.pmi.org/learning/library/applying-work-breakdown-structure-project-
lifecycle-6979
[Accessed 18 November 2021].
Clarizen, T., 2021. What Are Project Milestones and How Do We Define Them?. [Online]
Available at: https://blog.planview.com/what-are-project-milestones/
[Accessed 20 November 2021].
Lavanya, N. & Malarvizhi, T., 2008. Risk analysis and management. [Online]
Available at: https://www.pmi.org/learning/library/risk-analysis-project-management-7070
[Accessed 17 November 2021].
Mar, K., 2011. Costing Agile projects: How to cost Agile projects. [Online]
Available at: https://scrumology.com/how-to-cost-agile-projects/
[Accessed 14 November 2021].
Rigby, D., Sutherland, J. & Takeuchi, H., 2016. Embracing Agile. [Online]
Available at: https://hbr.org/2016/05/embracing-agile
[Accessed 12 November 2016].
Usmani, F. & PMP, 2021. Project Network Diagram In Project Management. [Online]
Available at: https://pmstudycircle.com/project-network-diagram/
[Accessed 22 November 2021].