SDLC2023

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

Task 1

Assess TWO SDLC (Software Development Life Cycle) models that you think can be used
for the above case study – highlight the different aspects of each model, include their
advantages and disadvantages. Suggest the suitability of each model for the above scenario
(this might be determined by size of Project; technical nature of the Project etc.)

Introduction:
Software developing in today’s world is one of the most significant, influential, and vital fields.
All organizations, industries, firms, institutes cannot work effectively without software. This
also helps to minimize manual labour . The purpose of the SDLC is to ensure quality of the
product with minimum risk and failure. The SDLC was developed to enable development work
in a systematic, step-by-step fashion. Software development life cycle (SDLC) describes the
structure of tasks and activities that should be accomplished. There are several SDLC model
types, each with their own advantages and disadvantages.

Requirement
Analysis

Deployment Design

SDLC
Testing Implementation
Agile is the most suitable SDLC method for the case study “Pass IT driving school. Considering
Pass IT’s driving school software development, an agile could be the suitable approach. With its
flexibility, emphasis on stakeholder collaboration, and change adaptability, it could not have
been a better candidate for this project. However, this approach also has some advantages and
disadvantages, with failures being minimized as a result. This process has made product delivery
fast, customer satisfaction and high quality of product. Essentially, the agile approach was based
on the creation of high quality products, simplicity and knowledge improvement through change
integration.

In the Agile model, the requirements are broken down into several small parts, which are
developed incrementally. Each iteration is short, straightforward, and can be completed with
weeks’ times. At a given time, one iteration is made, created, and delivered to the clients.
by summing up the Agile Model one notes that early risk detection, on going counseling,
iterations, small teams, customer feedback, quality, on time and within budget are the advantages
of Agile approaches.
The weaknesses of Agile methodologies include miscommunication, increase in resources,
increase in overall costs, inappropriateness for large projects, and lack of coordination.

Advantages and Dis-Advantage of Agile

Advantages of Agile:

I. When programmers work in pair programming, they create well-written, compact


programmes with fewer errors than when they work alone.
II. It has shortens the project's overall development time.
III. After every iteration, customer representatives are informed about updated software
products.

IV. Satisfaction of customers through consistent, quick delivery of helpful software.


V. The focus is on people and their interactions rather than on procedures and equipment.
Counsellingers, developers, and customers communicate with one another all the time.
VI. Functional software is released more often in weeks.
VII. In-person interactions are the most effective way to communicate.
VIII. Close, ongoing collaboration between developers and business professionals.
IX. Constant focus on superior technical performance and thoughtful design.

Dis-Advantage of Agile:

I. The absence of official documentation leads to misunderstandings and makes it possible


for different team members to misunderstand significant decisions made at different
stages.
II. When a project ends and its developers are moved on to another one, it can be difficult to
maintain the developed project if there is inadequate documentation.
III. For certain software deliverable s, particularly the larger ones, estimating the effort
needed at the start of the software development life cycle can be challenging.
IV. The importance of the required designing and documentation is lacking.
V. In the event that the customer representative is unclear about the desired outcome, the
project may easily change.
VI. Senior programmers are the only ones qualified to make the kinds of decisions needed in
the development process. Therefore, unless they are paired with more seasoned resources,
it is not a place for beginner programmers.

Incremental Model

Every module in this model goes through the phases of requirements, design, implementation,
and counsellinging. Programmer can have functional software early in the software life cycle
because the first module generates a working version of the programme. The module's
functionality is increased with each new release. The procedure keeps going until the entire
system is achieved.

Advantages of Incremental Model

I. This model is more adaptable and less expensive to modify in terms of requirements and
scope.
II. In a smaller iteration, counsellinging and debugging are simpler.
III. Customers can react to each built in this model.
IV. Risk is easier to manage because problematic elements are recognised

Dis-Advantage of Incremental Model:

I. Requires careful design and planning.


II. Before the system can be disassembled and built piecemeal, it must be fully and precisely
defined.
III. It costs more overall than waterfall.

Task 2

Discuss the importance of using appropriate investigation techniques to gather the


information you need to produce the requirements specification for the Driving school
system. Show example of at least one of these methods of investigation: interview (with the
owner); observation (of the current process); questionnaire (completed by a current user of
the existing system). Examples can be added in appendix.
One cannot deny the importance of employing suitable research methods to obtain data for the
Driving School System's requirements specification. The Driving School System will satisfy the
needs of all parties involved, including learners, teachers, and administrators,

Importance of Using Appropriate Investigation Techniques:

Precise comprehension of user requirements and needs:

Powerful inquiry methods assist in determining the actual requirements and expectations of
system users. This keeps things from getting misunderstood and guarantees that the system takes
care of the real issues and pain spots that users have.

Better system functionality and design:

The design process is informed by the knowledge gathered from investigation techniques, which
results in a more user-friendly and functional system. This enhances the user experience overall
and lessens the need for expensive rework.

Stakeholder satisfaction is raised and project risks are decreased:

when thorough requirements are gathered up front.. By making sure the system lives up to
expectations, it also raises stakeholder satisfaction.

Interview ( With the owner)


· Direct communication allows for clarification of unclear points and the exploration of the
owner's vision for the Driving School System.
· Interviews with the owner are essential to understanding the high-level objectives, goals,
and expectations for the Driving School System.
Example

The owner may mention in an interview that managing Learner registrations, scheduling, and
instructor assignments requires a user-friendly interface. It is also possible to get insight into any
particular business policies or regulatory requirements.

Task 3

Following the initial investigation and approval of your recommendation by the business
managers, you are to produce detailed design documentation. Again, this will depend on
the methodology used and should include:

Data flow diagrams (Context/0 level diagram, Level 1 and Level 2)

Context/ 0 Level Diagram

The Driving School System's primary internal processes and external entities that interact with it
are depicted in the context diagram, which offers a high-level overview of the system.
Driving School System

Learner Management Instruction Management Administrator Third party system

Learner Management Instructor Management Booking Management


Process Process Process

Counselling Booking Management


Mnagement Process Process

External Entities:

· Learners: One seeking driving instruction and licensing


· Instructors: Qualified person providing driving instruction
· Administrators: Manage Learner enrollment, scheduling, and other administrative tasks
· Third-party systems: Motor Vehicle Administration (MVA) for license verification and
driving records
Main Processes:
· Learner Management: Managing Learner enrollment, personal information, and Booking
progress
· Instructor Management: Managing instructor schedules, availability, and qualifications
· Booking Management: Managing Booking offerings, lesson scheduling, and attendance
tracking
· Counselling Management: Managing driving Counselling, counselling results, and
licensing applications

Level 1 Data Flow Diagram (DFD)

The Level 1 DFD decomposes the main processes into more detailed sub-processes and
identifies the data flows between them.
Learner Management Process:

· Data Flows:
· Learner application (Learner name, contact information, license type)
· Learner registration (Learner ID, Booking selection, payment details)
· Booking progress updates (lesson attendance, Counselling scores)

Instructor Management Process:

· Data Flows:
· Instructor application (instructor name, qualifications, certifications)
· Instructor availability (scheduled lessons, availability times)
· Instructor performance feedback (Learner evaluations, Counselling results)

Booking Management Process:

· Data Flows:
· Booking schedule (Booking type, instructor assignment, lesson timings)
· Learner enrollment in Bookings (Learner ID, Booking selection)
· Attendance records (Learner ID, lesson date, instructor ID)

Counselling Management Process:

· Data Flows:
· Driving Counselling requests (Learner ID, Counselling type)
· Counselling results (Learner ID, Counselling type, score, feedback)
· License applications (Learner ID, Counselling results, driving record)
Level 2 Data Flow Diagram (DFD)

The Level 2 DFD further decomposes the sub-processes into more specific tasks and identifies
the data flows between them.
Learner Registration Process:

· Tasks:
· Verify Learner identity and eligibility
· Collect Learner personal information
· Process Booking selection and payment
· Generate Learner ID and registration confirmation

Lesson Scheduling Process:

· Tasks:
· Check instructor availability based on Learner needs
Flow chart
· Data dictionaries showing the data required.
o For each item of data show:data name, type, field size, source, input method
and validation checks

Give a clear picture of the inputs, outputs, processes, scope and constraints of the system
requirement, with a recommended solution.

Data Dictionary for Learners


Data Name Type Field Size Source Input Validation
Method Checks

Learner-id Integer 10 System Automatic Unique id


Generated assigned to
each learner

Learner- String 50 Learner Manual input Alphabetc


Name Application Characters
only

Contact String 80 Learner Manual input Phone


Information Application Number and
Email
address

License Type String 10 Learner Manual input Valid license


Application type ( e.g
learner,
provisional,
full)

Address String 255 Learner Manual input Valid Street


Application Address,
City, State,
Zip Code

Contact String 50 Learner Manual Input Valid Phone


Number Application Number

Booking String 50 Learner Manual Input Valid


Enrolled Registration Booking code
(Beginner,
Intermediate,
Advance)

Fee Details String 70 Learner Manual Input Valid credit


Registration card
information
and other
payment
method

Attendance String 70 Training Automatic Record of


Attendance attendance

Counselling String 50 Counselling Automatic Records


Results Results Scores and
Feedback of
each
Counselling

Data Dictionary for Instructors

Input Validation
Data Name Data Type Field Size Source
Method Checks
Unique
identifier
System-
Instructor ID Integer 10 Automatic assigned to
generated
each
instructor
Instructor String 50 Instructor Manual input Alphabetical
characters
Name application
only
Valid email
Contact Instructor address and
String 100 Manual input
Information application phone
number
Valid
Qualification Instructor instructor
String 100 Manual input
s application certifications
and licenses
Valid time
Availability Instructor
String 100 Manual input slots and
Times availability
schedule
Records
assigned
Assigned Lesson lessons and
String 255 Automatic
Lessons scheduling learners for
each
instructor
Narrative
Performance Learner
String 100 Manual input feedback and
Feedback evaluations
rating score
Records
Counselling
performance
Counselling Counselling
String 50 Automatic for learners
Results results
assigned to
each
instructor

Data Dictionary For Booking

Input Validation
Data Name Data Type Field Size Source
Method Checks
Booking id Integer 10 System- Automatic Unique
generated identifier
assigned to
each Booking
Booking String 255 Booking Manual input Detailed
Description catalogue description of
Booking
content and
objectives
Valid number
of weeks or
hours for
Booking Booking Booking
Duration Integer 2 catalogue Manual input completion
Valid
Booking
codes for
Prerequisite Booking required
Bookings String 50 catalogue Manual input prerequisites
Records
assigned
Instructor Lesson instructor for
Assignment String 50 scheduling Automatic each Booking
Records
enrolled
Learner Learner Learners for
Enrolments String 50 registration Automatic each Booking
Records
dates, times,
and locations
Lesson Lesson for each
Schedule String 255 scheduling Automatic lesson
Records
presence or
Attendance Lesson absence for
Records String 50 attendance Automatic each lesson

Data Dictionary for Counselling

Input Validation
Data Name Data Type Field Size Source
Method Checks
Counselling Integer 10 System- Automatic Unique
ID generated identifier
assigned to
each
Counselling
Counselling String 10 Counselling Manual input Valid
Type request Counselling
type (e.g.,
practical
driving,
theory
counselling)
Learner ID Integer 10 Counselling Automatic Links
request Counselling
to Learner
record
Instructor ID Integer 10 Counselling Automatic Links
results Counselling
to instructor
record
Valid date
Counselling Counselling
Date 10 Automatic and time for
Date scheduling
Counselling
Valid address
Counselling Counselling or location
String 50 Manual input
Location scheduling for
Counselling
Numeric
Counselling Counselling score within
Integer 2 Automatic
Score results a valid range
(e.g., 0-100)
Unique
identifier
Counselling System-
Integer 10 Automatic assigned to
ID generated
each
Counselling

Task 4

Produce detailed design documentation showing the layout of the user interface or screen
layouts. It may include:

data entry forms, including layout and structure, proposed fields, data entry methods
User Interface Design for Pass IT Driving School

Overview:

This document outlines the user interface (UI) for a computerized system managing Pass IT
driving school's operations. It focuses on data entry forms, detailing their layout, structure, fields,
and input methods.

Target Audience:

Three primary user groups exist:

· Office Staff: Responsible for lesson bookings, Learner records, payments, and report
generation.
· Instructors: View schedules, track Learner progress, and update Learner information.
· Learners: Book/cancel lessons, access progress reports, and update contact details.

Data Entry Forms:

1. Learner Registration:

· Layout: Simple, two-column format with clear labels.


· Structure:
o Personal: Name, address, phone, email, date of birth, license (optional).
o Preferences: Preferred instructor, lesson type (Introductory, Standard, Pass Plus,
Counselling), lesson duration (1, 2, or custom).
o Payment: Billing address, method (cash, card), account number (optional).
· Fields: Clearly labelled, self-explanatory. Dropdowns for types/durations. Calendar
picker for birth date.
· Input Methods: Text fields for personal info, dropdowns/radio buttons for preferences,
text fields for payment.

2. Lesson Booking:

· Layout: Single-page form with "Learner" and "lesson" sections.


· Structure:
o Learner Search: By name, phone, or license number.
o Lesson Details: Date, time, duration, instructor (optional), type (pre-populated
based on preferences).
· Fields: Dropdowns for date, time, duration, and type. Text field for instructor search.
· Input Methods: Dropdowns and calendar picker for date/time. Radio buttons for
duration. Text field for searching instructors.

3. Learner Progress Report:

· Layout: Table format with clear headings and rows per lesson.
· Structure:
o Learner Info: Name, license number, current lesson stage.
o Lesson History: Date, time, duration, instructor, type, notes on progress.
· Fields: Pre-populated from database. Text area for instructor notes.
· Input Methods: Read-only fields for Learner info and history. Text area for instructor
notes.

4. Instructor Contact Update:

· Layout: Simple form with relevant contact details sections.


· Structure:
o Instructor Name: Pre-populated.
o Contact Info: Phone, email, preferred workdays/hours (optional).
· Fields: Text fields for phone and email. Checkbox list for preferred days/hours.
· Input Methods: Text fields and checkboxes.

5. Driving Counselling Booking:

· Layout: Simple form with "Learner" and "counselling" sections.


· Structure:
o Learner Search: By name, phone, or license number.
o Counselling Details: Type (practical/theory), date/time preferences, notes
(optional).
· Fields: Dropdowns for type, date, and time. Text area for notes.
· Input Methods: Dropdowns and calendar picker for counselling details. Text area for
notes.

Additional Considerations:

· Customization: Allow users to personalize menus and layouts based on roles.


· Error Handling: Provide clear, helpful messages for invalid entries.
· Data Validation: Implement logic to ensure data accuracy and consistency.
· Accessibility: Design interfaces accessible for users with disabilities.
· Responsive Design: Ensure optimal user experience across devices (desktop, tablet,
mobile).

Report forms

Introduction:

This document outlines the user interface (UI) and hardware/software specifications for a
computerized system managing Pass IT driving school's operations. It focuses on data entry
forms, report formats, and the core technical backbone.

UI Design:

· Modular Structure: Separate, dedicated modules for Learner management, lesson


booking, instructor management, reporting, and system settings.
· Intuitive Navigation: User-friendly menus a.
· Streamlined Forms: Clear labels, logical field placement, and data validation for
accuracy.

Data Entry Forms:

· Learner Registration: Simple two-column layout capturing personal details (name,


address, contact), optional license information, and preferred lesson settings (instructor,
type, duration).
· Lesson Booking: A single-page form with Learner search by name, phone, or license,
and dedicated sections for lesson details. Dropdowns manage date, time, duration, and
instructor (optional).
· Learner Progress Report: Table format with clear headings and rows per lesson.
Prominent display of Learner information (name, license number, current stage).
· Instructor Contact Update: Simple form featuring the pre-populated instructor name
and sections for updating contact details.
· Driving Counselling Booking: Similar layout to lesson booking, emphasizing
counselling type (practical/theory) and date/time preferences. An option allows adding
notes for instructors or office staff.

Reports:
· Weekly/Daily Lesson Timetables: Filterable by instructor, date range, and lesson type for
insightful scheduling analysis.
· Learner Lesson History: Detailed individual reports with progress notes and instructor
comments .
· Instructor Performance: Summarizes lessons taught, Learner pass rates, and feedback,
providing valuable insights into instructor effectiveness.
· Financial Reports: Generate income breakdowns by lesson type and instructor, offering
financial clarity and decision-making support.

Hardware and Software Requirements:

· Hardware:
o Secure and reliable servers for data storage and system operations.
o Desktop computers or laptops for office staff and instructors.
o Optional Learner tablets for lesson progress tracking and communication.
· Software:
o Windows or macOS for workstations, Linux for servers.
o MySQL or PostgreSQL for data storage and retrieval (DBMS).
o Python or Java for backend development.

Part B

Task 1

Evaluate the factors affecting the success and failure of the new system in regard to the:

● risk associated with completion of tasks on time and within budget


● costs, time constraints, organisational policies
● staff skills and the maintenance of the system
● change management and user involvement in the development process.

Factors Affecting the Success of Pass IT Driving School System

1. Risk of Completion on Time and Within Budget

· High: The project is large and complex, with the potential for unforeseen technical challenges,
unclear requirements, and changing priorities.
· Mitigation:
Ø Phased development: Implement core functionalities first (Learner management,
booking) and then add advanced features later.
Ø Clear requirements gathering: Involve stakeholders early and document expectations
thoroughly.
Ø Contingency planning: Allocate budget and timeline buffers for unforeseen issues.

2. Costs, Time Constraints, and Organizational Policies

· High: The project needs to balance cost-effectiveness with functionality, manage time pressures
for implementation, and adapt to existing IT infrastructure and policies.
· Mitigation:
Ø Cost-benefit analysis: Prioritize features based on their impact and feasibility within
budget.
Ø Agile development: Break down development into sprints for faster iteration and
adaptation.
Ø Collaboration with IT department: Ensure compatibility with existing systems and
compliance with policies.

3. Staff Skills and System Maintenance

· Moderate: The project requires training for office staff and instructors on the new system.
· Mitigation:
Ø User-friendly interface: Design intuitive interfaces with clear instructions and helpful
features.
Ø Comprehensive training: Provide thorough training materials and hands-on sessions for
staff.
Ø Support documentation: Develop clear user guides and FAQs for ongoing reference.

4. Change Management and User Involvement

· High: The project needs to overcome resistance to change and ensure user adoption of the new
system.
· Mitigation:
Ø Early communication: Engage stakeholders early on, address concerns, and highlight the
benefits of the new system.
Ø User feedback loops: Regularly gather feedback during development and refine the
system based on user needs.
Ø Incentives and recognition: Reward early adopters and champions of the new system.

Task 2
· An evaluation explaining how your design meets the user requirements identified
and identifying possible improvements and further developments.

The proposed computerized system for Pass IT driving school offers several key strengths and
exciting possibilities for future development, effectively addressing identified user requirements.

Strengths:

· Streamlined Booking and Management: Online booking, cancellation, and cost


calculation for all lesson types offer a user-friendly and efficient experience, saving time
for both Learners and staff.
· Centralized Data Hub: Easy accessibility of Learner and instructor details enables quick
searches, updates, and comprehensive management of driving school activities.
· Data-Driven Insights: Automated timetables and reports on Learner progress, instructor
performance, and lesson trends provide valuable data for informed decision-making and
strategic planning.
· User-Centered Design: Customizable menus and intuitive interfaces cater to varying
technical expertise levels, ensuring everyone can easily navigate and utilize the system.

Possible Improvements:

· Real-Time Availability: Integrating instructor calendars could display real-time


availability, preventing scheduling conflicts and optimizing lesson allocation.
· Learner Progress Visualization: A dedicated Learner dashboard could visually represent
progress, achieved milestones, and areas for improvement, boosting motivation and
engagement.
· Counselling Booking Automation: Streamlining the process by enabling Learners to
automatically book practical and theory counsellings based on eligibility would save time
and simplify counselling preparation.
· Mobile Accessibility: Developing a mobile app for Learners and instructors would
increase flexibility and convenience.

Further Development Potential:

· Personalized Learning Paths: Implementing a lesson planning tool for instructors to map
out customized learning journeys for each Learner .
· Gamified Progress Tracking: Introducing points, badges, and leader boards could gamify
Learner progress, boosting motivation and encouraging healthy competition.
· Feedback Loop Mechanism: Implementing a system for Learners to provide feedback on
instructors and lessons would foster continuous improvement and ensure instructor
accountability.
References

Mirza, M. S., & Datta, S. (2019). Strengths and Weakness of Traditional and Agile Processes-A
Systematic Review. J. Softw., 14(5), 209-219..

[ Tarwani, S., & Chug, A. (2016). Agile methodologies in software maintenance: A systematic
review.Informatica; Ljubljana.]

Gurung, G., Shah, R., & Jaiswal, D. P. (2020). Software Development Life Cycle Models-A
Comparative Study. International Journal of Scientific Research in Computer Science,
Engineering and Information Technology, March, 30-37.

Dwivedi, N., Katiyar, D., & Goel, G. (2022). A Comparative Study of Various Software
Development Life Cycle (SDLC) Models. International Journal of Research in Engineering,
Science and Management, 5(3), 141-144.

https://tryqa.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/

Hu, M., Cleland, S., & Burt, S. (2019). Build up a Constructivist Learning Environment for
Teaching First-year Students Data Flow Diagrams. 2019 IEEE Frontiers in Education
Conference (FIE). doi:10.1109/fie43999.2019.9028468

https://direct.mit.edu/dint/article/2/4/443/94892/The-Semantic-Data-Dictionary-An-Approach-
for

You might also like