Software Evaluation Presentation of Software Engineering.pptx

haseebanjum2611 13 views 19 slides Apr 06, 2025
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Software Evalutation Presentation of Software Engineering


Slide Content

SOFTWARE EVALUATION PRESENTED BY: MUHAMMAD DAUD (2023-IT-13) MURSAL MATEEN (2023-IT-14) HASNAIN SALEEM (2023-IT-20) HASEEB ANJUM (2023-IT-46)

Deployment INTRODUCTION TO SOFTWARE EVALUATION Definition Purpose Importance Software evaluation is the systematic process of analyzing and assessing software to determine its effectiveness, performance, and value for users and organizations. To ensure that the software meets specified requirements, quality standards, and user expectations. Evaluation helps improve quality, user satisfaction, and software lifecycle management.

Does the software meet the required functional specifications? FUNCTIONALITY: How does it perform under varying conditions? PERFORMANCE: Is it user-friendly? USABILITY: Does it perform consistently? RELIABILITY: Can it be easily updated or fixed? MAINTENANCE: Can it work across different platforms? PORTABILITY: Performance Usability Reliability Software Evaluation Maintenance Portability Functionality KEY ASPECTS OF SOFTWARE EVALUATION

TYPES OF SOFTWARE EVALUATION Involves users or third-party experts User acceptance testing (UAT), beta testing, or expert reviews. Inviting users to test a new mobile app and report on their experience with navigation and features. EXTERNAL EVALUATION Performed by the development team. INTERNAL EVALUATION Code reviews, unit testing, and integration testing. METHODS METHODS A team running tests to ensure their e-commerce platform's shopping cart correctly calculates totals. EXAMPLE EXAMPLE

TYPES OF SOFTWARE EVALUATION Based on measurable factors like performance metrics. Load testing, response time measurement, error rate analysis, or benchmarking against competitors. Measuring how many concurrent users an application can handle before performance degrades. QUANTIATIVE EVALUATION Focuses on subjective qualities like user experience. QUALITATIVE EVALUATION User surveys, interviews, or observational studies. METHODS METHODS Collecting user feedback regarding the dashboard's ease of use. EXAMPLE: EXAMPLE:

EVALUTION METHODS STATIC EVALUATION METHOD DYNAMIC EVALUATION METHOD Definition: Analyzes code without executing it. Definition : Evaluates code while it is running. Execution : No runtime needed. Execution : Requires program execution. Focus : Code structure, syntax, and standards compliance. Focus : Runtime behavior and performance. Tools : Code analyzers and linters. Tools : Profilers and testing frameworks. Error Detection : Finds potential errors and vulnerabilities. Error Detection : Identifies runtime errors and performance issues. Speed : Generally faster analysis. Speed : Typically slower due to execution. Coverage : Limited to analyzable code paths. Coverage : Can cover all execution paths. Use Cases : Code reviews, early development checks. Use Cases : Performance testing and user experience evaluation. Feedback : Quality and standards adherence. Feedback : Insights on behavior and performance. Limitations : May miss runtime issues. Limitations : May not catch all issues if not fully tested.

SOFTWARE EVALUATION CRITERIA Ensuring all features work as intended Ensuring the software is safe from threats. Assessing speed, scalability, and efficiency Gathering feedback on the software’s user-friendliness. Testing a login feature on an app. Testing for vulnerabilities in a web application. Load testing a website. Asking users to navigate through an app and rate the ease of use of its interface. FUNCTIONALITY TESTING SECURITY TESTING PERFORMANCE TESTING USABILITY TESTING: EXAMPLE EXAMPLE EXAMPLE EXAMPLE

SOFTWARE EVALUATION TECHNIQUES Uses tools to run tests automatically. AUTOMATED TESTING: BLACK BOX TESTING WHITE BOX TESTING Definition : Tests functionality without knowing internal code. Definition : Tests internal logic and structure of the code. Focus : External behavior of the software. Focus : Internal workings of the software. Knowledge Required : No code knowledge needed. Knowledge Required : Requires coding knowledge. Test Cases : Based on requirements and specifications. Test Cases : Based on code structure and logic paths. Example : Testing an online form's data submission. Example : Unit testing a function’s logic. Advantages : User-centric; identifies functional issues. Advantages : Identifies hidden errors and logical flaws. Disadvantages : May overlook internal problems. Disadvantages : Needs coding skills; can be time-consuming. Automating login tests for a web application. EXAMPLE: Increases efficiency, reduces human error, allows for repeated testing. BENEFITS:

Measures how many defects exist per unit of code. How quickly the software responds to user actions The software’s uptime percentage 2 defects per 1000 lines of code. (It means the code is of high quality as there are not much errors in the code.) (It means the response time is fast as the website is working smoothly.) Defect Density Response Time: Availability Example SOFTWARE EVALUATION METRICS (MEASURMENTS) A website loads in under 2 seconds. A system with 98% uptime is considered highly reliable. Example: Example

SOFTWARE EVALUATION PROCESS PERFORMANCE AND SECURITY EVALUATIONS DEFINE SOFTWARE REQUIREMENTS 1. 4. 2. 5. 3. 6. DESIGN AND IMPLEMENT SOFTWARE COLLECT FEEDBACK FROM USERS CONDUCT FUNCTIONALITY TESTS REVIEW RESULTS AND SUGGEST IMPROVEMENTS.

Makes it difficult to evaluate. Lack of Clear Requirements: Can limit testing efforts. Budget and Time Constraints: Large systems may require more time to evaluate. Software Complexity: Testers may overlook certain parts of software. Human Bias: Technology evolves, making software outdated. Rapid Technological Changes: Not all features or scenarios tested. Incomplete Coverage: Hesitation in adoption or feedback. User Resistance: COMMON CHALLENGES IN SOFTWARE EVALUATION

EXAMPLE CASE STUDY: EVALUATING AN E-COMMERCE WEBSITE Ensures core features like registration, shopping cart, and payment gateways work properly, such as verifying smooth transactions and item updates. Identifies vulnerabilities and ensures data protection, like scanning for SQL injection or verifying encrypted payment details. Testing website speed and responsiveness under high traffic, such as simulating thousands of users during a sale. Gathering user feedback on navigation and design to ensure the site is intuitive, visually appealing, and easy to use. FUNCTIONALITY TESTING SECURITY TESTING PERFORMANCE TESTING USABILITY TESTING:

FLOWCHART PERFORMANCE IMPROVED WEBSITE USABILITY FUNCTIONALITY SECURITY EVALUATION AREAS

BENEFITS OF SOFTWARE EVALUATION Early detection of bugs and issues. Ensures the software meets user needs. BENEFITS IMPROVED QUALITY Reduces the risk of costly post-release fixes. Helps meet industry standards and regulations. USER SATISFACTION COST SAVINGS COMPLIANCE

PLANNING SOFTWARE EVALUATION LIFECYCLE DESIGN DEVELOP IMPLEMENT REVIEW FEEDBACK SOFTWARE EVALUATION LIFECYCLE 1. PLANNING PHASE: Set evaluation objectives and criteria 2. DESIGN PHASE: Define evaluation methods 3. IMPLEMENTATION PHASE: Perform the evaluation 4. REVIEW PHASE: Analyze results and make necessary adjustments 5. FEEDBACK PHASE : Provide recommendations for improvements

FUTURE TRENDS IN SOFTWARE EVALUATION The future of software evaluation is driven by innovation, ensuring faster, smarter, and more reliable testing processes. Automating repetitive tests, detecting bugs, and predicting failures based on data. Continuous testing for modern systems to address issues immediately. AI AND MACHINE LEARNING REAL-TIME EVALUATION Advanced tools that predict and prevent issues for more robust software. INTELLIGENT TESTING TOOLS

CONCLUSION RECAP: FINAL THOUGHTS: What is Software Evaluation? Key Aspects of Evaluation Types of Evaluation Evaluation Process Software evaluation is not just about assessing a product; it’s about creating value for users and ensuring that technology aligns with real-world needs. By understanding the key aspects, applying structured evaluation processes, and addressing challenges, we can deliver software that stands out in quality, reliability, and performance. Criteria and Techniques Challenges and Benefits Real-world Examples and Future Trends

THANK YOU
Tags