The SDLC
involves planning the project, gathering requirements, designing the system,
coding the software, testing it for issues, deploying it to users, and
maintaining it post-release. Each phase ensures the software meets user needs
and functions correctly, from start to finish.
Stage-1: Planning and Requirement Analysis
- Planning:
- Define the project goals: Automate the extraction of phone properties, enabling
the comparison of multiple phone specs and determining the superior phone
in various aspects, with results presented through summary reports in
Excel and JSON formats.
- Identify stakeholders: Developers, end-users, and potential clients.
- Conduct feasibility study: Assess technical feasibility which involves evaluating if the project can effectively use available technology and resources. Economic feasibility assesses if the project's benefits justify the costs associated with developing and maintaining the automation framework.
- Risk analysis: Identify potential risks like variations in device response which leads to data inconsistency.
- Requirement Analysis:
- Gather requirements through discussions
with stakeholders and analyzing manual extraction issues.
- Document requirements: List all properties to be extracted (CPU, hardware, battery,
display, camera, etc.).
- Prioritize requirements: Determine which properties are most critical for the initial
implementation.
Stage-2: Defining Requirements
- Software Requirement Specification
(SRS):
- Document detailed requirements,
including:
- Functional
requirements: Specific adb
commands for property extraction, framework functionalities.
- Non-functional
requirements: Performance
metrics, scalability, reliability.
- Get approval from stakeholders and
refine requirements based on feedback.
Stage-3: Designing Architecture
- Design Document Specification (DDS):
- Design the overall architecture of the
automation framework.
- Define the directory structure: Base, Lib, Logs, Runner, SpecsInfo, Test.
- Create class diagrams and sequence
diagrams to detail the interactions and workflows.
Stage-4: Developing Product
- Coding:
- Implement core classes and
functionalities: ADB.py, Commands.py,
FrameworkConstants.py, LogConf.py, etc.
- Develop utility libraries: FileSystemUtils.py, LibUtils.py, ParserUtils.py.
- Write scripts for specific
properties: CpuSpecsInfo.py, HwSpecsInfo.py,
CameraSpecsInfo.py, etc.
- Ensure code follows set standards.
- Use Python for the coding tasks, with
adherence to object-oriented principles.
Stage-5: Product Testing and Integration
- Testing:
- Conduct unit testing for individual
components.
- Perform integration testing to ensure
different modules work together seamlessly.
- Execute system testing to validate the
entire framework.
- Track, fix, and retest any flaws.
- Documentation and Training:
- Create comprehensive documentation
detailing the usage and maintenance of the framework.
- Provide training to ensure that team
members and end-users understand how to operate the framework
effectively.
Stage-6: Deployment and Maintenance
- Deployment:
- Release the framework in phases.
- Test the framework in a real environment.
- Collect feedback and make necessary
improvements.
- Maintenance:
- Continuously monitor the framework for
any issues.
- Provide updates and patches as needed
to improve functionality and performance.
- Maintain documentation to reflect any
changes or updates in the framework.
Software Development Life Cycle (SDLC) is important as it ensures that software programs are developed in a structured and efficient manner.
Comments
Post a Comment