The Software Development Process Interview Questions in Java

We have compiled most frequently asked Java J2EE Interview Questions which will help you with different expertise levels.

Java J2EE Interview Questions on The Software Development Process

Question 1.
Outline the steps involved in the software development process.
Answer:
Software development has a sequence of well-defined stages, each with a distinct purpose, input, and output:-

  • System conception: Conceive an application and formulate tentative requirements.
  • Analysis: Deeply understand the requirements by constructing models. The goal of ‘analysis’ is “what needs to be done” rather than “how it is done”. You must first understand the problem before attempting a solution.
  • System design: Devise a high-level strategy – the architecture – for solving the application program. Establish policies to guide the subsequent class design.
  • Class design: Augment and adjust the real-world models from the analysis so that they are amenable to computer implementation. Determine algorithms for realizing the operations.
  • Implementation: Translate the design into programming code and database structures.
  • Testing: Ensure that the application is suitable for actual use and that it truly satisfies the requirements.
  • Training: Help users master the new application.
  • Deployment: Place the application in the field and gracefully cut over from legacy applications.
  • Maintenance: Preserve the long-term viability of the application.
  • The entire process is seamless. You continually elaborate and optimize models as your focus shifts from analysis to design to implementation.

Question 2.
Elaborate on the software development life-cycle.
Answer:
An OO approach to software development supports multiple life-cycle styles. You can use a waterfall approach to perform the phases of analysis, design, and implementation in strict sequence for the entire system. However, we typically recommend an iterative development strategy. We summarize the distinction as follows:-

(1) Waterfall Development: The waterfall approach dictates that developers perform the software development stages in a rigid linear sequence with no backtracking. Developers first capture requirements, then construct an analysis model, then perform a system design, then prepare a class design, followed by implementation, testing, and deployment. Each stage is completed in its entirety before the next stage is begun.

The waterfall approach is suitable for well-understood applications with predictable outputs from analysis and design, but such applications seldom occur. A waterfall approach also does not deliver a useful system until completion. This makes it difficult to assess progress and correct a project that has gone awry.

(2) Iterative Development: Iterative development is more flexible. First, you develop the nucleus of a system – analyzing, designing, implementing, and delivering working code. Then you grow the scope of the system, adding properties and behavior to existing objects, as well as adding new kinds of objects. There are multiple iterations as the system evolves to the final deliverable.

Each and every iteration includes a full complement of stages: analysis, design, implementation, and testing. This is unlike the strict sequence of the waterfall method. Some parts may be completed early, while other, less crucial parts are completed later. Each iteration ultimately yields an executable system that can be integrated and tested. You can accurately gauge progress and make adjustments to your plans based on feedback from the early iterations. If there is a problem, you can move back to an earlier stage for rework.

Iterative development is the best choice for most applications because it gracefully responds to change and minimizes the risk of failure. This is due to the fact that management and business users get early feedback about progress.

Question 3.
Outline the steps involved in the feasibility study.
Answer:
The steps involved in the feasibility study can be enumerated as under:-

  1. Form the systems team;
  2. Develop generalized flowcharts, data flow diagrams referred to as DFD’s etc;
  3. Find system candidates;
  4. Carry out a preliminary survey and a thorough investigation while evaluating each of these candidates;
  5. Follow it up with a detailed extensive study of each one of these candidate solutions;
  6. Undertake a cost-benefit analysis;
  7. Weigh cost with performance characteristics; and
  8. Finally, select the “BEST” candidate system based on the above criteria.

Question 4.
What does the design of the system entail?
Answer:
Systems design entails the following:-

  1. It covers detailed specifications of the “BEST” solution selected in the ‘Systems Analysis’ phase;
  2. These specifications include programming requirements meant for the system developers/project team;
  3. It also includes input, output, database, and file considerations.

Question 5.
What are the characteristics of a good SRS (Software Requirement Specifications)?
Answer:
Characteristics of a good SRS (Software Requirement Specifications) include the following:-

  1. Correct / Robust
  2. Complete
  3. Unambiguous
  4. Verifiable
  5. Consistent
  6. Modifiable
  7. Traceable
  8. Ranked in order of stability/importance/priority

Question 6.
How is a request for a new system reviewed and selected?
Answer:
Generally, many more requests for system development projects are generated/ received than the business/firm/organization can pursue. A decision has to be made as to which projects to approve and which to reject (or, perhaps solve by other means/methods). This decision is made in a number of different ways and by various members of the concerned organization with the system analyst not being the final arbiter/decision-maker.

The project proposal submitted by users/analysts etc. to the project selection committee is a critical element in launching the study of the system. Although the form of such a request varies from organization to organization, there is a broad agreement on the kind of information that should be provided in this request. This information is as follows:-

  1. What is the problem?
  2. What is the detailed description of the problem?
  3. How significant is the problem?
  4. What is the solution in the opinion of the user?
  5. How will the new information system help in solving the problem?
  6. Besides the person who has made the request, who are the people with the know-how of the problem? How could these people be contacted?

The project selection committee reviews the proposals carefully and finally selects those that are most beneficial to the organization. Since the information given in the project request form is usually inadequate to take decisions in this respect, a preliminary investigation is often required to gather further details about the system project envisaged in such project proposals/ forms.

There are requests for projects from a number of different sources. All of them cannot be selected for further investigation. We must be very clear as to which of them solves an existing system problem or could help in its improvement. We have to also consider the motives behind the suggestion of a new system project. Any project that has emerged merely for enhancing The Software Development Process anyone’s personal reputation or is politically motivated must be rejected outright. Such a project can never succeed as it is ill-conceived and hence, it will not eventually be accepted by the end-users.

Again, as we know that different subsystems of a system are interdependent and interrelated, so, any change in one of the subsystems can affect the others adversely. Therefore, any project for one subsystem/department cannot be taken up in isolation from the rest of the subsystems/ departments of the organizational system.

After these broad considerations, we must also take into account the following five specifics,/ particular criteria for selecting a project:

(1) Management’s backing- The first and foremost criterion is backing from the management since nothing can be done without its endorsement. They are the people who will finance the project and hence, their great signal to the project is a must.

(2) Appropriate timing- The timing of the project is another important factor in project selection. The project must be appropriately so timed as to suit the organization, the analyst, and all the personnel involved in it.

(3) Improvement in goal fulfillment- The third criterion for project selection is to take into account if it betters or deters the chances of attainment of organizational aims/goals. The project should get the nod only if it does improve these chances.

(4) Practical in terms of resources-The fourth factor to be considered is whether the project is practically sound / worthwhile to invest in from the point of view of the resources available in the organization.

(5) Prioritization-We also must not forget that when we are committing to one project, we are making the resources committed to it unavailable for other projects. So, even if a project seems to be okay from the point of view of the previous four criteria, we cannot give it a top priority in case there are better projects available. In other words, we must appropriately prioritize the projects and then, proceed in order from the first project having the highest priority down to the last project that has been accorded the lowest priority.

Usually, a steering committee is formed consisting of system analysts (s), users, computer staff personnel, managers of the various departments, members from the management, etc. to discuss proposals and evaluate them. Generally, several levels of management are involved in this committee. So, it can have detailed information about the day-to-day operations in the organization. The committee is usually headed by a senior executive such as the Director, Chairman, etc. who live all the knowledge of the organizational long-term plans at their command.

Once this committee approves a system project, the system analyst can proceed with its development. Of course, the committee or its sub-committee continues to monitor and periodically review the progress of the project from time to time.

When a committee is formed, it must choose certain criteria for a preliminary survey and a feasibility study. In this regard, two important questions come to mind at once:

  1. What data is to be included in the feasibility study?
  2. How many alternative solutions should be chosen/presented?

The committee should also select a format for taking decisions. Such possible criteria may include the following:

  1. Estimated time to implement the system alternative;
  2. The tangible/intangible savings;
  3. The benefit of each alternative to the users;
  4. The proportion of user demands/needs met by each alternative solution;
  5. The total cost that the organization shall incur for carrying out each alternative;
  6. Operational and maintenance cost of each alternative;
  7. Effect of each alternative on the existing system;
  8. The technology component- do we need any additional hardware/software?
  9. Chances of failure of the new system i.e., the risk factor/uncertainty level associated with it.

The final phase of project review and selection involves identifying the”BEST” solution (generally, computer-based) meeting the end-users requires? nets. Its main objective is to define the most suitable alternative solution in terms of Information System components. These components might include the following:

  1. Methods by which inputs and outputs shall be implemented. For instance, an information requirement could be implemented as a terminal screen display or a printed report.
  2. Roles and duties/functions of the end-users in the system e g., how will job description be affected/changed?
  3. Information system methods/procedures, e.g. an online versus a batch processing system.
  4. Computer equipment/hardware required to implement the alternative solutions.
  5. Software/computer programs that need to be developed or purchased in order to implement the alternative solutions.
  6. Files and databases that need to be defined/described, built, and coded for each of the alternative solutions.
  7. Internal controls need to be installed to ensure the security and reliability of the solutions.

Question 7.
How would you handle an infeasible project?
Answer:
Not all requested projects are desirable or feasible. Some organizations receive so many project requests from employees etc. that only a few of them can be pursued. But, projects that are both desirable and feasible should be put into a schedule.

In some cases, development can start immediately although systems people/staff are busy doing other ongoing projects. In such cases, the management decides as to which of the projects are the most important ones and schedules them accordingly. Many business organizations develop information system plans very carefully just as they plan for new products, new manufacturing units, or plant expansion.

After a project request has been approved, its cost, priority, completion time, and personnel requirements are estimated and used to find out where to add it to any existing project scheduling list. The findings are reported to the management with recommendations outlining the acceptance or rejection of the proposal.

Finally, this discussion cannot be complete without a word about infeasible projects. Such system projects are either dumped straight away or solved by other means, if possible. Another point is that a project that is infeasible under the present circumstances may become feasible in due course of time. So, projects that seem to have this potential must be kept carefully in a separate list and filed accordingly.

Question 8.
Suppose you are the systems analyst. How would you arrive at feasible solutions from the candidate solutions?
Answer:
A very important task of the systems analyst is to decide on project goals, quantify them, and obtain the consensus of the users on them. Several guidelines can be given for arriving at these goals. Some of them are given as follows:

  1. Find out any deficiency in the existing/current system by pinpointing any missing functions, unsatisfactory performance, or excessive cost of operations;
  2. Set goals to get rid of these drawbacks;
  3. Try to quantify these goals;
  4. Understand once for all that these goals have to be met within the limitations/ constraints of the organization;
  5. Break down these goals into parts i.e., sub-goals;
  6. Convey these goals to all the concerned people and win their approval/consensus; and,
  7. Last but not least, set goals not only to remove lacunae but also to compete effectively in the open market.

During the feasibility phase, broad alternative candidate solutions to the problems in the existing system are examined in detail, especially their cost-benefit. These broad solutions usually constitute the following:

  1. Specifications of the information offered by the new system
  2. Description of what will be taken care of manually and which features/procedures shall be computerized?
  3. Specifications of any new equipment and/or expansion of any existing equipment, if required.

These broad alternative solutions are further shortlisted on the basis of their technical, operational, and economic feasibilities. The technical grounds judge if the required technology is available/within reach and whether it is useable. On the operational front, we have to answer questions like – whether the proposed solution can fit into the scheme of things well enough, that is to say, whether it is in line with the existing system and whether the system would be able to provide the right information at the right time to the end-users. Finally, economic feasibility ascertains if enough financial resources are at our command to carry out or implement the proposed solution and whether the expenditure incurred is justifiable, that is to say, whether it is recoverable either in terms of savings or better user satisfaction. To answer the second part of this last query, a cost-benefit analysis is in order.

The culmination of the feasibility study is a feasibility report addressed to the organizational management. This report tells/informs the management in simple non-technical language things like:

  1. What the proposed new system shall achieve?
  2. Who shall be the personnel involved in operating this new system?
  3. What organizational changes shall be required for the successful implementation of this system?
  4. What is its estimated cost?
  5. What are its likely benefits, once installed?

The feasibility report evaluates the impact of the proposed changes on the area(s) under consideration or in question. This report generally consists of the following sections:

  1. Cover letter;
  2. Table of Contents;
  3. Overview;
  4. Detailed findings;
  5. The economic justification for the change;
  6. Recommendations & Conclusions; and,
  7. Appendices, if any.

The report can be written or presented orally. The suggested outline for an oral presentation in Table 4. This oral presentation can also serve as a guideline for a written presentation/report. The length/duration of the presentation is an important aspect/point to be kept in mind. It should neither be too short nor too lengthy so as to become dull and boring. Keep your audience interested all the while. This shall certainly go a long way in securing the management’s approval for the project proposal.

(A) Introduction:

  • Introduce self and the topic;
  • Describe the current system briefly:
    (a) Why it is unable to solve the problem(s)?
    (b) User dissatisfaction;
  • Describe in brief the scope and goals etc. of the proposed system.

(B) Body of the Presentation:

  1. Weaknesses of. the present/current system;
  2. How the proposed system intends to solve the problem(s)?
  3. Specify savings, benefits accruing from the proposed system (sell your idea);
  4. Use visual aids, if possible;
  5. Implementation plan/schedule;
  6. Personnel required.

(c) Conclusions:

  1. Summary of the proposal;
  2. Recommendations/objectives (restate);
  3. Benefits & savings (tell again to have an impact);
  4. Solicit approval for the project from top management.

(D) Query Session: Answer any doubts raised in a convincing manner.

Question 9.
Suppose you have to design an online human-computer interface. How would you go about doing it?
Answer:
Twenty-three types of online computer interaction have been used depending on the particular application, format, and ease of use. Another factor to weigh is the cost and difficulty of programming each such type of input/interaction:
1. The first type of dialogue is a ‘simple query’, there being no elaborate conversation. The terminal operator keys in a number/symbol and retrieves the data e.g., an inventory part number produces a display showing the quantity of that part on hand and order along with its reorder point.

2. ‘Mnemonics’ are memory aids; since most terminal users are unfamiliar with programming, we can construct abbreviations that have natural meaning to the user. This requires keying in less than the full text. An example can be “RSRV” to reserve a room.

3. ‘English-language-entry’ can be helpful for the novice user but can lead to a great deal of typing e.g., LOCATE EXPERIMENTS FOR GUINEA-PIGS SINCE 2002.

4. Sometimes, the application justifies the use of a ‘programming-like language’. In certain cases, for instance, the user shall already be familiar with programming or he shall use the system so much that it makes sense to learn the language.

5. ‘Function keys’ are very popular and represent an example of what we call “action codes”. Only a single key has to be pressed in order to indicate what the machine is supposed to do e.g., most of the software packages currently in vogue like MS-Word, MS-Excel, etc. use the ‘F2’ function key for the “HELP” action.
6. The above approach can be extended to ‘multiple-action codes’ since, in a complex system, there might not be enough single-character codes or function keys. For instance, a common example is the pressing of the Ctrl, Alt, and Del keys simultaneously in order to reboot the computer.

7. In some systems, it is helpful to ‘build a record’ on the screen as the user enters data. Consider adding a new customer to a file. In this case, we can start with the name and address. This data would remain visible on the screen even as additional parts of the record would be entered such as type of customer, credit terms, etc.

8. ‘Scrolling’ techniques are often used to add information continuously to the bottom of the screen while the oldest information retrieved is larger than what can fit on a single display screen. With this type of display, it is helpful to have a ‘move-up and a ‘move down command so that the terminal user can use the system like a scroll.

9. Some systems feature ‘simple instructions’ to the operator such as to enter certain data elements. Often, the instruction contains acceptable answers such as “Enter Y for Yes, N for No”.

10. The above-mentioned technique can be extended to provide ‘multiple instructions’ to the operator. One screen asks the user at the terminal to enter more than one piece of data. It is helpful to design this kind of dialogue in order that the user does not have to follow a pre-determined set order for data entry.

11. ‘Menu selection’ is one of the most popular types of input for an online system. This approach works only if there is a limited set of valid operator answers to a question asked by the program. An example can be:
“Please indicate the student’s level of education:

A. B.A.
B. B.Sc.
C. M.A.
D. M.Sc.
E. M.C.A
F. Ph.D.”

The user would only have to enter the character of his choice, e.g. ‘E’ for an M.C.A. educational level.

12. If there are too many items on the menu for one screen, one can list all that shall fit in. The last entry is a continuation to the next screen that has more choices for this question.
The Software Development Process

13. If there are more choices, say in thousands, the menu selection becomes more like a telephone directory. The choices can be arranged alphabetically, and the user could direct the system to approximately the right location, for example to the “Vs”.

14. The menu can also be expanded to provide for several questions and selections on the same screen forming a multi-part menu.

15. Menus can be arranged so that the user chooses more than one answer and completes a series of questions using the same display.

16. Some systems use a displayed-format approach to interaction. Here, the system gives the format like “Enter Date DD/MM/YYYY”. The user types over the “DD/MM/YYYY” characters with the appropriate data. This operation is akin to fill-in-the-blanks form, but one writes over the blanks and erases the format during data entry.

17. An alternative approach to the above is to have the program state the sequence in which the data must be entered but not the exact format.

18. To provide flexibility, the program might give the user the choice of several alternative formats/forms for the data to be entered.

19. The techniques above quite naturally lead to the idea of form filling in which the program presents the outline of the form to be completed by the user.

20. Sometimes, entire lines are overwritten in response to a question.

21. Sometimes, when the operator is making changes or there are many standard default options for the information entered, the user is presented with a display of the completed data. The operator then uses the cursor to move to any field of data he wishes to change and makes the appropriate changes.

22. ‘Text editing’ is a very specialized type of dialogue. Often, the user is actually running a text-editing program with its own complex command language.

23. Finally, we have the ‘hybrid technique’ involving really interactive communication with the program. In this approach, the conversation is partly initiated by the user and partly by the program.

Personal computer software packages have established new standards for interaction. A good example of this type of interface can be found with electronic spreadsheet systems such as LOTUS 1-2-3. Clearly, there are many forms of interactive dialogue; the choice depends upon the nature of the application, the volume of interaction involved, and the type of computer system being used. ’
In addition to these general design considerations, the user should be given courteous error messages and must have the opportunity to rekey data that are in error.

Messages should be polite and explain the error to the user. It might also be advisable to give no explanation unless the user types a question mark or presses some other key after receiving an error message. This way, the user already familiar with the system can avoid tedious error messages really meant/designed for someone with lesser experience.

Question 10.
Suppose you have to design the documentation for a new system. How would you go about doing it?
Answer:
Documentation is a term used to describe all the instructions, programs, narratives, that is, virtually anything written about an information system. Documentation serves several purposes; first, during systems design, it is the evolving product developed by the design team and users; after installation, it is the basis for making changes to the system. The quality of documentation determines how much flexibility the computer department has in being responsive to user requests. Finally, good documentation serves to reduce the conflict between users and the computer department, since a well-documented system is easier for users to understand. Good documentation means that an adequate reference is available when problems arise, and this information helps users learn how to solve their problems with the system.

Some of the best documentation of any type available today comes with software packages, especially for personal computers. As the market is so large and also as the users are not expected to be experts, developers of personal computer packages must provide for an easy user interface and a package that can be used without training. For good ideas on how one can create good user documentation and how to prepare users for training as well as reference, we can consult the popular software manuals. Some of the simple word-processing systems like Ms-Word can be used without a manual. Rather, the command ‘Menu’ serves as a guide and help in this case. The electronic spreadsheet packages like Ms-Excel also have good on-line interactive and reference documentation. Although not very exciting, good documentation makes a large difference in case of use and in reducing frustration for the users.

Systems documentation is an important part of systems testing. All design and test documentation must be finalized and kept in a library for future reference. The library is the central location for the maintenance of the new system. The formal organization and language of the documentation should be in accordance with the system standards.

Many structured approaches to design include the production of documentation as a part of the design process itself. This documentation aids communication among those on the design team; it represents the current conceptualization of a new system or the understanding of an existing system. The librarian is that member of the design team who is responsible for maintaining documentation.

During design, another approach purpose of documentation is one of control; that is, providing a record of what has been developed and of changes. It is vitally important to be sure that all parts of a system affected by a change are considered and that those responsible for the components of the system affected by the change are notified. For instance, if a file format or the contents of a file are altered, what program modules and what programmers are affected?

Control is also the ability to retrieve past test runs and old versions of programs or files. This type of documentation builds up an excellent database for making future estimates of how long it would take to develop a similar system. The librarian must keep and maintain a copy of all the runs and progress reports so that a complete description of the project activities can be found easily.

Table 5 outlines some of the most essential elements of design documentation. Many of the documents in this table shall be used for other purposes in a slightly modified form. Probably the most important document is the ‘table of contents that serves as a directory and a dictionary to the manual files containing all the other information describing the system. The ‘table of contents must be hierarchical, and parts of it may be distributed elsewhere. For instance, the ‘main table of contents points to the location of the input/output specification, and at the beginning of the file of input/output specifications, another directory points, in particular, to each respective input/ output.

Table of Contents

                                                               Survey
                                                               Feasibility Study 
                                                               Existing Systems Documentation 
                                                               Specifications for New System 
                                                               Input / Output 
                                                               File Versions 
                                                               Logical Specifications 
                                                               Program Modules
                                                                             Flowcharts/ Decision Tables / Pseudocode 
                                                                             Cross-references
                                                               Tests
                                                               Design
                                                               Data
                                                               Runs & Results 
                                                               Manual Procedures
                                                                            Flowcharts (Hierarchical)
                                                                            Narrartives
                                                                            Error Controls
                                                            Work Plans 
                                                       Progress Reports

The library should contain the ‘survey’ and ‘feasibility study’ as well as other documents regarding the analysis of the existing system. It is also a natural storehouse for the detailed ‘specifications’ for the new system being envisaged. As items like ‘system flowcharts’ undergo change, the original is kept as backup copies. We can indeed keep the ‘most recent document’ in the working area with each page dated and a pointer to the location of all the past versions in archival storage. Another major area of the library is the actual ‘programs’ as they are coded. It is very important to keep and maintain copies of the input/output, file record formats, and a list of all the modules.

Also, we can provide relevant cross-references between various modules wherever necessary. In database management applications, it is also desirable to keep a central library or the meta-data/data dictionary (DD) as it is referred to. This shall help to keep consistency amongst variable names cutting across the different modules and programs. This sort of ‘standardization’ also helps in avoiding confusion and also makes it easier to debug the programs at a later stage.

Last but not the least, there is an urgent need for good documentation ‘within’ the programs themselves! This helps particularly in making the programs easier to understand and thereby, in their maintenance also. Moreover, there is enough reason to keep an updated record of all the test runs that shall help, somewhat in the analysis of the programs developed by the design team later on, as well as in avoiding duplication of effort and consequential time wastage. In particular, all error conditions must be carefully noted and maintained in the library.

Question 11.
Suppose you are responsible for the quality assurance of the new software developed? What factors would you bear in mind to ensure the quality of the product?
Answer:
As compared to the staggering amount of software produced, unfortunately, the quality of the software has left much to be desired. As compared to the staggering amount of software produced, unfortunately, the quality of the software has left much to be desired. It has not lived up to the users’ demands and objectives. That’s exactly where ‘quality assurance’ comes into play. It ensures some sort of standardization for the software products and thereby, a degree of reliability. The concept of quality assurance comes as a welcome assurance for the user that the software he has purchased is indeed a good quality product and shall indeed fulfill whatever the software vendor has assured him of.

From the point of view of the systems life cycle, the concept of quality assurance assures us that the new system is a good quality system and shall meet the user objectives as much as possible. Several factors or attributes contribute to the quality of a system. These are broadly outlined below:

A. Reliability: This is the extent/degree up to which the system shall perform along expected lines over a period of time.

B. Correctness: This is the extent/degree up to which the system meets the users’ objectives and demands as well as the requirements specifications.

C. Efficiency: This is indicative of the fact that the system is able to perform well with as, little resources as possible.

D. Ease of Use: The system must be user-friendly. In other words, it must be easy to learn and operate.

E. Error Tolerance: This indicates that in spite of any undetected errors, the system does not break down. In other words, it is the degree up to which the system can tolerate/ bear with the errors and run smoothly in spite of them.

F. Accuracy: The degree of accuracy of the outputs produced by the system such as the reports etc. is indicated by this particular attribute of quality assurance. The Software Development Process

G. Portability: The system must be highly portable, that is, independent of the operating system/hardware, etc. It should be able to run across a wide range of platforms without any malfunctioning.

H. Security: Security features must be built into the system so as to prevent unauthorized access or any fraudulent use.

I. Audit Control: This indicates the level up to which the system can be periodically audited and reviewed.

j. Maintainability: The system programs must be easy to maintain and correct in case of any errors or bugs.

K. Expandability: The system must be capable of being expanded/enhanced at a later stage.

Question 12.
Suppose you are one of the system designers. What factors would you bear in mind to ensure the moral and ethical quality of the product?
Answer:
Before developing a new application/system, the system designers should ask themselves the following list of questions:

1. Is this application a potential threat to anyone’s rights? What could go wrong? For instance, do the files contain rumors, hearsay information, or unevaluated reports on any individual?

2. Is there a natural disincentive to use the system? For instance, does it act to police the workers who contribute the data?

3. Is it difficult to use the system? For instance, can anybody fill out the forms, understand the output, enter data through a terminal, etc.?

4. In how many ways could anybody, possibly, defraud the system?

5. In how many ways could anybody get around the built-in safeguards and misuse the data?

To ensure that the system is fair and complete, we must think along the lines suggested by the above queries. Every potential system must have built-in features for the security and integrity of data. Without safeguards against unauthorized access, embezzlement, and natural disasters, a system can be so vulnerable so as to threaten the very existence of the organization itself.

To provide protection, we could use measures such as passwords, encryption/decryption, etc. Further, We must have backup copies of the data as well as the software and disaster recovery procedures to restart the system whenever required. The strength behind system integrity and success is ethics, moral code of conduct, and professional behavior.

Question 13.
Suppose you are responsible for the maintenance of the new system developed. What issues would weigh on your mind while carrying out this responsibility?
Answer:
Several possible arrangements for maintaining a system along with its equipment are available. Out of these, three noteworthy ones are outlined as under:

  1. Maintain using own personnel.
  2. Purchase equipment (including software) from an outside firm and sign a maintenance agreement referred to as AMC (Annual Maintenance Contract) with it.
  3. Pay for maintenance personnel on an hourly rate as and when required as well as pay for computer parts as and when replaced.

Maintenance support is a very crucial factor for the system after it has been installed/implemented. The three key considerations involved, are the warranty, suitable terms and conditions of maintenance and the response time to attend to the complaint as and when the system breaks down. Another vital factor in systems maintenance is that whatever (hardware or software) you may buy from a vendor, must be compatible with the existing system. For example, most microcomputers (PCs, etc.) have a “plug & play” compatibility feature that allows for easy attachment of various supporting devices so that the system can work with a variety of computer equipment.

In case the system/software has been developed in-house by an external firm/company, it must be mandatory upon that company to train the existing computer staff (or some of them) explaining the new features that have been incorporated into the system so that they can themselves take action in the event of an emergency rather than waste crucial time in calling upon the firm to come to their aid.

Finally, we come to some of the features of maintainable designs that reduce the need for maintenance and simultaneously make it possible to do essential tasks much more efficiently:-

  1. Define the users’ requirements during systems development more precisely/ accurately;
  2. Better systems documentation;
  3. More effective means of designing the processing/programming logic;
  4. Better use of existing tools/techniques; and,
  5. A more effective and efficient way of managing the systems engineering/design process.
    All the above are some of the good design practices that help to produce a system that can be maintained more effectively, more easily, and at a much lower expense/cost.

Question 14.
Suppose the company has deputed you to purchase new hardware and software. Discuss the specific and general criteria while selecting any equipment (hardware or software) from a vendor.
Answer:
Some of the general considerations involved when buying any equipment (Hardware or Software) from a vendor include the following:
A. Extent of automation proposed, i.e. the maximum amount of computerization involved;

B. Throughput performance or the amount of data that can be processed by the system in a given time period;

C. Availability and Quality;

D. Vendor Support & Reputation: Are warranty and maintenance included? Is there a money-back guarantee? Is there a cancellation clause if the vendor fails to perform up to the standards agreed upon?

E. Documentation: Is sufficient documentation included 1o allow future modifications/ enhancements/maintenance and expandability? Is there a users’ reference manual?

F. Flexibility: Is the software adaptable to changing user needs and requirements?

G. Reliability: Is the equipment reliable? Is there any backup support in case of a system crash/failure? Is there any clause for updation to any new version that may be developed in the future course of time? And, if so, is there any extra charge for updates?

Now, we come to some of the specific criteria and considerations involved while buying any equipment (H/w or S/w) for an application:

  1. What transactions and what data about each transaction must be handled?
  2. What reports, documents, and other output are required?
  3. What files and databases do the system depend upon?
  4. What transaction files are needed to maintain such files databases?
  5. Are there any unique features involved in the application requiring special consideration?
  6. What inquiry requirements must be supported by the application?
  7. What future enhancements are possible? The flow will be supported?
  8. What are the tire communication requirements of the system?
  9. What are the limitations of the equipment (H/w or S/w)?

Question 15.
Supposing that you are the systems analyst, what role would you have to play in the development of new software?
Answer:
The system analyst designs the new software envisaged carefully according to the requirements listed by the user. After a careful analysis of these requirements, the analyst formulates software specifications stating input, processing functions, and algorithms/procedures to be carried out in order to produce the desired output stated by the user. The analyst must also design the data flows, controls/standards/guidelines to ensure that everything is working in an anticipated manner and must also specify actions to be taken when unexpected situations/ problems crop up. In other words, the system analyst is responsible for designing the control procedures.

While designing inputs, the analyst decides what data is to be input, media to be used for input, how the data is to be coded, the input dialogue, methods to perform input validation as also procedures to follow if any input error occurs.

Finally, the output design by the analyst entails determining what and how the information/ output is to be presented as also deciding upon the output (reports, etc.) format.

Question 16.
What do you understand by Object Oriented Life Cycle Modeling? Explain and Elucidate.
Answer:
A software development project can be viewed as a set of objects that interact with each other to accomplish a certain objective(s). The project goes through an evolutionary development life cycle containing objects decided at three distinct stages as elaborated below:

  1. Objects decided at OOA (Object Oriented Analysis) stage;
  2. Objects decided at OOD (Object-Oriented Design) stage; and,
  3. Objects decided at OOP (Object Oriented Programming) stage.

In object oriented analysis (OOA), we decide the objects, their behavior, and their interactions meeting the requirements of the software project.

Next, in object oriented design (OOD), we draw the hierarchies from which the objects can be created.

Finally, in object-oriented programming (OOP), we implement the programs in C++, Java, or any other object-oriented programming language using objects.

Question 17.
Compare and contrast the Object-Oriented and Module-Oriented approaches for Systems Design.
Answer:

S.NO. Object Oriented Approach Module Oriented Approach
1 System seen as a collection of objects each having a functional purpose. System seen as a collection of data,functions, processes, and their inter_relationaship
2 Easy maintenance at low cost. Maintenance at high cost.
3 Code can be reused. Code reuse limited and infrequent.
4 Easy implemention in large distributed systems. Difficult to implement in distributed systems.
5 Suitable for object oriented situations like C++,Java,

CORGA,GUI,DCOM etc.

Not efficient in such cases.
6 Leads to flexible systems. Not as flexible.
7 Start-up and performance costs high; Costlier manpower. Initial and overhead costs not so high; Cheaper manpower as well.

Question 18.
From amongst the following multiple-choice questions, select the best alternative:

(1) System analyst is:
(a) an agent of change
(b) a communicator
(c) a problem solver
(d) all of the above
Answer:
(d)

(2) On-line data entry is most suitable in:
(a) entering monthly journal entries
(b) payroll master updation
(c) processing for payments of cheques in a bank
(d) none of the above
Answer:
(c)

(3) The System Development phase associated with the creation of test data is:
(a) system analysis
(b) system acceptance
(c) physical design
(d) logical design
Answer:
(b)

(4) Prototype is a:
(a) mini-model of the existing system
(b) mini-model of the proposed system
(c) working model of the existing system
(d) none of the above
Answer:
(b)

(5) Which of the following is a part of the Software Development Life Cycle?
(a) requirements analysis
(b) benchmarking
(c) program specifications
(d) all of the above
Answer:
(d)

(6) Entities, attributes, and relationships are associated with:
(a) logical concepts of data
(b) physical concepts of data
(c) persons of an organization
(d) none of the above
Answer:
(a)

(7) File conversion is a part of:
(a) system cut-over
(b) day-to-day activity of data processing
(c) system design
(d) none of the above
Answer:
(a)

(8) Software quality pertains to:
(a) reliability
(b) efficiency
(c) maintainability
(d) all of the above
Answer:
(d)

(9) Objects may be viewed as:
(a) clients in a system
(b) servers in a system
(c) both (a) & (b)
(d) neither (a) nor (b)
Answer:
(c)

(10) In a Unified Modeling Language (UML) diagram, an object:
(a) can’t be represented
(b) is irrelevant
(c) is represented as an attribute
(d) is represented as a result of an operation
Answer:
(c)

(11) The components that make up any system are known as:
(a) system boundary
(b) system description
(c) system environment
(d) all of the above
Answer:
(d)

(12) A distributed data processing system:
(a) attempts to capture advantages of centralized processing
(b) attempts to capture advantages of decentralized processing
(c) allows greater flexibility
(d) provides slow access of data
(e) both (a) & (b)
(f) none of the above
Answer:
(e)

(13) “Back up” refers to:
(a) delay in the production of outputs
(b) accumulation of programs in memory
(c) job scheduling failures
(d) all of the above
(e) none of the above
Answer:
(e)

(14) Cost of error correction is least in the stage of:
(a) requirements analysis
(b) system design
(c) evaluating the tangible factors
(d) evaluating the intangible factors
(e) both (c) & (d)
(f) all of the above
(g) none of the above
Answer:
(a)

(15) Ah object is selected for modeling, if:
(a) its attributes are invariant during the operation of the system
(b) it has numerous attributes
(c) its attributes change during the operation of the system
(d) it has no attributes relevant to the system
(e) none of the above
Answer:
(c)

(16) Tangible benefits, by their very nature, require:
(a) subjective evaluation
(b) feasible evaluation
(c) quantifiable evaluation
(d) none of the above
Answer:
(c)

(17) A menu-driven software:
(a) helps the user to reduce errors during data entry
(b) is developed for planning meals at a restaurant
(c) contains options for the user to enter his choice
(d) all of the above
(e) none of the above
Answer:
(c)

(18) While designing a report layout, which of the following should be avoided?
(a) the report should be read from top to bottom
(b) the report should be read from left to right
(c) the most important items must come first
(d) use of abbreviations
(e) none of the above
Answer:
(e)

(19) A business accounting system includes:
(a) order entry
(b) shipping/billing
(c) sales analysis
(d) all of the above
Answer:
(d)

(20) In a modem supermarket using computerized systems, which of the fol lowing would be found in use?
(a) Point-of-Sale (POS) terminal
(b) scanner
(c) bar code reader
(d) all of the above
(e) none of the above
Answer:
(d)

(21) Open systems interact with the:
(a) system environment
(b) system boundary
(c) closed systems.
(d) feedback
Answer:
(a)

(22) Information is:
(a) data
(b) computer output
(c) manipulated input
(d) processed data
Answer:
(d)

(23) The first step in Software Development Life Cycle (SDLC) is:
(a) system design
(b) database design
(c) feasibility study
(d) preliminary investigation and analysis
(e) none of the above
Answer:
(d)

(24) On-line data entry is preferable to batch data entry because:
(a) it is faster
(b) it ensures better accuracy of input
(c) it reduces human effort in checking control totals, checklists, etc.
(d) all of the above
(e) none of the above
Answer:(a)

(25) If the requirements analysis phase of a software development project is not conducted properly, then the:
(a) the resulting system would be delivered before the deadline
(b) output reports won’t be easy to decipher and make out
(c) the system might fail to address the real needs of the users
(d) all of the above
Answer:
(c)

(26) The detailed study/investigation of the existing system is often referred to as:
(a) system planning
(b) feasibility study
(c) system analysis
(d) none of the above
Answer:
(c)

(27) System specifications are mainly concerned with:
(a) how the functions are performed
(b) what functions are to be performed
(c) both (a) & (b)
(d) neither (a) nor (b)
Answer:
(c)

(28) In data processing, classifying, calculating, and summarizing data pertain to:
(a) capturing of input data
(b) managing output results
(c) manipulation of data
(d) all of the above
(e) none of the above
Answer:
(c)

(29) In case a data dictionary is not included in the system analysis and design of a software project, then the following task(s) can’t be carried out well:
(a) over-all cost-benefit analysis
(b) bench marking of equipment to be acquired
(c) cross referencing and consistency checks of various data
(d) all of the above
(e) none of the above
Answer:
(c)

(30) In a Railway Reservation System, which of the following is the most critical?
(a) Ease of programming
(b) Response time
(c) GUI
(d) none of the above
Answer:
(c)

(31) Tactical information is needed to:
(a) carry out day-to-day routine operations
(b) meet government requirements
(c) perform long-range planning
(d) perform short-range planning
(e) none of the above
Answer:
(d)

(32) Operational information is required by:
(a) middle managers
(b) line managers
(c) top managers
(d) all workers
Answer:
(b)

(33) Inheritance in object modeling can be used to:
(a) generalize classes
(b) specialize classes
(c) both (a) & (b)
(d) neither (a) nor (b)
(e) create new classes
Answer:
(c)

(34) Object-oriented modelling:
(i) allows easy integration of subsystems
(ii) promotes reuse of code
(iii) allows modification of some objects by other objects
(iv) allows data structures in objects to be modified by other objects State whether:

(a) (i) & (ii) are true
(b) (i), (ii) & (iv) are true
(c) (ii), (iii) & (iv) are true
(d) (i), (ii), (iii) & (iv) are true
Answer:
(a)

(35) Loss of data integrity implies that data is:
(a) outdated
(b) unsuitable for running in an integrated environment
(c) repeated
(d) inconsistent
(e) all of the above
(f) none of the above
Answer:
(d)

(36) The main advantage of normalized relations in relational DBMS is that they:
(a) are highly secure
(b) occupy minimal storage
(c) do not suffer from anomalies during delete and update operations
(d) all of the above
Answer:
(c)

(37) Digital signatures are used in:
(a) data communications
(b) floppy disk marking
(c) programming
(d) none of the above
Answer:
(a)

(38) Which one of the following statements is incorrect?
(a) a report format file can show any object within a box
(b) a report format can show7 vertical lines in the report
(c) the current date can be shown both in page header and footer
(d) none of the above
Answer:
(d)

(39) A system design is said to be functionally modular if:
(a) the system is able to handle all functions of the application
(b) the system is developed through structured programming using languages like PASCAL or COBOL
(c) the system makes extensive use of function keys for maximum user assistance
(d) each module performs a specific function and can be developed independently by programmers
Answer:(d)

(40) In considering the total cost associated with desired information, cost of data collection, data input and computer processing are:
(a) recurring costs
(b) one-time costs
(c) temporary costs
(d) permanent costs
(e) none of the above
Answer:
(a)

(41) The present trend in data processing systems is towards:
(a) real-time processing
(b) remote processing
(c) disl|ibuted processing
(d) none of the above
Answer:
(c)

(42) Whether a proposed system can provide the right information for the organization’s personnel or not, would fall under the study of:
(a) economic feasibility
(b) technical feasibility
(c) operational feasibility
(d) all of the above
(e) none of the above
Answer:
(c)

(43) A class, in object-oriented programming, is a:
(a) template for objects of a particular type
(b) group of objects
(c) classification of objects
(d) none of the above
Answer:
(a)

(44) Encapsulation in object modeling is useful because:
(a) it hides implementation details of the methods
(b) it allows improving methods of an object, independent of other parts of the system
(c) it allows for an easy design
(d) it encapsulates attributes and operations of objects
Answer:
(b)

(45) In a motor car manufacturing company, following information is tactical:
(a) assessing competitor’s car
(b) decision on introducing a new model
(c) computing sales tax collected
(d) scheduling production
Answer:
(a)

(46) A Management Information System (MIS) is required because:
(a) the size of the organization has become too large
(b) computers are available economically
(c) it is difficult for clerks to process data
(d) timely decisions have to be taken based on available data
Answer:
(d)

(47) The term used to refer to checking of outputs of a computer with the corresponding input documents is called:
(a) auditing around the computer
(b) auditing through the computer
(c) regression testing
(d) process control
Answer:
(a)

(48) Benchmark is used during:
(a) computer contract
(b) software selection
(c) hardware selection
(d) both (b) & (c)
(e) neither (b) nor (c)
Answer:
(d)

(49) Smart card pertains to:
(a) system project management
(b) return on investment
(c) GUI
(d) structured design
(e) none of the above
Answer:
(a)

(50) A use case diagram is a classic case of:
(a) flow chart
(b) what-if analysis
(c) interaction between system and its environment
(d) gathering qualitative information
(e) none of the above
Answer:
(c)

Question 500.
Illustrate the software development life cycle with the help of a suitable diagram.
Answer:
Figure 26 illustrates the software development life cycle (SDLC). It is more or less self-explanatory and is left as an exercise for you.

THE SOFTWARE DEVELOPMENT PROCESS Interview Questions in Java chapter 15 img 1