Friday, April 21, 2023

Objective 1

Tick the correct answer. 

1. Which of the statements are used in DML statement?

a) Select, drop, where     b) Select, insert, delete     c) Select, drop, update         d ) Select, insert, drop

2. With SQL, how do you select all the records from a table named "employee" where the value of column "ename" is "john"?

a) Select * from employee where ename is exactly john;

 b)Select * from employee where ename is equal to john ;

c) Select * from employee where ename='john';

d)Select * from employee where ename is not in john;

3. What is the first step in the software development lifecycle?

a) System design                 b) System testing             c) Coding                     d) System analysis

4. What is the minimum number of functions to be present in a C program?

a. 1                              b. 2                             c. 3                                 d. 4

5. What kind of transmission medium is most appropriate for carry data in a computer network that is exposed to electrical interference?

  1. Unshielded twisted pair b. Optical fiber c. Coaxial cable d. Microwave.

6. What should be the correct syntax to write a PHP code?

a. <php>                  b <?php ?>                                 c. <? ?>                                 d. Php


7. Which jQuery method is used to hide selected elements?

a. hidden                     b. display(none)                         c. hide                                         d. visible(false)


8. Which Key is used to uniquely identify a record?

a. Primary key         b. Foreign Key                 c. Both a. and b.                 d. None of the mentioned


9. Which of the following is not an unguided communication media?

a. Twisted pair wire                 b. Satellite                 c. Microwave                 d. Bluetooth


10. What is the full form of SaaS?

a. Software as a service

b. System as a service

c. Security as a service

d. Storage as a service

11Which of the following is not a DDL command?

a. Update b. Truncate c. Alter d. None
12. In hierarchical model, records are organized as a. Table b. List c. Link d. Tree
13. In which topology devices are connected through the hub? a. Star topology b. Mesh topology c. Ring topology d. Bus topology
14. Write output Main() { Char *p; P=”Nepal”; Printf(“%c”,*&*p);}
a. Nepal b. N c. Some address will be printed d. None of the above
15. What are the two method of form access? a. Get/Post b. Get/Set c. Post/Set d. Give/Post
16. The context diagram is known as the…………..? a. Level-0 DFD b. Level-1 DFD c. Level-2 DFD d. Level-3 DFD
17. In OOP, what is the difference between a class and an object? a. A class is a blueprint for creating objects, while an object is a specific instance of a class. b. A class and an object are the same thing. c. A class is an object, and an object is a class. d. A class represents data, while an object represents behavior.

18. Which of the following is true for first normal form?
    a. Eliminate repeating group.
    b. Eliminate partial functional dependency.
    c. Eliminate transitive dependency
    d. Eliminate multi value dependency.

19. Which of the following is true for Second normal form?
    a. Eliminate repeating group.
    b. Eliminate partial functional dependency.
    c. Eliminate transitive dependency
    d. Eliminate multi value dependency.

20.Which of the following is true for Third normal form?
    a. Eliminate repeating group.
    b. Eliminate partial functional dependency.
    c. Eliminate transitive dependency
    d. Eliminate multi value dependency.

  1. b) Select, insert, delete
  2. c) Select from employee where ename='john
  3. d) System analysis
  4. b. 1
  5. b. Optical fiber
  6. b, <?php ?>
  7. c. hide
  8. a. Primary key
  9. a. Twisted pair wire
  10.  a. Software as a Service
  11. a. Update
  12. d. Tree
  13. a. Star topology
  14. b. N
  15. a. Get/Post
  16. a. Level-0 DFD
  17. a. A class is a blueprint for creating objects, while an object is a specific instance of a class.
  18. a. eliminate repeating groups
  19. b. eliminate partial functional dependency
  20. c. eliminate transitive dependency

  

Javascript to reverse the string

 <html> 

<head> <title>Reverse String Example</title>

 </head> 

<body> 

<input type="text" id="inputString"> 

<button onclick="reverse()">Reverse</button>

<script>

 function reverse() 

var a = document.getElementById("inputString").value; 

var reversed = a.split("").reverse().join(""); 

document.write(reversed);

 } 

</script> 

</body>

 </html> 

note: In this approach, we're splitting the string into an array of individual characters using the split("") method, then reversing the order of the array using the reverse() method, and finally joining the characters back into a string using the join("") method with an empty string as the separator. This produces the reversed string as the final output.
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4371523905678056"
     crossorigin="anonymous"></script>

Tuesday, April 18, 2023

Model question set -1

 


1. In which normal form of database, atomicity is introduced?

A) First

B) Second

C) Third

D) Fourth

2. Which of the following techniques is not implemented to protect a database?

A) Rollback

B) Backup

C) Recovery

D) Firewall

3. Which one of the following SQL commands is executed to display all the records having a second letter in the LNAME (LAST NAME) as “A” from the customer table?

A) SELECT * FROM CUSTOMER WHERE LNAME LIKE “?A%”;

B) SELECT * FROM CUSTOMER WHERE LNAME LIKE “_A%”;

C) SELECT * FROM CUSTOMER WHERE LNAME LIKE “A%”;

D) SELECT * FROM CUSTOMER WHERE LNAME LIKE “%A”;

4. Which of the following is an incorrect IP address?

A) 192.168.0.1

B) 192.168.1

C) 172.255.0.0

D) 202.10.79.4

5. Which of the following is a server-side scripting language?

A) JavaScript

B) MySql

C) PHP

D) Jquery

6. Which of the following keywords are used to declare a variable in JavaScript?

A) int or var

B) float or let

C) var or let

D) char or var

7. Which of the following commands is executed in PHP to concatenate the variables $x with $y??

A) $x + $y

B) $x=$y

 C) concat ($x,$y)

  D) $x.$y

8. Which statement is incorrect about the object-oriented approach?

A) Emphasis is on data rather than procedure.

B) Data is hidden and cannot be accessed.

C) Objects communicate through functions.

D) It supports abstract data but not the class.

9. Which of the following feasibility study is concerned with cost benefit analysis?

A) Technical feasibility

B) Economic feasibility

C) Operational feasibility

D) Schedule feasibility


Group B

Short Answer Questions


10. Which type of database system (centralized or distributed) is mostly preferred by financial institution like a bank? Give any four suitable reasons.


Solution: Financial institutions like banks mostly prefer a distributed database system over a centralized one. Here are five reasons why:


1. High Availability and Reliability – If one server fails, other servers in the distributed system can continue functioning, ensuring uninterrupted banking services.



2. Faster Access and Performance – A distributed database stores data across multiple locations, reducing latency and improving response times for customers accessing services from different regions.



3. Data Redundancy and Backup – Distributed databases often have multiple copies of data, reducing the risk of data loss in case of system failure.



4. Scalability – Banks can easily expand their database system as they grow, adding new branches and services without overloading a single central system.



5. Security and Compliance – Sensitive financial data can be stored in different locations to comply with regional regulations and enhance security by limiting exposure to a single attack point.




Would you like me to refine this further based on any specific exam or study requirements?



Solution: Relational databases are widely used by business organizations due to their several advantages. Here are some reasons why business organizations prefer applying relational model for database design:

Flexibility: Relational databases are flexible because the data is stored in tables that can be easily joined together via a primary key or a foreign key.

Scalability: Relational databases can handle large amounts of data and can be easily scaled to meet the changing requirements of a business.

Ease of use: Relational databases are easy to use and understand, and they provide a simple and intuitive way to organize and access data.

Data integrity: Relational databases enforce data integrity by ensuring that data is consistent and accurate across all tables.

11. Develop a program in JavaScript to exchange/swap the values of any two variables.


Solution: The JavaScript program to exchange/swap the values of any two variables is:

<html>

<head>

<title> JavaScript program to exchange/swap the values of any two variables</title>

</head>

<body>

<script>

let a = 5;

let b = 10;

document.write("Before swap: a =" + a + "and b =" + b);

let temp = a;

a = b;

b = temp;

document.write("After swap: a ="+  a + "and b ="+b); 

</script>

</body>

</html>  


OR


How can you connect a database with PHP? Demonstrate with an example.


Solution:

To connect MySQL database with PHP, you can use the following steps:

(1)Create a new PHP file and write the following code to establish a connection with MySQL:

<?php

$servername = "localhost";

$username = "your_username";

$password = "your_password";

$dbname = "your_database_name";


$conn = mysqli_connect($servername, $username, $password, $dbname);


if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

(2) Replace "your_username", "your_password", and "your_database_name" with your actual MySQL username, password, and database name.

(3) Save the PHP file and run it in a web browser. If the connection is successful, you should see the message "Connected successfully" displayed in the browser.


12. Describe the concept of Object Oriented and Procedure Oriented Programming in brief.


Solution:

Object oriented programming is a programming paradigm that was developed to overcome the drawbacks and limitations of particularly procedure-oriented programming. The major need for developing such languages was to manage the ever-increasing size and complexity of programs.

Procedural programming is a programming paradigm that organizes software design around procedures. Procedures are self-contained units of code that perform a specific task. Procedural programming is based on the concept of "functions" that take inputs and produce outputs. Functions are called by other functions to perform tasks.

The main difference between OOP and procedural programming is their approach to code organization. In procedural programming, the program is divided into small parts called functions. In OOP, the program is divided into small parts called objects. Procedural programming follows a top-down approach while OOP follows a bottom-up approach.


13. Write down any five qualities of good software.


Solution: Good software is characterized by several key attributes. Here are five qualities of good software:

Functionality: The software meets the requirements and specifications that it was designed for, and it behaves as expected when it is used in its intended environment.

Usability: The software is easy to use and understand, and it provides a positive user experience.

Reliability: The software is free of defects and it performs consistently and accurately under different conditions and scenarios.

Performance: The software runs efficiently and quickly, and it can handle large amounts of data or traffic.

Security: The software is protected against unauthorized access and it keeps the data and functions safe from malicious attacks.

14. Explain mobile computing with its advantages and disadvantages.


Solution: Mobile computing is the form of human-computer interaction by which a computer is expected to be transported during normal usages. Mobile computing is a generic term describing one's ability to use technology while moving, as opposed to portable which is the only particle for use while deployed in a stationary configuration.

Advantages

Increase in Productivity- Mobile devices can be used out in the field of various companies, therefore reducing the time and cost for clients and themselves.

Entertainment- Mobile devices can be used for entertainment purposes, for personal and even for presentations to people and clients.

Portability- This would be one of the main advantages of mobile computing, you are not restricted to one location for you to get jobs done or even access email on the go.

Cloud Computing- This service is available for saving documents on a online server and being able to access them anytime and anywhere when you have a connection to the internet and can access these files on several mobile devices or even PCs at home.

Quick Service- We can sell a product or give service in quicker time by using mobile computing.

Social Interactivity – it is very useful tool for social interactivity that allows for data sharing and collaboration between users.

Disadvantages


Quality of connectivity- as one of the disadvantages, mobile devices will need either WiFi connectivity or mobile network connectivity such as GPRS, 3G and in some countries even 4G connectivity that is why this is a disadvantage because if you are not near any of these connections your access to the internet is very limited.

Security concerns- Mobile VPNs are unsafe to connect to, and also syncing devices might also lead to security concerns.

Power Consumption- due to the use of batteries in these devices, these do not tend to last long, if in a situation where there is no source of power for charging then that will certainly be a letdown.

Human interface with device- These are still uncommon; screens are often too small. Keyboards are impractical, especially one handed.


Group C

Give the long answers to the following questions.


15. Why do most of the business organizations prefer setting their network with the client-server architecture? Write its advantages and disadvantages.


Solution:

Client-server architecture is a type of computer network architecture where many clients (remote processors) request and receive service from a centralized server (host computer). Many business organizations prefer setting their network with the client-server architecture due to its several advantages. Here are some advantages and disadvantages of client-server architecture:

Advantages:


Centralization: The main advantage of client-server network is the centralized control that it is integrated with. All the necessary information is placed in a single location.

Security: In client-server network, the data is well protected due to its centralized architecture. It can be enforced with access controls such that only authorized users are granted access.

Scalability: Client-server networks are highly scalable. Whenever the user needs they can increase the number of resources such as clients and servers.

Management: Since all the files are stored in the central server, it is rather easy to manage files.

Disadvantages:


Cost: Setting up a client-server network can be expensive as it requires specialized hardware and software.

Maintenance: Maintaining a client-server network can be complex and may require dedicated IT staff.

Single point of failure: Since all data and services are centralized on the server, if the server fails, all clients will be affected.

16. Develop a program in C using structure to ask the information of any 12 students with roll_number, name and marks scored in sub1, sub2, and sub3. Also, display them in proper format along with the calculation of total and percentage. [Note: the full marks of each subject is 100].


Solution:

#include <stdio.h>

#include<conio.h>

void main()

{

struct student {

  int roll_number;

  char name[50];

  float   sub1,sub2,sub3;

}s[12];

  int i;


  // input student data

  for (i = 0; i < 12; i++) 

{

printf("enter roll no");

scanf("%d",&s[i].roll_number);

printf("enter name");

scanf("%s",s[i].name);

            do

                {        printf("enter sub1 sub2 and sub3");

                        scannf("%f%f%f",&s[i].sub1,&s[i].sub2,&sub3);

    }while(s[i].sub1>=0 ||s[i].sub1<=100)  ||(s[i].sub2>=0 ||s[i].sub2<=100)||(s[i].sub2>=0 ||s[i].sub2<=100);

   }


  // print student data

  printf("\nRoll No.\tName\t\tSub1\tSub2\tSub3\tTotal\tPercentage\n");

  for (i = 0; i < 12; i++) 

{

    float total = s[i].sub1 + s[i].sub2 + s[i].sub3;

    float percentage = total / 3;

    printf("%d\t\t%s\t\t%f\t%f\t%f\t%d\t%.2f%%\n", s[i].roll_number, s[i].name, s[i].sub1, s[i].sub2, s[i].sub3, total, percentage);

  }


  getch();

}

OR


Demonstrate a program in C to create a data file named score.dat to store students’ information with Reg_no, name, gender, and address. The program should ask the user to continue or not. When finished, the program should also display all the records in the proper format.


Solution:

#include <stdio.h>

  #include <conio.h>

  void main()

{

      int reg_no;

      char name[50];

      char gender[10];

      char address[100];

        char choice:

      FILE *fp;

      fp = fopen("score.dat", "w");

      if (fp == NULL) 
{
          printf("Error opening file.\n");
          exit(1);
     }

      do 

        {

         

          printf("enter Reg_no: ");

          scanf("%d", &reg_no);

          printf("enter Name: ");

          scanf("%s", name);

          printf("enter Gender  ");

          scanf(" %s", gender);

          printf("enter Address: ");

          scanf("%s", address);

           fprintf(fp,"%d%s%s%s",reg_no,name,gender,address);

          printf("\nAdd another record (Y/N)? ");

          choice=getche();

      } while (choice == 'Y' || choice == 'y');

      fclose(fp);

      fp = fopen("score.dat", "rb");

      if (fp == NULL) {

          printf("Error opening file.\n");

          exit(1);

      }

      printf("reg no\t name\t gender \t address\n");

      while ( fscanf(fp,"%d%s%s%s",&reg_no,name,gender,address)!=EOF) 

{

          printf("%d\t%s\t%s\t%s\n",reg_no,name,gender,address);

}

      fclose(fp);

    getch();

  }



Sunday, April 16, 2023

Software process model

 6.1 Software Project Concept

Software Project: Software project is group of tasks that need to be accomplishes in order to get a fully functional software product. Software projects can vary from small to large and can be operated by one or more person. Software projects are usually led by Software Project Manager who ensures the completion of software project on time fulfilling the requirements of the targeted clients.

Software Development Process

Software development process defines a sequence of tasks that must be carried out to build new software.

  • It groups the development activities into a sequence of phases.
  • A phase in sequence can only commence on the previous phase has been completed.
  • A report is produced at the end of each phase, describing what has been achieved and outlining the plan for the next phase.

 Fundamental activities for the software development process are

  •  Software Specification: The functionality or software and constraints on its operations must defined.
  • Software design and implementation: The software to meet the specifications must produce.
  • Software validation: The software must be validated to ensure that it does what the customer wants.
  • Software evolution: The software must evolve to meet changing customer needs.

 SDLC(Software/System Development life cycle)

SDLC (Software/System Development Life Cycle) is an organized way to develop a software/system. System Development Phase or System Development Life Cycle or Software Development Life Cycle (SDLC) is a methodology used to develop, maintain, and replace software/information systems.

  •  It is a systematic process of developing any software. It helps in establishing a system, or software or project, or plan. It gives an overall list of processes and sub-processes required for developing a system.
  • SDLC consists of a set of development activities that have a prescribed order. It is the development of software in chronological order.


 Importance and the necessity of SDLC

 

1.      It helps to determine the needs of the user.

 

2.      It supports constant communication between the developer and the user.

 

3.      SDLC helps for easy identification of missing requirements.

 

4.      It ensures that the software meets the needs of its users.

 

5.      It supports proper analysis and design of the software.

 

6.      It ensures proper development and testing.

 

7.      Proper documentation support for future upgrade and maintenance.

 

8.      It provide flexibility for adding features even after the software is developed.

 

SDLC Phases




1. System study:
It is the preliminary way of handling the user request to change, improve or enhance existing system. The objective is to determine the user requirement, whether the request is valid and feasible. In this phase, problem definition is well understood, as system intended to meet the need of an organization. Thus, the first step in the design is to specify these needs for requirements. The top manager of an organization takes the basic decision to use a computer-based information system for managing the organization. During this phase the objective of the system are identified. In general system Investigation studies, the following questions. What is to be done in the future?

How to do it?

When to do it?

Who will do it?

2. System analysis: The process of analyzing a system and trying to find a way to modify it or create a new system to meet the users need. In other words, the investigation into  system operation and possible changes to the system is called system analysis. The system is made up of many interrelated task, change to any one of this task to the addition of new task may affect the existing one. Therefore, it is necessary to understand the system and its problem which will help to reduce the failure due to any risk and uncertainties. Main activities which are undertaken in this phase. 

  • Definition of output requirements such as content, layout design etc.
  • Specification of input data such as source, format etc.
  • Development of overall logic.
  • Develop step by step algorithm and flowchart.
  • Develop a general test requirement.
3. System design: System design is concerned with the design of new system. It involves designing of various things such as output design, input design, files design, processing, and general program design etc. It consists of two parts: logical design and physical design.
  • Logical Design: Theoretically designing of the system is called logical design. The system could be designed based on the requirements.
  • Physical Design: The conversion of logical design into designing tools and techniques is called physical design. It is more detail and complex jobs describing the solution of the problem. It uses algorithms, flowcharts, pseudo codes, decision table, decision tree, E-R diagram, Data flow diagram etc.

Theoretically designing of the system is called logical design. The system could be designed based on the requirements. The conversion of logical design into designing tools and techniques is called physical design. It is more detail and complex jobs describing the solution of the problem.

To create the logical design different kinds of tools are used.

 Algorithm          Decision Table

 Flowchart          Decision Tree

 Pseudo codes    Data flow diagram

 Structured English         E-R diagram

4. System Development:    the process of writing programs using actual programming language is called system development. This is also called the programming phase in which the programmer converts the program specification into computer instruction, which we refer to as program. The programs co-ordinate the data movement and control the entire process in a system. A well written code reduces the testing and maintenance effort. This helps in fast development, maintenance and future changes if required programming tools like compiler, interpreter and languages like C, C++, Java script, PHP etc. are used for coding. With respect to the type of application, appropriate programming language should be chosen.

5. System testing: This steps includes whether the developed system can fulfill the user requirement or not. The testing is the process of validating the correctness of program. It's objective is to demonstrate that the program meets its designed specification. It is an investigation conducted to provide stake holder with information about the quality of the product or service under test. Some of the objective of system testing are :

  • To check whether developed system fulfills the user requirement or not.
  • To check whether developed system works as expected.

Some testing methods are:

a) Black box testing: Black box testing treats the software as a black box without any knowledge of internal implementation. It is also called functional testing because it tests whether a system is functioning or not. Here in this type of testing several known input is provided and checked whether the system generates expected output or not.

b) White box testing: In white box testing, procedural details are checked logical path through the software and between several components are tested through codes, statements and syntax analysis. White box testing is used when the tester has to the internal data structure and algorithms including the code that implement this. It is also called glass box testing.

6. System implementation: Implementation involves testing the installed system, converting from the old system to the new one and training the users. This phase consists of implementation of the system into a production environment, and resolution of the problem identified in testing phase.

                Types of System Implementation:

  • Direct Conversion: All users stop using old system at the same time and then begin using the new. This option is very fast, less costly but more risky.
  •  Parallel conversion: Users continue to use old system while an increasing amount of data is processed through the new system. Both the systems operate at the same time until the new system works smoothly. This option is costly but safe approach.
  •  Phased conversion: Users start using the new system component by component. This option works only for systems that can be compartmentalized. This option is safe and conservative approach.
  •  Pilot conversion: Personnel in a single pilot-site use the new system, and then the entire organization makes the switch. Although this option may take more time, it is very useful in big organizations where a large number of people make the conversion.
7. System Maintenance: When the system is implemented, maintenance and modification begins. like any system, there is an aging process that requires periodic maintenance of hardware and software. There may be need of new modification which are done in this phase. The software and hardware requires periodic maintenance to as to keep in tune with design specification and to innovate new ideas into the system. The different types of maintenance are:
    Types of Maintenance

  • Corrective Maintenance: it corrects the run time errors during the operation.
  • Adaptive Maintenance: It modifies or adds new features in the system.
  • Perfective Maintenance: It makes the system perfect, up-to-date and improve the life of the system.

 System development model

A software process model is a representation or abstraction of the software development process. It defines the various stages and activities involved in developing software, as well as the relationships between these stages and activities. Different process models exist, each with its own set of characteristics, advantages, and disadvantages. Here are some common software process models:

  • waterfall model
  • prototype model
  • agile model
  • spiral model(The Spiral model is a risk-driven software development process model that combines elements of both iterative and waterfall models. )
 Waterfall model: The Waterfall model is a traditional sequential software development process model. It follows a linear and sequential approach, where progress flows steadily downwards through several distinct phases. Each phase must be completed before the next one begins, and typically there is no going back to previous phases once they are completed. The phases of the Waterfall model typically include:

  



                                            figure: waterfall model


Different  phases of waterfall model.

  1. Requirements: Gathering and documenting the requirements for the software system.
  2. Design: Creating a detailed design of the software based on the gathered requirements.
  3. Implementation: Writing and coding the software based on the design specifications.
  4. Testing: Conducting various tests to identify and fix defects or issues in the software.
  5. Deployment: Deploying the software to the production environment for actual use by end-users.
  6. MaintenanceMaintenance in software development refers to the ongoing process of supporting, updating, and improving software products after they have been deployed.

Advantages

 

  1.   It is simple model suitable for small size project.
  2.   It is less expensive.
  3.  Provides a structured approach to software development.
  4. Emphasizes documentation, aiding in project understanding and maintenance

Disadvantages

  1.     It has no back track mechanism.
  2.      It is not suitable for large size project.
  3.     It has lack of proper documentation.
  4.  lack of client involvement until late in the process.
  5. Higher risk of delivering a product that doesn't meet user needs.


Prototyping Model: It is the iterative process of system development which is more appropriate for developing new system where there is no clear idea of requirements, inputs and outputs. These systems are then continuously modified until the user is satisfied. This model is applied when there is an absence of detail information regarding input and output requirement of a software. It doesn't cover any risk management.

 

  • Identify user problem: The system analyst interviews the user to obtain an idea of what is required from the system.

  • Develop a prototype: The system analyst, working with other information specialist uses one or more prototyping tool to develop a prototype.
  • Determine if prototype is acceptable: The system analyst educates the user in prototype and provides an opportunity becoming familiar with the system. The user advises the analyst whether the prototype is satisfactory or not. If yes then the prototype will be used if not again the loop continues from beginning.
  • Use the prototype: The prototype becomes operational system.

Advantages

  • The users get a better understanding of the system being developed.
  • Errors can be detected much earlier as the system is made side by side.
  • Quicker user feedback is an available leading to better solutions of the system.

                Disadvantages

  • It leads to implementing and repairing way of building systems.
  • It may increase the complexity of the system as scope of the system may expand beyond original plans.

 Agile modelAgile model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. It breaks the product into small incremental builds. these builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas.

 In the Agile model, the requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams. Customer satisfaction is the highest priority, and the team works closely with the customer or product owner to ensure that the product meets their needs.


steps involved in agile model

  • planning
  • requirement analysis
  • designing
  • building/coding
  • testing

here are the key principles of Agile software development

  • Deliver working software frequently, in short iterations.
  • Embrace changing requirements, even late in development.
  • Collaborate closely with customers and stakeholders throughout the project.
  • Build projects around motivated individuals and trust them to get the job done.
  • Prioritize face-to-face communication within the team.
  • Measure progress by working software rather than documentation.
  • Maintain a sustainable pace to ensure long-term productivity.
  • Focus on technical excellence and simplicity to enhance agility.

 The advantages of the Agile Model are as follows −

  • Flexibility and adaptability to changes in requirements and market conditions
  • Increased customer satisfaction through regular feedback and working software delivery
  • Improved collaboration, communication, and decision-making among team members and stakeholders
  • Faster time to market through smaller, more frequent releases of working software
  • Early and continuous testing for improved quality and defect identification
  • Greater transparency and visibility into the development process and progress
  • Empowered, self-organizing teams with a sense of ownership and motivation

The disadvantages of the Agile Model are as follows −

  • Lack of predictability in terms of cost, schedule, and scope
  • Dependency on team dynamics and collaboration
  • Need for experienced team members
  • Documentation challenges for compliance or regulatory reasons
  • Potential for scope creep
  • Customer availability and engagement challenges
System Analyst:
System analyst is person who is involved in analyzing, designing, implementing and evaluating computer-based information systems to support the decision-making activities and operations of an organization.

 The characteristics (attribute


s) of system analyst are as follows:

1.      Knowledge of organization.

2.      Technical Knowledge.

3.      Interpersonal Communication Skill.

4.      Character and Ethics.

5.      Problem-Solving Skill.

1.      Defining the problem

2.      Analyzing the problem

3.      Considering Many alternatives

4.      Evaluating many alternative

5.      Choosing the best alternatives

6.      System analysis and Design skills


 Dutie


s and Responsibilities of System


Analyst

1.      Defining Requirements

2.      Prioritizing Requirements

3.      Analysis and Evaluation

4.  Solving Problems

5.      Drawing up functional specification

6.      Designing System

7.      Evaluating System


 System Analyst vs Software Engineer

The major difference between a software engineer and a software analyst is that the engineer’s responsibilities lie with developing and programming the software. In some cases, the term software engineer and programmer or developer are interchangeable. An analyst, meanwhile, is more responsible for documenting the progress of a project for quality control and relaying information about the end users’ preferences to the engineer or programmer. A software analyst may also not be as technically gifted or proficient with programming as the engineer.

Software EngineerSystems Analyst
Software Engineers are primarily responsible for developing and maintaining software systems.Systems Analysts primarily focus on analyzing business requirements and designing system solutions.
Software Engineers concentrate on software development and implementation.Systems Analysts focus on business process analysis and system design.
Software Engineers are tasked with coding, testing, debugging, and deploying software applications.Systems Analysts are responsible for tasks such as requirements gathering, documentation, and system integration.
Software Engineers collaborate closely with development teams to ensure effective software development.Systems Analysts act as liaisons between stakeholders and technical teams to facilitate communication and understanding.
Software Engineers require proficiency in programming languages, frameworks, and problem-solving skills.Systems Analysts require strong analytical, communication, and documentation skills to effectively gather requirements and design solutions.

 

 

Requirement Collection methods
Requirement collection methods refer to the techniques and processes used to gather information about the needs, preferences, and expectations of stakeholders for a particular project or system. The collected requirements are then used to guide the development of the project or system, ensuring that it meets the needs of its intended users. various methods are as follows:

1.     Interviews: These conversations provide in-depth insights into stakeholder perspectives and expectations.

2.     Surveys and Questionnaires: Surveys and questionnaires can be sent out to a large group of stakeholders to gather information about their needs and preferences. This method can be useful when collecting information from a large number of people.

3.     Workshops and Focus Groups: Workshops and focus groups are interactive sessions where stakeholders can collaborate and brainstorm ideas. These sessions can be facilitated by a system analyst and can result in valuable insights into user needs and preferences.

4.     Observation: Direct observation allows for understanding user behaviors and uncovering unarticulated needs.

5.     Prototyping: Creating a prototype or mock-up of the system can help users visualize the end product and provide feedback on what they like and dislike about the design. This approach can be useful when collecting requirements for a new system or feature.

6.     Document Analysis: Examining existing documentation, such as business plans, user manuals, or technical specifications, can provide valuable insights into the requirements for a system.

7.     Use Cases: Use cases are scenarios that describe how users interact with the system. They can be used to identify user needs and requirements, as well as potential areas for improvement.

8.     Brainstorming: is a technique used to generate ideas and solve problems by encouraging free and open discussion among a group of people. During a brainstorming session, participants are encouraged to share any ideas that come to mind, no matter how unconventional or unrealistic they may seem. The goal is to generate as many ideas as possible, without judgment or criticism.

 


Software and Quality:

Software quality refers to the degree to which a software product meets its intended requirements, meets the needs of its users, and is free from defects and errors. Quality software is reliable, efficient, maintainable, and scalable, and it satisfies the functional and non-functional requirements specified by stakeholders. The quality of software is typically measured by evaluating its performance, functionality, usability, reliability, security, and maintainability.

Good software is characterized by several key attributes, including:

  1. Functionality: The software meets the requirements and specifications that it was designed for, and it behaves as expected when it is used in its intended environment.
  2. Usability: The software is easy to use and understand, and it provides a positive user experience.
  3. Reliability: The software is free of defects and it performs consistently and accurately under different conditions and scenarios.
  4. Performance: The software runs efficiently and quickly, and it can handle large amounts of data or traffic.
  5. Security: The software is protected against unauthorized access and it keeps the data and functions safe from malicious attacks.
  6. Maintainability: The software is easy to change and update, and it is well-documented, so that it can be understood and modified by other developers.
  7. Reusability: The software can be reused in other projects or applications, and it is designed in a way that promotes code reuse.
  8. Scalability: The software can handle an increasing workload and it can be easily extended to meet the changing requirements.
  9. Testability: The software is designed in a way that makes it easy to test and validate, and it has a comprehensive test coverage.

Feasibility study:

Feasibility study is the most important activity in the system analysis phase. It analyses the proposed system from different aspects so that it makes us clear that how practical or beneficial the system will be to the organization. So it tells us whether the system is feasible to design nor not. Thus it is necessary before system design.

The different(types) levels of feasibility study are as:

1.      Economic feasibility: it concerns with cost effectiveness of the system. The main objective of economic feasibility is to calculate approximate cost-both the development cost and the operational cost and the benefits from the system.

2.      Technical feasibility: it concerns with the availability of the hardware, software and the support equipment for the complete development of the system.

3.      Operational feasibility: it concerns with smooth operation of the system. It is all about the problems that may occur during operation of the system after its development.


4.      Behavior feasibility: it concerns with behavior of the users and the society towards the new system. Generally, most of the traditional employees are not easily ready to upgrade them with the new system.

5.      Schedule feasibility: it is the process of splitting project into tasks and estimate time and resources required to complete each task. It determines the deadline to complete a system and schedule the task accordingly.

6.      Legal feasibility: it concerns with legal issue of the system. If the system is illegal then the system designing is meaningless. Everything is measured whether it is legal or illegal. It considers copyright law, foreign law, foreign trade, tax, etc.

System Design Tools:

The tools which are used to design the system in known as system design tools. They are used during system analysis and design phase of the system development.

1.      Algorithm: An algorithm is defined as the finite sequences of instructions for solving a problem.

2.   Flowchart: A flowchart is the pictorial representation of an algorithm which is classified into two types’ system flowchart and program flowchart.  

I)                   System flowchart: System flowchart describes the internal architecture of a system that describes how data are moved inside the internal components of a system.

II)                 Program flowchart: Program flowchart describes to solve the application types of real world problem.

3.  DFD (Data flow diagram):DFD is the logical diagram to describe the flow of data inside the components of system. It is easier to understand or grasp when being explained and most important to all, it is much more precise and less ambiguous than a narrative one. The main components are: process, data store, data flow, external entities.

4.      Context Diagram: It is combination of many other DFD. It is the highest level of DFD. It contains only one process, representing the entire system, the process is given the symbol circle. The external entities are denoted by rectangle. The flow of data is described by arrow.

5.      ER (Entity Relationship) diagram: The E-R diagram is an overall logical structure of a database that can be expressed graphically. It was developed to facilitated database design and the simplicity and pictorial clarity of this diagramming technique have done great help in the designing part of database. The main components are attributes, entities and relationship.

 6.      Case diagram: Computer aided software engineering tool is automatic computer based program that helps for software engineering and SDLC process. It is very fast and effective tools for the development of big scale software. It helps in analysis, design, implementation, testing and maintenance.

 

7.      UML: Unified Modeling Language is a standardized general purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created by, the object management group. UML includes a set of graphic notation techniques to create visual models of object-oriented software.

8.      Decision Table: A table allows us to identify the exact course of actions for given conditions in tabular form. Decision table is a tabular representation of the logic of a decision, which specifies the possible conditions for the decision and the resulting actions.

9.      Decision Tree: Decision tree is also a technique to represent condition and actions in a diagrammatic form in computer. A decision tree allows us to identify the exact course of actions for given conditions in tree structures.

10.  Pseudo Code: It is a kind algorithm for solving a problem and the instructions of pseudo code are written by using English phrase and mathematical expressions.

 

 


 




OOPS

   paradigm refers to a style or approach to solving problems and organizing code in a particular way. It dictates how developers think abo...