---------------------------Case 01 -
- manage driver details
- Admin Reports
- track driver location
- Manage vehicle details
- Add Driver schedule[in and out]
- Login - Admin and driver
- history report
------------------------Case 02 -
- Manage customer details
- Manage staff details
- Manage salon booking details
- Login - admin and customer
- Manage servies and prices
- Admin reports -- customer details and booking
- booking confirmation
- customer can see booking history when logged to their account
Activity 01
--------------------------------
P1 Describe two iterative and two sequential software lifecycle models
---------------------
-what is iterative model?
-what is sequencial model?
-Examples for
- two iterative - Agile, Spiral,Prototype
- two sequential - Waterfall, V-model
-Explain with a diagram and explain each step....
-when to use?
---------------------------
P2 Explain how risk is managed in software lifecycle models.
---------------------------
-Explain SDLC..
-Name few software lifecycle models [ex: waterfall, agile, spiral,
prototype.......]
-Explain how risked is managed with - 4 methodlogies....
[better to explain spiral and prototype as they are good at risk
management...]
-what are the risk we need manage?
-what is best for risk management---> your opinion and according to resources....
-----------------------------
M1 Discuss using an example, why a particular lifecycle
model is selected for a development environment
----------------------------
Case 01 - Prototype, Spiral
Case 02 - Agile, Iterative waterfall...
How these methodlogies going to suite for the cases?
Advantages of selecting those methodologies for those situations?
Ideas according to what you have found by research
Your opinion ....
-------------------------------
D1 Assess the merits of applying the Waterfall lifecycle
model to a large software development project.
-----------------------------------
- When to use waterfall methodology
-Advantages and Disadvantages of waterfall methodology
- Is it suitable for a large software development project?
Give your reasons why?
- According to the 2 cases can we apply waterfall or not, give reasons
-comparion waterfall with other methodolgies
-Ideas according to what you have found by research
and your opinion ....
Activity 02
-------------------
P3 Explain the purpose of a feasibility report.
-----------------------------
-what is feasibility report?
-Why we need a feasibility report? [mainly it helps to findout can we do this
question? with regarding different perspectives]
-Advantages of feasibility report?
-Features of the feasibility report?
- Technical Feasiblity
- Economic Feasiblity
- Legal Feasiblity
- Schedule Feasiblity
- Cultural Feasiblity
- Operational Feasiblity
-----------------------------
P4 Describe how technical solutions can be compared.
-----------------------
- Explain selected situation?
- why you have selected this situation? [if there is a special reason, if not no
need]
- Two solutions that you suggested for the selected situation?
--just ex: Agile and prototype
[not only methodology you have to explain more ]
Solution 1 : methodology, platform, backend coding language, suggested special
techonologies and features
Solution 2 : methodology, platform, backend coding language, suggested special
techonologies and features
[which means even the both solutions can sometimes use same methodology but other
content are totally different]
- Explain situation with step by step with the process
- Advantages of selecting Solution 1 and 2 (according to senario and technologies
and other content they use)
- Disadvantages of selecting Solution 1 and 2(according to senario and technologies
and other content they use)
- differences
- conclution or your opinion on which suites best
--------------------------------------------
----------------------
M2 Discuss the components of a feasibility report.
--------------------
Feasiblity Study Report
---------------------------------
Report struture explanation:
- System Introduction
- Purpose of the system
- Objectives
- Scope
- suggested technologies
- Feasiblities
- Technical Feasiblity
- Economic Feasiblity
- Legal Feasiblity
- Schedule Feasiblity
- Cultural Feasiblity
and more....
- Conclusion
-explain each of these component [what? why? ]
-what happen if we do not go through feasibility process
-Advantages of feasibility report? [with more explanation and example situations]
---------------------
D2 Assess the impact of different feasibility criteria on a
software investigation
-------------------------
Develop a Feasiblity Study Report to the scenario
Feasiblity Study Report
---------------------------------
- System Introduction
- Purpose of the system
- Objectives
- Scope
- suggested technologies
- Platform(Desktop/Web/Mobile)
- Frontend Languages(HTML, CSS, JS)
- Backend Languages(PHP/Java/ASP.net)
- Frameworks/technologies(Bootstrap)
- Database (Mysql/SQL/Oracle)
- Softwares (Xampp, VSC...)
- Feasiblities
- Technical Feasiblity
[new to known technology list that you would like to apply and the employee
experience level and capabilities on that areas]
- Economic Feasiblity
[budget plan with expected expenses]
- Legal Feasiblity
[data protetion act, computer crime, copy right act, employee
rights....]
- Schedule Feasiblity
[Gantt chart that shows the task list and time period..]
- Cultural Feasiblity
[barriers of selecting images, colors, symbols, words, language
and other content...]
- operational Feasiblity
[with the number of employees they have in the team what are the
operations they can apply]
and more....
- Conclusion [can we really do it?]
----------------------------------
-how each feasibility criteria helps to gain sucessful outcome?[advantages of each
criteria]
- Technical Feasiblity [to select most suitable and capabale
technologies]
- Economic Feasiblity [to manage the budget properly and see whether it
is enough...]
- Legal Feasiblity[to get away from doing any illegal action or any
damage that can cause problem later.. ]
- Schedule Feasiblity [to manage the time ]
- Cultural Feasiblity
[more in detail..]
-Risky situations found after going through your feasibility report
[Ex: their budget is really critical as the gap is not much to have a advantage,
otherwise it will take the profit of the system.......]
-Solutions for above situations [Ex: request more time, more budgets, remove
unnecessary requirements... (need to be specific about amounts as you have a clear
idea about it as you have created the feasibility report)]
-What will happen if you do not do these each Feasiblity study for this system...
[damages]
-examples for each feasibility criteria with few main critical situations that did
not happen in your report but if happend what should we do?
(Ex: time critical situations like given duration is 6 months but feasibility
report says 9 months need to request more resources otherwise better not accept the
project )
-your opinion with your feasibility report and other facts --->prove all
--------------------------
Activity 03
--------------------------
P5) Undertake a software investigation to meet a business need.
-------------------
-what is system investigation? [requirement gathering: Ex: meetings, survay]
-what are the system investigation techniques and explain each [requirement
gathering techniques...]
-Explain System requirements, Functional requirements, Non-Functional requirements
and Hardware requirements concepts
- list down System requirements
------Functional requirements
------Non-Functional requirements
------Hardware requirements
-Business goals achived through this software system
---------------------------------
P6) Use appropriate software analysis tools/techniques to
carry out a software investigation and create supporting
documentation.
---------------------------------------
--What are software analysis?
-------------------------------Include below content : create supporting
documentation------------------
--What are software analysis tools/techniques?
[As you have completed requirement gathering and designing you can do the analysis
for that part... for that better to use a google form survay...]
---Use google form and do a survay regarding analyse requirements and ui design are
up to their expected level
-- Screenshots of the google form
-- Screenshots of the google form result
-- Summary and conclutions with confirmed areas and new suggestions
[to do code analysis and testing you need to complete the code... as we don't do
that part here this is about you are explaining
if you have completed the coding we check the code through these software tools and
techniques... that suggestion can be done..
in your supooring document as a plan for the future....]
-------Code Analysis: Tools like ESLint, Pylint, and Checkstyle analyze source
code for potential issues or non-adherence to coding standards
--------Unit Testing: Techniques like Test-Driven Development (TDD) and tools like
JUnit, pytest, and NUnit help ensure individual units of code are working correctly
--------Code Metrics: Tools like SonarQube, CodeClimate, and PMD measure various
code metrics like complexity, code duplication, and code coverage
--------Security Analysis: Tools such as OWASP ZAP, Burp Suite, and Nessus scan for
security vulnerabilities in software
--------Performance Monitoring: Tools like Prometheus, Grafana, and Nagios are used
for real-time monitoring of application performance and infrastructure.
........more
-----------------------------------------------------------------------------------
---------------------
--------------------------------
M3) Analyse how software requirements can be traced
throughout the software lifecycle.
---------------------------
what is SDLC ?
Steps of SDLC ?
how it improve finding requirements with each steps...
--ex : step 1 ---gathering requirements----identify requirements for the first time
step 2 -- analyse requirements---understanding requirements....
............
how tracing requirements are hard with each steps and other...
---how some requirements are found out very lately like after releasing the
software getting feedback and apply updates at maintainance stage
---and how requirements can be not known by client, missed communiated, removed as
not enough time and budget...some still figuring out
---------------------------------------------------
M4 Discuss two approaches to improving software quality
-----------------------------------------------------
Approahes:
1.apply Coding Standards
- for naming variables/methods
- comments to explain code sections
........more
2.testing Requirements and Quality assuarance
- validation
- verifiation
- different testing types
3.Research and feedback....
----------
Explain both....
--------------------------------------
D3 Evaluate the process of undertaking a systems
investigation with regard to its effectiveness in improving a
software quality
-----------------------------------------------
---Use google form and do a survay regarding effectiveness and software quality
improvements
-- Screenshots of the google form
-- Screenshots of the google form result
-- Summary and conclutions with confirmed areas and new suggestions
Explain....
--------------------------
Activity 04
------------------------
P7 Discuss, using examples, the suitability of software
behavioural design techniques
-----------------------------------------
--UML diagrams
- Usecase diagram
- class diagram
- ER diagram
- Sequence diagram
-Explain each diagram and include the diagram according to the seleted
scenario
---------some other UML diagrams[not compulsory]
-collaboration diagrams
-state diagrams
-component diagrams
-deployment diagrams
--wireframs
- Explain wireframe concept?
- include wireframes according to the selected scenario
--------------------------------other design concepts[not compulsory]
---Design Model types
-Structural models
-Dynamic models
---Software Design methods
• Function oriented software design
• Object oriented software design
---------------------------------------------------
M5 Analyze a range of software behavioural tools
and techniques.
---------------------------------------------------
--Explain what DFD and DFD levels ?
include DFD level 0 and 1 according to the scenario...
explain the given DFD diagrams...
--Explain Usecase diagram concept that we can deeply go into
like... concepts of Usecase diagram
- Association Relationship
- Include Relationship
- Extend Relationship
- Generalization Relationship
- Use Case Scenarios
with examples and all
--likewise explain one more diagram with deep into it's concepts, rules and
variations and examples
advantages and disadvantages....
------------------------------------------------
---------------------------------------------------
M6 Differentiate between a finite state machine
(FSM) and an extended FSM, providing an
application of use for both
---------------------------------------------------
-What is FSM?
-FSM types?
-FSM for the scenario
-what is Extended FSM?
-Difference between FSM and extended FSM?
-Use of FSM and extended FSM?
-Examples for FSM and extended FSM?
-Critically explain your ideas and founded details and confirm all with proper
references
---------------------------------------------------
D4 Present justifications of how data-driven software
can improve the reliability and effectiveness of
software
---------------------------------------------------
[This means properly managing data through the software to help the business to
make the future of the business success...
so... your software also do that proccess... so show how it is perfectly managing
the data and how it is helpful to acheive the goals of the business ]
- What is data-driven software?
-comparion between other methodologies and data driven?[for a example I have given
below a comparion between data driven and waterfall]
-----------------------------------------------------------------------------------
-----------
---------------------Methodology:
--Data-Driven SDLC: The data-driven SDLC is a more modern and adaptive
approach that relies on data analysis at every stage of development. It emphasizes
continuous improvement, iterative development, and data-informed decision-making.
--Waterfall: The Waterfall model is a traditional, linear, and sequential
approach to software development. It divides the project into distinct phases, with
each phase being completed before moving on to the next. There is minimal room for
change once a phase has begun.
--------------------Flexibility and Adaptability:
--Data-Driven SDLC: Highly flexible and adaptable. It allows for changes in
requirements, design, and priorities based on real-time data and user feedback.
This iterative approach accommodates evolving needs.
--Waterfall: Less flexible and adaptable. Changes to requirements are
difficult to implement once the project has moved beyond the requirements gathering
phase. The rigid structure of Waterfall makes it challenging to respond to changing
circumstances.
-------------------Risk Management:
--Data-Driven SDLC: Effective at risk management due to continuous monitoring
and adjustment. Early identification of issues and the ability to address them
quickly minimizes risks.
--Waterfall: Less effective in risk management. Risks are often discovered
late in the process, and making changes can be costly and time-consuming.
-------------------User-Centric Approach:
--Data-Driven SDLC: Puts a strong emphasis on user-centric design. User data
and feedback are integrated into the development process to ensure the software
meets user needs effectively.
--Waterfall: While user requirements are gathered at the beginning, it may be
challenging to incorporate evolving user needs throughout the project's lifecycle.
-------------------Project Control:
--Data-Driven SDLC: Offers better project control by using real-time data to
monitor and adjust project progress. This leads to more accurate estimations and a
greater ability to deliver on time and within budget.
--Waterfall: Project control is more rigid. It's challenging to control a
project if changes are needed after the project has moved into later phases.
-------------------Quality Assurance:
--Data-Driven SDLC: Quality assurance is integrated into the development
process, with continuous testing and monitoring based on data. This approach often
results in higher software quality.
--Waterfall: Quality assurance is typically a separate phase that occurs
toward the end of the project, which can result in late identification of quality
issues.
-------------------Client Involvement:
--Data-Driven SDLC: Encourages frequent client or user involvement and
feedback throughout the project, leading to a higher likelihood of client
satisfaction.
--Waterfall: Client involvement is more limited and occurs primarily during
the requirements and testing phases.
-----------------------------------------------------------------------------------
-----------
- how data-driven software can improve the reliability and effectiveness?
-Informed Decision-Making: Data-driven software development relies on data
analysis to make informed decisions at every stage of the development process.
-User-Centric Design - Collecting and analyzing user data enables software
developers to create user-centric designs.
-Continuous Improvement: Data-driven software development promotes a culture
of continuous improvement
-Performance Optimization: Real-time performance data monitoring helps
identify bottlenecks, resource utilization problems, and potential security
vulnerabilities
-Bug Detection and Prevention: Data-driven approaches can identify bugs and
issues earlier in the development cycle.
-Efficient Resource Allocation: Data analysis can help allocate resources
more efficiently, such as developer time, server capacity, and budget.
-Risk Mitigation: Data-driven SDLC helps in identifying and mitigating risks
throughout the development process.
-Feature Prioritization: Data-driven insights assist in prioritizing features
based on user demand and the impact on software effectiveness.
-Security Enhancements: Data-driven software development can identify
security vulnerabilities and risks early.
-Personalization and Recommendation: Data-driven software can offer
personalized user experiences and recommendations, increasing the software's
effectiveness in delivering content or services tailored to individual user
preferences.
-Scalability and Load Balancing: Data-driven approaches can help identify
when and how to scale the software to accommodate increasing user loads.
-Feedback Loop: A data-driven SDLC establishes a feedback loop with users and
stakeholders, allowing for constant adjustments based on their needs and
preferences.
-----------------------------------------------------------------------------------
-----------
- How your software will help to manage data? specially with reliability and
effectiveness..
- What acheivements can be acheived through the use of your software for the
business?
- More future plans with it...
- What more can be added to the software to improve the business....