Skip to main content

MobiSpec Analyzer SDLC

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

Popular posts from this blog

PROJECT GREPINFO

INTRODUCTION Project Name:  GrepInfo Purpose:   An automated framework for retrieving device specifications. Developed In Purpose:  Python Specification to be Collected: Hardware Specifications Software Specifications CPU Specifications Memory Specifications Display Specifications   ROOTED VS NON- ROOTED DEVICES Rooted Devices: Rooted devices are like super-powered phones that let you change almost anything you want. You can customize your phone to do things it couldn't do before, like making it faster or removing apps you don't need. Non-Rooted Devices: Non-rooted devices are like regular phones that stick to the rules set by the phone's maker. They're safer and more stable, but you can't tweak them as much as rooted phones.   T YPES OF DEVICES FOR RETRIEVING SPECS 1. Commercial Devices (Non-Rooted Devices): Description:  Standard smartphones ...

MobiSpec Analyzer

v Project :   I have been part of a project is called MobiSpec Analyzer. v Purpose : Its purpose is to extract detailed information about various phone properties using adb commands, compare the specs across multiple phones, and analyze which phone is superior in different aspects. The results were presented through summary reports in Excel and JSON formats. v Initial Approach : Initially, we extracted all the information manually by executing commands in the command-line interface. This included gathering data on CPU specs, hardware details, battery properties, and display specifications.  Phone properties were extracted manually using adb commands and grep in the command-line interface. Commands were executed individually to retrieve CPU specs, hardware details, battery properties, camera specifications and so on. Each property required separate commands, leading to repetitive execution for each device. Data outputs were stored in multiple files, one for each device, c...