answersLogoWhite

0

📱

Software Engineering

Software engineering is the process of applying well-developed techniques and practices in order to create new software products. Questions about everything from design patterns to requirements and specification belong here.

1,663 Questions

What is object linking in software?

An important software design feature referred to as object linking and embedding, allows software to share "objects" that are pieces of other data.

Who is George Mealy?

George H. Mealy presented the concept of a finite-state machine that became known as the Mealy machine in a 1955 paper, "A Method for Synthesizing Sequential Circuits." This machine differs from a Moore machine in that rather than the outputs being defined by the current state, the outputs are defined by both the current state and the current inputs.

What is real time software?

A real time software is one which are time based. For example : Railway reservation system, e-Banking etc.

What environment is supported by the QTP when you do not select any add in in the add in manager?

Add in Manager is a feature provided by QTP which makes QTP compatible with desired environments. QTP provides 3 add ins such as visual basic, active x and web. If the user does not select any add in by default qtp supports standard windows applications

By "Windows apps", we refer to targeting MS Windows platform, working with the OS, registry, clipboard, etc, THAT is what I would call "Windows Programming", where you leverage the OS

Why should a belt pulley be used over gears in Robotics?

Because with a belt pulley, when you change directions the tension remains constant and there is no "play" providing a more consistent positioning of the pulley. With a gear there is "play" or slack in the gears to allow them to roll freely. But when you change directions, your positioning will not be as precise. If gears were installed without play or a small amount of slack they would wear out prematurely. Belts can be installed with a tight - somewhat stretched fit and will provide much more accurate positioning while transferring power.

What are the other advantages of providing static and dynamic views of the software process?

Static views of software artifacts such as UML class, object, component, and deployment diagrams give you an overview of the structure the software system. Static views show the placement of code units relative to one another and allow you to assess if there are missing connections or better ways to structure code.

Dynamic views of software artifacts such as UML sequence, collaboration, state, and activity diagrams give you the ability to see the order in which operations will be executed and allow you to determine if there is a flaw in the execution logic. With dynamic diagrams you would be able to identify if an object is used before it is instantiated.

How many employees does Bank of America have?

Bank of America is one of the 4 largest banks in USA. They have clients in over 150 countries. They have 284,000 employees working for them in their offices. Apart from this, they also have numerous contractors and vendors from other companies working for them which will increase this number beyond 300,000 in all.

Describe the intrinsic controls of asp net?

In ASP.NET there are two types of controls - HTML server controls and ASP.NET server controls. The HTML ones are known as Intrinsic controls.

A HTML Server Control has similar abstraction with its corresponding HTML tag and offers no abstraction.

ASP .NET Server Controls have higher level of abstraction. An output of an ASP .NET server control can be the result of many HTML tags that combine together to produce that control and its events.
The HTML Server Controls follow the HTML-centric object model.

ASP .NET Server Controls
have an object model different from the traditional HTML and even provide a set of properties and methods that can change the outlook and behavior of the controls.
The HTML Server Controls have no mechanism of identifying the capabilities of the client browser accessing the current page.

ASP .NET Server Controls can however detect the target browser's capabilities and render themselves accordingly.

For moreInfo refer to related links.

Explain iterative Development model in detail?

Iterative Model

The iterative enhance model counters the third limitation of the waterfall model and tires to combine a benefit of both prototyping and the waterfall mode. The basic idea is that the software should be developed in increments, each increment adding some functional capability to the system until the full system is implemented. At each step, extensions and design modifications can be made. An advantage of this approach is that it can result in better testing because testing each increment is likely to be easier than testing the entire system as in the waterfall model. The increment models provide feedback to the client i.e., useful for determining the final requirements of the system.

In the first step of this model , a simple initial implementation is done for a subset of the overall problem. This subset is one that contains some of the key aspects of the problem that are easy to understand and implement and which form a useful and usable system. A project control list is created that contains, in order, all the tasks that must be performed to obtain the final implementation this project control list gives a idea of how far the project is at any given step from the final system.

Each step consists of removing the next task from the list, designing the implementation for the selected task, coding and testing the implementation, performing an analysis of the partial system obtained after this step, and updating the list as a result on the analysis. These three phases are called the design phase, implementation phase and analysis phase. The process is integrated until the project control list is empty, at which time the final implementation of the system will be available. The iterative enhancement process model is shown in below diagram:

********* Diagram.

The project control list guiders the iteration steps and keeps track of all tasks that must be done. Based on the analysis, one of the tasks in the list can include redesign of defective components or redesign of the entire system. Redesign of the system will occur only in the initial steps. In the later steps, the design would have stabilized and there is less chance of redesign. Each entry in the list is a task that should be performed in one step of the iterative enhancement process and should be completely understood. Selecting tasks in this manner will minimize the chance of error and reduce the redesign work. The design and implementation phases of each step can be performed in a top-down manner or by using some other technique.

One effective use of this type of model is for product development, in which the developers themselves provide the specifications and therefore have a lot of control on what specifications go in the system and what stay out.

In a customized software development, where the client has to essentially provide and approve the specifications, it is not always clear how this process can be applied. Another practical problem with this type of development project comes in generating the business contract-how will the cost of additional features be determined and negotiated, particularly because the client organization is likely to e tied to the original vendor who developed the first version. Overall, in these types of projects, this process model can be useful if the "core"

Of the applications to be developed is well understood and the "increments" can be easily defined and negotiated. in client-oriented project, this process has the major advantage that the client's organization does not have to pay for the entire software together, it can get the main part of the software developed and perform cost benefit analysis for it before enhancing the software with more capabilities.

What is Unified process in object oriented software engineering?

What is UP?

UP is developed by at Rational Software (IBM). It is highly iterative and incremental process... i.e. the software is not released in one big bang at the end of the project; instead, it is developed and released in pieces (prototypes, partial releases, beta, etc.)

This method is lightweight compared to the waterfall model in software engineering with respect to commitment to phases and documentation. The water fall model require heavy documentation of each phase before proceeding... UP is an example of Agile methods.

Life Cycle of UP

- Inception: "Daydreaming"

- Elaboration: "Design/Details"

- Construction: "Do it"

- Transition: "Deploy it"

During inception, we try to create a vision and scope document at a high level of abstraction.

In elaboration, we collect more detailed requirements and do high-level analysis and design. i.e. check for risks, such as technological risks (do we have the technology to do the job?), skill risks (do we have the skills?)... In this phase, we develop the use cases!

During the construction, we build production-quality software in many increments, tested and integrated each satisfying a subset of the requirements of the project.

Finally, during the transition phase, the activities include beta testing, performance tuning (optimization) and user training.

UP Artifacts

What are the products of the UP? The UP describes work activities, which result in "work products" called "artifacts"... for example:

- vision, scope and business case descriptions

- use cases

- UML diagrams

- Source Code

- Web graphics

- database schema

The Process Workflows

- Requirement analysis

- Design: architecture and class levels

- Implementation

- Testing

- Management

Why is a process model typically composed of a set of DFDs?

BECAUSE BUSINESS PROCESS ARE TOO COMPLEX TO BE EXPLAINED IN ONE DFDs

How does a flow chart look like?

What a flow chart looks like depends a bit on the type of flow chart, but in general it shows the movement of information and decisions. Typically information is in rectangles, decision points are diamonds or circles, and outputs can be ovals, circles, or squares. All are connected by lines with arrows showing the direction of the information flow.

What is logarithmic poisson execution time model?

A new software reliability model is developed that predicts expected failures (and hence related reliability quantities) as well or better than existing software reliability model

this works for cases where the operational profile remains unchanged, and where corrections (perfect or imperfect) are made when a failure is observed

If the cost of fixing a defect in the requirements phase is 1 what is the relative cost of fixing a defect in the Testing Phase?

It is safe to estimate that the cost of fixing a problem increases by roughly an order of magnitude in each phase of development.

  1. requirements phase (cost 1)
  2. preliminary design phase (cost 10)
  3. detailed design phase (cost 100)
  4. coding phase (cost 1000)
  5. testing phase (cost 10000)
So as an estimate if a problem is not found until test phase it will cost roughly 10000 times as much to fix as it would if the problem had been found in the requirements phase.

Most round-robin schedulers use a fixed size quantum Give an argument in favor of a small quantum .Now give an argument in favor of a large quantum. Compare and contrast the types of systems and jobs?

An argument against a small time quantum: Efficiency. A small time quantum requires the timer to generate interrupts with short

intervals. Each interrupt causes a context switch, so overhead increases with a larger number of interrupts.

An argument for a small time quantum: Response time. A large time quantum will reduce the overhead of context switching since

interrupts will be generated with relatively long intervals, hence there will be fewer interrupts. However, a short job will have to wait

longer time on the ready queue before it can get to execute on the processor. With a short time quantum, such a short job will finish

quicker and produces the result to the end user faster than with a longer time quantum

How can we perform mobile testing?

Mobiles have become an integral part of every persons life in today's world. Technology has become so advanced that everything has been digital from learning to certifications, medical check ups to reports, buying to selling, entertainment to traveling. Thus for doing all this, thousands of mobile apps are available in mobile app stores. So, testing mobile apps depend on its behavior, functionality and requirements. For example, a customer may require his product to be verified on various platforms such as on different versions of android and ios.

Common Testing scenarios related to type of testing are listed below:

Functional testing:

1. All mandatory fields are marked distinctively.

2. Application should get minimize in case call is triggered in mid while application is running.

3. Application is properly linked to payment gateways specially for e-commerce.

4. Application behavior is verified at various scenarios such as relaunch/interruptions on calls or messages/idle screen.

5. Proper validations are displayed for filling out fields.

6. Crash points are analyzed through ad-hoc testing of application.

7. Forward and backward navigation through application pages.

8. UI is not broken.

9. Validate search filters.

10. Validate a user guide is provided for user reference.

11. Update notifications are properly displayed.

12. Validate application performs satisfactorily without causing memory and performance issues in device.

13. Validate page scrolls properly when required in application.

14. Link provided should be accessible.

Performance testing:

1. Validate application performs satisfactorily without causing memory and performance issues in device.

2. Proper network errors are shown whenever there are network issues.

3. Network latency test can be used to verify application behavior on different Internet speeds.

4. Device is able to perform multitasking requirements whenever it is necessary to do so.

5. Validate response time.

Security testing:

1. Verify Password is always displayed in encrypted form.

2. Session should be managed properly for preventing unauthorized users access to application.

3. Prevention from SQL injection related attacks should be verified.

4. Application such as related to banking or documents should auto-log out once closed.

Usability testing:

1. Buttons are placed in same section of screen to avoid confusion to end users.

2. Icons are resembling and consistent with the application.

3. Font size is big enough to be readable.

4. Buttons are big enough in size to be selected.

Mobile app security testing is one of the major concern for software testing services providers. As information security has become a primary need, with growing use of technologies and devices. So, while testing any application, one should also ensure that app not only functions properly but also provide security to user's information as well.

What is formal and informal requirements in software engineering?

Formal requirements are the software features that the developers are contractually obligated to implement in the software. It is usually designated as a "shall" statement as in "X shall do this".

Informal requirements are the software features that are nice to have but would not be a breach of contract if the developers failed to implement it in the software. These requirements may have have the word "will" as in "X will do this".

Is lesson time wasted during power cuts when technology cannot be used?

No. The teacher still has a voice, and the student still has an ear. Both, also, have a brain.