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

Is component and deployment diagram different or same?

Component and deployment diagrams are different UML diagrams. They both show components - but at different levels.

Component diagram shows components and dependencies between them, interfaces they provide (implement) or require, classes that realize component. It has no deployment nodes - as deployment diagram does.

Deployment diagram shows deployment architecture of system - how components and artifacts are deployed to nodes - execution environments and devices.

Though we can show dependencies between components both on component diagrams as well as on deployment diagrams, but we are not showing implementation of components on deployment diagrams as we do on component diagrams.

Note, that in UML 1.x deployment diagrams components were directly deployed to nodes. In UML 2.x artifacts are deployed to nodes, and artifacts could manifest components. So, on deployment diagrams components are now deployed to nodes indirectly through artifacts, and generally speaking in UML 2 deployment diagram could show only nodes and artifacts, and no components.

What subject we have take aftet class 10 for software engineer?

To become a software engineer you need to take Mathematics, Computer Studies and Electronics.

What is the role of a computer engineer in any IT organization?

in an IT organization a computer engineer should design,maintain and implement new operating systems for effective communication and business analysis.

a computer engineer in an IT firm should also analyze solutions to critical computer problems and make sure solutions are meet.

Which is the best CCNA Training institute in Pune?

hello All If Your In Pune And Looking Best Training and Placement Institute For Networking, Cloud, Security Then Nits Global Is No.1 In Pune This Office Located in jm Road Shivaji nagar we are 5 Friend join there And placed in MNC Company the are vary supportive

What is brightness in image processing?

Brightness in image processing is like a light switch for your picture, determining how light or dark it appears. Adjusting brightness tweaks the overall illumination, making your image shine just right. 🌟📷

What is a software key?

A product key is also known as software key, which is nedded to input when any software wants a licence for original product at the time of installing in computer.

List and describe the five major steps in conducting JAD sessions?

1. Select participants.

2. Design the JAD session: set agenda, times, etc..

3. Prepare for the JAD session: review materials, JAD plan, inform participants about ground rules, etc..

4. Conduct the JAD session.

5. Follow up with participants.

What is work task in software enginering?

is the most important part every business must follow, in order to build and release a project successfully, as it is the foundation to key planning and implementation.

Why different rates of uplink and downlink?

It is because a mobile is operated on a battery with low power and therefore it sends signals on low(uplink) frequencies whereas a base station is driven by high power and can easily send signals on high(downlink) frequencies. This can be verified by Friis equation which says Transmitted power and Transmitted frequency are directly proportional.

Which IT companies benefit from outsourced software development?

SimbirSoft is a global software development outsourcing company that provides IT outsourcing services including the development and testing of custom software products. The company has more than 900 employees. The head office and development centers are located in several Russian cities, with a branch in the United States.

Buffering in OS?

It is a process of storing data in memory area called Buffers while data is being transferred between two devices or between a device and an application. Buffering is done for 3 reasons:

a. To cope with the speed mismatch between producer (or sender) and consumer (or receiver) of a data stream.

b. To adapt between the devices having different data-transfer size.

c. To support copy semantics for application I/O.

What is in-house software development vs. outsourced packaged sofware?

In-House development means that a company has programmers on its staff and develops software internally. Outsourced development is when a company hires a firm to develop a custom applicaation Packaged software is what you purchase when you goto a store and purchase software off-the-shelf.

What kind of jobs require software programming skills?

To help you get an idea of the kind of jobs in software engineering, I took a quick look at online job listings for software engineering. The types of job titles that showed up were Software Engineering Technician, Software Engineering Programmer, Software Engineering Manager, Software Engineering Director, and Technical Writer in Software Engineering.

Distinguish between combinational logic and sequential logic?

A combinational circuit's output depends only on its current inputs. This means, it has a truth table. A sequential circuit's output depends on its previous inputs. This means, it's output will depend on which state it is.

What are the advantages of in-house software development?

It can be cheaper. The people who are doing it are more familiar with the company and the systems within the company. The people commissioning the software are more familiar with their own developers. There can be better communications as the work is being done within the company. The in-house developers can give more time to the project. They will follow in-house standards which can make things easier to work with in the future. These are just some of many advantages.

How do software myths affect a software process?

Software myths are common beliefs that are propogated as truths, may seem to be plausible, but are false. Believing in software myths at best leads to low productivity and poor software quality and at worst leads to failed projects.

Here are just a few myths in the software world:

  • The sooner developers start coding the sooner the software will be built
  • Development problems can be solved by using state-of-the art tools.
  • Late projects can be solved by adding more people
  • Change is easily accommodated, since software is malleable.
  • A general statement of need is sufficient to start coding
  • You can't assess software quality until the program is running.
  • Lines of code (LOC) is a useful measure of software productivity

There are many more myths out there, but the common thread is that these myths are believed because people do not get hard evidence on what works in software development and what doesn't. People confuse their personal biases and beliefs with facts.

If you want facts about what works and what doesn't in software development then you want to get books like: The Economics of Software Quality by Capers Jones (link below), which document hard evidence after considering 10,000+ projects.

Other quality authors are Tom Demarco and Edward Yourdon.

What is the difference between an upward multiplexing and down-ward multiplexing When they are needed?

If only one network address is available on a host, all transport connections on that machine have to use it. When a TPDU comes in, some way is needed to tell which process to give it to. This situation, called upward multiplexing. While if a user needs more bandwidth than one virtual circuit can provide, a way out is to open multiple network connections and distribute the traffic among them on a round-robin basis. This modus operandi is called downward multiplexing.

Can deadlock occur in process with multiple threads?

Yes. Whenever a thread needs to read or write to memory shared with concurrent threads, it must prevent other threads from writing to that memory at the same time. That is, the threads need to be synchronised. Typically, a thread will acquire a lock on that memory, releasing it when it has finished with the memory. Only one thread can acquire a lock at any given time, so if the lock is already acquired by another thread, the current thread must wait for it to be released.

However, there are often times where two or more locks need to be acquired. So long as every thread acquires locks in the exact same order this is not a problem. But if a thread acquires the locks in a different order, we can easily end up with a deadlock.

Consider the following pseudocode:

function f ()

{

acquire lock A

acquire lock B

// ...

release lock B

release lock A

}

function g ()

{

acquire lock B

acquire lock A

// ...

release lock A

release lock B

}

If f is invoked in one thread and g in another, we can easily end up with f acquiring lock A while g acquires lock B. Function f is then left in limbo waiting for function g to release lock B while g is waiting for f to release lock A. They are deadlocked because neither can progress any further.

Describe the process of building a risk table in software engineering?

A risk table a.k.a. risk database is a list of all the risks that could affect your software project.

A risk is an event that is not guaranteed to happen (i.e. not 100%) that if triggered would affect your project positively or negatively. Most of the time when people discuss risks in software projects they are assuming that the risk is negative.

If the risk event is triggered, i.e. comes to pass, then there is a severity associated with that event. Risks severity is typically low, medium, high, or catastrophic.

You may have a strategy that would mitigate the risk. Mitigating strategies are invoked after a risk has occurredto reduce the severity of the outcome.

The risk table will at least list the following for each row:

  • Risk description
  • Probability
  • Severity
  • Mitigation strategies
  • Strategies to reduce the probability

Example of one line of the risk table:

  • Description: Chief architect quits during project development
  • Probability: Low
  • Severity: Catastrophic
  • Mitigation strategy:
    • Identify developer with best architecture skills to work with chief architect
    • Identify recruiters who can find qualified architects quickly
  • Strategy to reduce probability of trigger
    • Make sure chief architect is compensated correctly
    • Make sure that the architect has good working conditions

Typical risks include:

  • Schedule risk
  • Key personnel risk
  • Requirements risk (i.e. that the requirements are incomplete or inconsistent)
  • Learning curve risk (i.e. that your resources learn new things slower than expected)
  • Technical risk

What is purpose of software testing?

As we recheck our answer sheets before submitting to the teacher. We also tests the software before we handover it to the customer, so that we can check if the product meets the requirement of the customer or not.

Define software process?

Most basically, its purpose is to enable a computer and an attached printer to be used as a typewriter.

More generally, as the name suggests, it's purpose is to create, compose, edit, format, store and send to print, any text material or linguistic data. Advanced word processors include many ancillary functions, including the insertion of images and co-ordination with database information.

The term can also applied to advanced shorthand techniques.