UT-1 Solution
Q1. a. Explain SCRUM in detail.
Scrum
Scrum is the type of Agile framework. It is a framework within which people can address complex adaptive
problem while productivity and creativity of delivering product is at highest possible values. Scrum uses
Iterative process.
Silent features of Scrum are:
       Scrum is light-weighted framework
       Scrum emphasizes self-organization
       Scrum is simple to understand
       Scrum framework help the team to work together
Lifecycle of Scrum:
Sprint: A Sprint is a time-box of one month or less. A new Sprint starts immediately after the completion of
the previous Sprint.
Release: When the product is completed then it goes to the Release stage.
Sprint Review: If the product still has some non-achievable features, then it will be checked in this stage
and then the product is passed to the Sprint Retrospective stage.
Sprint Retrospective: In this stage quality or status of the product is checked.
 Instructor: Jayshree Jha                          Department of Information Technology | APSIT
Product Backlog: According to the prioritize features the product is organized.
Sprint Backlog: Sprint Backlog is divided into two parts Product assigned features to sprint and Sprint
planning meeting.
Advantage of using Scrum framework:
       Scrum framework is fast moving and money efficient.
       Scrum framework works by dividing the large product into small sub-products. It’s like a divide and
        conquer strategy
       In Scrum customer satisfaction is very important.
       Scrum is adaptive in nature because it has short sprint.
       As Scrum framework rely on constant feedback therefore the quality of product increases in less
        amount of time
Disadvantage of using Scrum framework:
       Scrum framework do not allow changes into their sprint.
       Scrum framework is not fully described model. If you want to adopt it you need to fill in the
        framework with your own details like Extreme Programming (XP), Kanban, DSDM.
       It can be difficult for the Scrum to plan, structure and organize a project that lacks a clear definition.
       The daily Scrum meetings and frequent reviews require substantial resources.
b. a)   Explain what is Software Engineering process and characteristics of a software?
  The term is made of two words, software and engineering. Software is more than just a program
 code. A program is an executable code, which serves some computational purpose. Software is
 considered to be collection of executable programming code, associated libraries and
 documentations. Software, when made for a specific requirement is called software product.
 Engineering on the other hand, is all about developing products, using well-defined, scientific
 principles and methods.
        Software engineering is an engineering branch associated with development of software
 product using well-defined scientific principles, methods and procedures. The outcome of software
 engineering is an efficient and reliable software product.
 Instructor: Jayshree Jha                             Department of Information Technology | APSIT
Basic Characteristic of software:
     There is some characteristic of software which is given below:
             1. Functionality
             2. Reliability
             3. Usability
             4. Efficiency
             5. Maintainability
             6. Portability
    c) Differentiate between verification and validation.
    Verification and validation are two critical components of software testing and quality assurance. Though
    they are closely related, they focus on different aspects of the development process. Here's how they differ:
    1. Definition
    Verification: Ensures that the product is being developed correctly according to the specified requirements
    and design. It answers the question: "Are we building the product right?"
    Validation: Ensures that the developed product meets the user's needs and intended purpose. It answers
    the question: "Are we building the right product?"
    2. Objective
    Verification: Focuses on checking documentation, specifications, and code to ensure conformity with the
    initial requirements.
    Validation: Focuses on ensuring the final product functions as expected in the real-world environment.
    3. Techniques Used in Verification:
    Reviews (code reviews, design reviews)
    Walkthroughs
    Inspections
    Static testing (analyzing code without executing it)
     Instructor: Jayshree Jha                              Department of Information Technology | APSIT
Validation:
Functional testing
System testing
User acceptance testing (UAT)
Dynamic testing (executing the code)
4. Timing in Development Lifecycle
Verification: Performed during early stages (e.g., requirement analysis, design phase, and coding).
Validation: Performed after verification, often towards the end of the development cycle.
5. Participants
Verification: Typically involves developers, designers, and QA team members.
Validation: Involves end-users, stakeholders, and QA testers.
6. Tools
Verification: Relies on tools for static analysis, like checklists, requirement traceability matrices, and
modeling tools.
Validation: Utilizes tools for dynamic testing, such as test management software and automated testing
tools.
d) What is agility? How agile development help develop quality software.
Agile software engineering embraces a philosophy that encourages customer satisfaction, incremental
software delivery, small project teams (composed of software engineers and stakeholders), informal
methods, and minimal software engineering work products.
          Agile software engineering guidelines stress on-time delivery of an operational software increment
           over analysis and design
          Agile software engineering combines a philosophy and a set of deployment guidelines.
          The philosophy encourages customer satisfaction and early incremental delivery of software: small,
           highly motivated project teams; informal methods; minimal software engineering work products;
           and overall development simplicity.
 Instructor: Jayshree Jha                            Department of Information Technology | APSIT
       The development guidelines stress delivery over analysis communication between developers and
        customers.
        Agile development help develop quality software because following agility principal points:-
               The highest priority is to satisfy customers through early and continuous delivery of
                valuable software
               Welcome changing requirements even late in development, accommodating change is
                viewed as increasing the customer’s competitive advantage
               Delivering working software frequently with a preference for shorter delivery schedules
                (e.g., every 2 or 3 weeks)
               Business people and developers must work together daily during the project
               Build projects around motivated individuals, given them the environment and support
                they need, trust them to get the job done
               Face-to-face communication is the most effective method of conveying information within
                Working software is the primary measure of progress
               Agile processes support sustainable development, developers and customers should be
                able
                to continue development indefinitely
Q2.a. Draw use case diagram for ATM banking system.
Automated Teller Machine (ATM) also known as ABM (Automated Banking Machine) is a banking system.
This banking system allows customers or users to have access to financial transactions. These transactions
can be done in public space without any need for a clerk, cashier, or bank teller. Working and description of
the ATM can be explained with the help of the Use Case Diagram.
        Let us understand about designing the use case diagram for the ATM system. Some scenarios of
the system are as follows.
Step-1:
The user is authenticated when enters the plastic ATM card in a Bank ATM. Then enters the user’s name
and PIN (Personal Identification Number). For every ATM transaction, a Customer Authentication use case
is required and essential. So, it is shown as include relationship.
Example of use case diagram for Customer Authentication is shown below:
 Instructor: Jayshree Jha                           Department of Information Technology | APSIT
Step-2:
User checks the bank balance as well as also demands the mini statement about the bank balance if they
want. Then the user withdraws the money as per their need. If they want to deposit some money, they can
do it. After complete action, the user closes the session.
Example of the use case diagram for Bank ATM system is shown below:
 Instructor: Jayshree Jha                        Department of Information Technology | APSIT
Step-3:
If there is any error or repair needed in Bank ATM, it is done by an ATM technician. ATM technician is
responsible for the maintenance of the Bank ATM, upgrades for hardware, firmware or software, and
onsite diagnosis.
Example of use case diagram for working of ATM technician is shown below:
    b. Draw the DFD up to Level 1 for Library Management System.
DFD for Library Management System
A Data Flow Diagram (DFD) illustrates how information flows within a system and highlights the
transformations that occur as data enters, moves through, and exits the system. The DFD provides a visual
representation of the system's overall functionality, encompassing the key stages of input, processing, and
output.
Inputs:
         Book Request: This occurs when a student initiates a request for a book, signaling their need for a
          specific resource.
         Library Card: The student is required to present or submit their library card as proof of identity,
          ensuring that the transaction is authorized and properly recorded.
Processing: Within the system, these inputs are processed to fulfill the student's request. The processing
unit is responsible for managing and coordinating the interactions between the student and the library's
resources.
Outputs:
         Book Issuance: The primary output is the book itself, which is provided to the student once their
          request has been processed.
 Instructor: Jayshree Jha                              Department of Information Technology | APSIT
       Book Information Display: Additionally, the library's information system displays relevant details
        about the requested book. This feature aids the student in making informed choices when
        selecting books, thereby streamlining the borrowing process.
By mapping out these components, the DFD not only clarifies the system’s operational flow but also
emphasizes how the system interacts with its users to meet their needs efficiently.
Level 1 DFD – Detailed Processing Overview
At the Level 1 Data Flow Diagram (DFD), the system provides a more detailed view of the essential
processes involved in its operation. This level breaks down the primary functions into more specific tasks,
allowing for a deeper understanding of how data is managed and transformed within the system.
Key Processes:
       Book Delivery: This process involves the steps necessary to ensure that a requested book is located,
        retrieved, and delivered to the student. It encompasses everything from verifying the request to
        physically handing over the book.
       Search by Topic: This process allows users to search for books based on specific topics. It involves
        querying the system's database to retrieve a list of books that match the search criteria.
Essential Information: For these processes to function effectively, the system requires access to various
types of information, including:
       List of Authors: A comprehensive database of authors whose works are available in the library. This
        allows users to search for books by a particular author.
       List of Titles: A catalog of book titles available in the library, enabling students to locate a specific
        book.
       List of Topics: An organized list of topics or categories under which books are classified, facilitating
        topic-based searches.
       Bookshelf Locations: Information about the physical location of books within the library, indicating
        the specific shelves where books can be found.
 Instructor: Jayshree Jha                              Department of Information Technology | APSIT
Data Stores: These pieces of information are stored in the system's data stores, which are repositories
where data is organized and maintained. Data stores play a critical role in ensuring that the necessary
information is readily accessible during the execution of the processes, enabling the system to function
smoothly and efficiently.
By detailing these processes and the associated information, the Level 1 DFD provides a clearer picture of
the system's inner workings, helping stakeholders understand how each component contributes to the
overall functionality.
 Instructor: Jayshree Jha                           Department of Information Technology | APSIT
c)Draw DFD up to level 1 for the Course Enrolment System.
 Instructor: Jayshree Jha                     Department of Information Technology | APSIT
Instructor: Jayshree Jha   Department of Information Technology | APSIT
Instructor: Jayshree Jha   Department of Information Technology | APSIT
3 a. Given the following values, compute function point when all complexity adjustment factor (CAF)
and weighting factors are average. User Input = 50, User Output = 40, User Inquiries = 35, User Files = 6,
External Interface = 4
User Input = 50
User Output = 40
 Instructor: Jayshree Jha                          Department of Information Technology | APSIT
User Inquiries = 35
User Files = 6
External Interface = 4
Explanation:
       Step-1:
          TDI = 14 * scale
          Scale varies from 0 to 5 according to character of Value Adjustment Factor (VAF). Below
          table shows scale:
            0 - No Influence
            1 - Incidental
            2 - Moderate
            3 - Average
            4 - Significant
            5 - Essential
As Value adjustment factor is average (given in question), hence scale = 3.
           TDI = 14 * 3 = 42
           Step-2:
            VAF = 0.65 + (0.01 * 42) = 1.07
           Step-3: As weighting factors are also average (given in question) hence we will multiply each
            individual function point to corresponding values in TABLE.
            UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628
           Step-4:
 Instructor: Jayshree Jha                          Department of Information Technology | APSIT
            Function Point = 628 * 1.07 = 671.96
            This is the required answer.
b)      Compute the function point value for a project with the following data. User Input=24(Avg), User
Output = 46(low), User Inquiries = 08(high), User Files = 4(Avg), External Interface = 2(High). Various
processing complexity factors are: 4, 1, 0, 3, 3, 5, 4, 4, 3, 3, 2, 2, 4, 5.
UFP=24*4+46*4+8*6+4*10+2*10=388
TDI=sum of all fi (i ← 1 to 14) = 4 + 1 + 0 + 3 + 5 + 4 + 4 + 3 + 3 + 2 + 2 + 4 + 5 = 43
FP=Count-total*[0.65+0.01*∑(fi)]
=378*[0.65+0.01*43]
       =388*[0.65+0.43]
        = 388 * 1.08 = 419
Productivity (P) = FP /Effort
               =419.04/36.9
               =11.35
Total Page of Documentation (PD) = Software Technical Documents + User related documents        = 265 +
122 = 387 pages
Documentation (D) = PD/FP
                      = 387/419.04 = 0.923
Cost of each Functionalities = COST/Productivity
                                =$7744/11.35
                                 =$682.29
 Instructor: Jayshree Jha                           Department of Information Technology | APSIT