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 the difference between use case model and use case diagram?

Use Case diagrams are behavior diagrams of UML used to describe a set of actions (Use Cases) that some system or systems (Subject) should or can perform in collaboration with one or more external users of the system (Actors).

Each use case should provide some observable and valuable result to the actors or other stakeholders of the system.

Use case diagrams are a means for specifying:

  • (external) requirements on a system under design, required usages of a system - to capture what a system is supposed to do;
  • the functionality offered by existing system -- what system can do for clients;
  • requirements the specified system poses on its environment - by defining how environment should interact with the system so that it will be able to perform its services.

How do you edit java applications?

You can use any text editor, like NotePad. Although normally, it is easier to use some IDE for Java programming; those IDEs have a built-in editor.

What are the disadvantages and advantages of prototyping over system development life cycle?

Basically speaking, there are five advantages that prtotyping could bring about.

1) Provides functionality and interactions. Static high-fidelity mockup and wireframe are unable to convey animation. But a prototyping with interaction can do it pretty well.

2) Make actual communication with your boss, stockholders and users. The communication is necessary, the more they understand your design, the bigger the chance you can buy them in.

3) Detect errors earlier and save time and money. Trust me, any mistakes cost you less in prototyping stage than to be found in the later development stage.

4) Enhance collaboration within your team members internal. It can improve efficiency largely.

5) Involve user feedback and help to do multiple-test. It’s a key factor to iterate and update.

So, it's necessary to make prototypes before you develop actual products or websites. When it comes to prototyping, I would like to share one tool with you: Mockplus Cloud.

Mockplus Cloud - Connect your entire product design workflow.

As a brand-new collaboration tool for designers and developers, it goes far beyond design and workflow—allowing mobile designers to create masterpieces. It allows you to upload your wireframes and visual designs from Photoshop, AdobeXD, and Sketch, and add them to your project folder.

A full set of features about prototyping, commenting, collaborating and design handoff enable you to create a product from the start to finish.

Hopefully, this helps.

What are the drawbacks of current commercial databases?

With a DBMS, you lose the intrinsic control of data management that exists in an integrated software solution. For instance, if you were to write a program in C++, you have the option to directly control how your program's data is handled by the actual memory on the host computer, how that memory is addressed and allocated and cached stored on the disk, even on a bit by bit level if you so choose.

On the programming layer, you also have direct control over how

different tasks will operate on your data as well. So instead of creating related tables in a relational system and using SQL to manipulate that data you can create routines that will directly manipulate the data to your exact specifications.

So, instead of building tables you may store you data in a linked list or binary tree, which if you're good, could show very, very significant improvements for tasks such as searching and sorting. A DBMS does mostly the same task, however they've devised a very general way of organizing data that works generally for all problems. If you build a custom data solution instead of taking direct routes you can find ways to optimize your code in a way that cuts through the structure and performs tasks just not possible on a DBMS.

However, considering the amount of work that goes into creating an integrated data solution and the strong likelihood that information theory experts/gods who actually work for database companies like Oracle are way, way better programmers then you, there is probably no significant advantage to not using a DBMS unless the ammount of data you are handleing is very small.

PS: I recommend postgresql. People will try to tell you how great mysql is, but its because they're weak. PGSQL is the best DB you can get for nothing in the world. Good luck.

What takes care of the interaction between a program and a computer's hardware freeing application programmers from the task of including such functions in their programs?

OS or Operating System.

I feel that this question is too specific to be of help to people.

1. What function does an Operation System have besides hardware abstraction?

2. Is the Graphical User Interface part of the OS or not?

3. Anyone else have more questions or ways to elaberate?

What is data storage in c plus plus?

A storage class is not a class as such, it is a modifier. C++ provides several built-in storage classes: auto, register, static, extern and mutable.

The auto storage class is implied for all function local variables and it can only be used in functions. Since it is implied it is rarely used. However, with C++11, the auto keyword has an alternative use, allowing unambiguous types to be deduced without the need to explicitly declare their type. This greatly simplifies code where the type is of little importance to the reader, and is particularly useful when iterating through an STL container as it greatly simplifies and shortens the declaration of the for statement that controls the loop.

The register storage class can be used for any variable that will fit in a CPU register. Since register variables do not exist in RAM, they have no address. Declaring a register variable is not a guarantee that the variable will be stored in a register, only that it might be. Simple variables such as counters are good candidates for register variables, however your compiler should be able to automatically determine when to use a register rather than RAM for a variable.

The static storage class ensures that a variable remains in memory at all times. This does not mean the variable is accessible at all times, however, since visibility is ultimately determined by the variable's scope. However, when you modify a static variable that is in scope, it will maintain that value even when it falls from scope (static variables are never destroyed). All static variables must be initialised with a value and each time the program is run, they will default to the initial value.

Class member functions as well as variables can be declared static. Static members of a class are local to the class, rather than to an instance of the class. They are generally used to provide internal class functionality or information that is common to all instances of the class (much like global functions and variables, but scoped to the class). Public static members are also accessible outside of the class, even when no instances of the class exist.

Extern provides external linkage to a global variable that is defined in another file. This is typically used when two or more source files share the same global variable. One file defines the global while all others declare it external.

The mutable storage class is only used in classes, and allows the member to override the constness of the class. That is, when calling constant member functions, the class' mutable members can be modified while the immutable (normal) members remain constant. Mutable members are typically used internally be the class, such that the external "state" of the class can remain constant.

Describe the difference between software engineering and computer science?

1. Computer Science covers the core concepts and technologies involved with how to make a computer do something. Learning to program a computer by writing software is essential, and computer programming is used in most computer science courses. You will learn details about how computers and networks work, but with an emphasis on how software and programming languages work. You will learn how to make them do very sophisticated things (e.g. graphics, robotics, databases, operating systems). You will also learn about the theory behind how and why computers and software work. In your senior project, you will tackle a problem at the frontier of computer science. You may be building a new system, discovering better ways to design software, or developing new algorithms for projects in entirely different fields; it's up to you. Past student projects include: video games, computer modeling and animation tools, and a Linux driver for the Wii remote.

2. Computer Engineering teaches you how to design systems that include both computer hardware and software. You will take classes on how computer hardware works and how to build a computer. You'll take software classes with an emphasis on hardware-related software such as device drivers and operating systems. Computer engineering courses are taught by faculty from both the computer science and the electrical engineering departments. Working computer engineers design computers and the basic software that runs them, including both personal computers and the "embedded" computer systems that run cars, aircraft, videogames, etc.

3. Software Engineering focuses on how to design and build software in teams. You will take many of the same courses as you would in computer science, but you will take additional courses that teach you about topics like requirements engineering, software architecture, software testing, and software deployment. You will learn about working with people (communication, management, working with non-technical customers), processes for developing software, and how to measure and analyze the software product and the software process. The software engineering major requires that you take a three course (nine-month long) sequence called the software engineering capstone. The capstone courses are centered around a large project for an outside customer. In recent years we have built web applications for Intuit (makers of Quicken, QuickBooks, and TurboTax) and Amgen (a bio-engineering/pharmaceutical company). Students work in teams of four or five people to elicit and develop requirements for the system, design an architecture, build prototypes, implement the system, then deploy and maintain the system.

What is the difference between register stacks and memory stacks?

Registers are normally memory spaces internal to the processor or very close to it. They are generally faster than main memory and will be small in size and will hold very frequently used data.

Register stacks are a set of such register memory locations.

Memory refers to computers main memory outside CPU. It is used to keep data and programs. Memory stack is a series of memory locations.
The difference between register stack and memory stack is...

What are the application areas of computer system?

"What_are_the_areas_of_computer_use"

there are various place where computer can use or its software is used

as in

Hospitals-there various machines which work on the software made by us

BPO's

Designing and manufacturing

At airport

At metro

At schools or colleges

etc are place where computer or its application/software is used

What is the advantage and disadvantage of robot to humankind?

Type your answerTHE ROBOT ADVANTAGE:Robots transform company after company. Here are the advantages they offer:

  • BUSINESS BENEFITS:

    Robots are diligent, precise, and consistent. They create high-quality products, increase production, and perfect applications. Unlike human workers, robots are tireless. They eliminate expenses such as vacation/sick leave, worker's compensation, and medical insurance. Companies benefit from having more and better goods produced.

  • MANAGEMENT BENEFITS:

    Robots eliminate many workplace problems. Employee productivity is no longer a concern because robots work without taking breaks, lunches, sick time. They don't waste time or call of sick. High employee turnover and unfilled positions are no longer an issue.

  • EMPLOYEE BENEFITS:

    Robots are taking over mundane, repetitive and dangerous jobs, allowing workers to take higher-paying operational or managerial posts. Robots protect workers from work that could be hazardous to workers' mental or physical health. In other cases, robots assist workers - making their jobs more efficient and manageable.

  • CONSUMER BENEFITS:

    Robots produce consistent, high-quality goods faster and cheaper. Consumers appreciate the opportunity to access better products sooner, and pay less for all this improvement.

Why are buildings insulated?

Insulating your home can reduce those high energy bills which will only increase as the price for energy continues to rise unabated.

Why Insulate Your House?

Heating and cooling account for 50 to 70% of the energy used in the average American home. Inadequate insulation and air leakage are primary causes of energy waste in most homes. Insulation:

  • saves money and our nation's limited energy resources
  • makes your house more comfortable by helping to maintain a uniform temperature throughout the house, and
  • makes walls, ceilings, and floors warmer in the winter and cooler in the summer.

The amount of energy you conserve will depend on several factors: your local climate; the size, shape, and construction of your house; the living habits of your family; the type and efficiency of the heating and cooling systems; and the fuel you use. Once the energy savings have paid for the installation cost, energy conserved is money saved - and saving energy will be even more important as utility rates go up.

This fact sheet will help you to understand how insulation works, what different types of insulation are available, and how much insulation makes sense for your climate. There are many other things you can do to conserve energy in your home as well. The Department of Energy offers many web sites to help you save energy by sealing air leaks, selecting more energy-efficient appliances, etc.

What is software myth in software engineering and explain its various types?

Software Myths

Software Myths- beliefs about software and the process used to build it - can be traced to the earliest days of computing. Myths have a number of attributes that have made them insidious. For instance, myths appear to be reasonable statements of fact, they have an intuitive feel, and they are often promulgated by experienced practitioners who "know the score".

Management Myths

Managers with software responsibility, like managers in most disciplines, are often under pressure to maintain budgets, keep schedules from slipping, and improve quality. Like a drowning person who grasps at a straw, a software manager often grasps at belief in a software myth, If the Belief will lessen the pressure.

Myth : We already have a book that's full of standards and procedures for building software. Won't that provide my people with everything they need to know?

Reality : The book of standards may very well exist, but is it used?

- Are software practitioners aware of its existence?

- Does it reflect modern software engineering practice?

- Is it complete? Is it adaptable?

- Is it streamlined to improve time to delivery while still maintaining a focus on Quality?

In many cases, the answer to these entire question is no.

Myth : If we get behind schedule, we can add more programmers and catch up (sometimes called the Mongolian horde concept)

Reality : Software development is not a mechanistic process like manufacturing. In the words of Brooks [BRO75]: "Adding people to a late software project makes it later." At first, this statement may seem counterintuitive. However, as new people are added, people who were working must spend time educating the newcomers, thereby reducing the amount of time spent on productive development effort

Myth : If we decide to outsource the software project to a third party, I can just relax and let that firm build it.

Reality : If an organization does not understand how to manage and control software project internally, it will invariably struggle when it out sources software project.

Customer Myths

A customer who requests computer software may be a person at the next desk, a technical group down the hall, the marketing /sales department, or an outside company that has requested software under contract. In many cases, the customer believes myths about software because software managers and practitioners do little to correct misinformation. Myths led to false expectations and ultimately, dissatisfaction with the developers.

Myth : A general statement of objectives is sufficient to begin writing programs we can fill in details later.

Reality : Although a comprehensive and stable statement of requirements is not always possible, an ambiguous statement of objectives is a recipe for disaster. Unambiguous requirements are developed only through effective and continuous communication between customer and developer.

Myth : Project requirements continually change, but change can be easily accommodated because software is flexible.

Reality : It's true that software requirement change, but the impact of change varies with the time at which it is introduced. When requirement changes are requested early, cost impact is relatively small. However, as time passes, cost impact grows rapidly - resources have been committed, a design framework has been established, and change can cause upheaval that requires additional resources and major design modification.

Reference

The Artical above is directly taken from the Book "SOFTWARE ENGINEERING - A practitioner's Approach by Rogher S. Pressman" Page: 45-46

Differce between linker and loader?

#)Linker is a program that takes one or more objects generated by a compiler and combines them into a single executable program.

#)Loader is the part of an operating system that is responsible for loading programs from executables (i.e., executable files) into memory, preparing them for execution and then executing them.

Algorithm for converting prefix to postfix using stack?

/*Infix to Prefix And Postfix*/

/*Assignment:5*/

/*Roll No:2102*/

#include<stdio.h>

#include<conio.h>

#include<string.h>

#define MAX 15

#define true 1

#define false 0

/*Structure Decvlaration*/

typedef struct

{

char data[MAX];

char top;

}STK;

/*Function Declarations*/

void input(char str[]);

void intopre(char str1[],char pre[]);

void intopost(char str1[],char post[]);

int isoperand(char sym);

int prcd(char sym);

void push(STK *s1,char elem);

int pop(STK *s1);

int empty(STK *s2);

int full(STK *s2);

void dis(char str[]);

void main()

{

STK s;

int cs,ans;

char str[MAX],pre[MAX],post[MAX];

clrscr();

do /*Using Do-while Loop*/

{

clrscr();

printf(" -----Program for Expressions-----");

printf(" Input The String:");

printf(" MENU: ");

printf("1.Infix to Prefix ");

printf("2.Infix to Postfix");

printf(" 3.Exit");

cs=getche();

switch(cs) /*Using Switch Case*/

{

case 1:

intopre(str,pre);

break;

case 2:

intopost(str,post);

break;

case 3:

break;

default:

printf(" Enter a Valid Choise!"); /*Default Case*/

break;

}

printf(" Do you wish to Continue?(y/n)");

ans=getche();

}while(ans=='y'ans=='Y'); /*Condition for Do-while loop*/

getch();

}

/**************************************************/

/*To Input String*/

/**************************************************/

void input(char str)

{

printf("Enter the Infix String:");

scanf("%s",str);

}

/**************************************************/

/*To Covert Infix To Prefix*/

/**************************************************/

void intopre(STK s1,char str1[],char pre[])

{

int len,flag;

len=strlen(str1);

int check=0,cnt=len-1,pos=0;

char elem;

while(cnt>=0) /*while condition*/

{

flag=0;

if(isoperand(str1[cnt])) /*Checking for Operand*/

{

printf("%c",str1[cnt]);

cnt--;

pos++;

}

else

{

check=prcd(str1[cnt]);

while(check==false)

{

pre[pos]=str1[cnt];

flag=1;

pos++;

cnt--;

}

if(flag==0)

{

elem=pop(&s1);

printf("%c",elem);

}

}

}

}

/**************************************************/

/*To Convert Infix To Postfix*/

/**************************************************/

void intopost(STK s1,char str1[],char post[])

{

int len;

len=strlen(str1);

int check=0,cnt=len-1,pos=0;

}

/**************************************************/

/*To Check For Operand*/

/**************************************************/

int isoperand(char sym)

{

if('A'<sym<'Z''a'<sym<'z')

return(true);

return(false);

}

/**************************************************/

/*To Check The Precedence*/

/**************************************************/

int prcd(char sym)

{

}

/**************************************************/

/*To Display String*/

/**************************************************/

void dis(char str[])

{

}

/******************************************/

/*Push Function Definition*/

/******************************************/

void push(STK *s1,char elem)

{

if(!full(s1))

{

s1->top++; /*Incrementing top*/

s1->data[s1->top]=elem; /*Storing element*/

}

else

printf("

Stack is Full!");

}

/******************************************/

/*Full Function Definition*/

/******************************************/

int full(STK *s2)

{

if(s2->top==MAX) /*Condition for Full*/

return(true);

return(false);

}

/******************************************/

/*Pop Function Definition*/

/******************************************/

int pop(STK *s1)

{

char elem;

if(!empty(s1))

{

elem=s1->data[s1->top]; /*Storing top stack element in elem*/

s1->top--; /*Decrementing top*/

return(elem);

}

return(false);

}

/******************************************/

/*Empty Function Definition*/

/******************************************/

int empty(STK *s2)

{

if(s2->top==-1) /*Condition For Empty*/

return(true);

return(false);

}

What is uses of HTTP?

http stand for hyper text transfer protocol,http is most common protocol used by internet.when a client send a request(http) then server respond html(hyper text markup language)page to client.

http protocol is used for displaying htm pages.

Features of structured programming language?

Structured programming language is actually a concept used to improvise the code over common procedural language. Structured programming is somewhat similar to Object Oriented Programming or OOP, which are blocks of code from sub-routines that define a program's functionality.

Here are the features:

· Division of large problems into small procedures and functions

· Absence of Go to statement

· Main statements include If-then-else, call, and case statements

· Inclusion of facilities for declaring entry points and external references

· Extensive set of operators include arithmetic, relational, logical, bit manipulation, shift, and part word operators

What is primitive system of measurement?

Solar and Lunar cycles. Some cultures used one or the other for the basis of their yearly calendars.

How To find a maximum number in a 2D array?

// Pseudocode

int findMax( int[][] data ) {

// Return if data is empty

if( data.length 0 ) {

return 0;

}

int max = data[0][0];

// Iterate through each element in the array

for( int r = 0; r < data.length; ++r ) {

for( int c = 0; c < data[0].length; ++c ) {

// If we find a value greater than the current max, update max

if( data[r][c] > max ) {

max = data[r][c];

}

}

}

return max;

}

Explain why programs that are developed using evolutionary development are likely to be difficult to maintain?

When a system is produced using the evolutionary development model, features tend to be added without regard to an overriding design. With each modification, the software becomes increasingly disorganized. System maintenance hampered by these problems, as it is harder identify the source of bugs in poorly designed systems. Also, keeping the documentation up to date over successive "evolution" is uncommon. Poor documentation also makes maintenance more difficult.

  • It leads to implementing and then repairing way of building systems.
  • Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans.
  • Incomplete application may cause application not to be used as the full system was designed.
  • there results incomplete or inadequate problem analysis.

Are use cases the functional requirements?

Functional requirements describe function (mapping of inputs to outputs) of a system, what functions or services system should provide (to users).

Use cases describe how user (use case actor) could interact with the system, i.e. functionality of the system available to actors (human users or another systems), from the actor's point of view.

So, yes, use cases describe functional requirements. If we consider all functions provided by system as functions provided to actors - which is usually the case, use cases could be used to describe functional requirements of the system completely.

Why should database be protected?

Database contains data which might be confidential. Data in any organization is confidential. To prevent confidentiality of the firm security need to be implemented.

So that information can not be stolen.

What is the difference between E-banking and E-commerce?

Ecommerce

Mcommerce

1. E-commerce stands for Electronic Commerce

2. E-commerce means doing business transactions on the Internet using computers or laptops.

3. E-commerce you cannot always bring with you your computer or laptop anywhere Laptops are also portable but not as light as mobile phones.

4. E-commerce is charged through the use of swipe machines where you swipe your credit card. You can also transfer money through online banking and pay for products you have bought on the Internet using your credit card number.

5. E-commerce it is not available everywhere because not all places have an Internet connection.

1. M-commerce stands for Mobile Commerce

2. M-commerce means doing business transactions on the Internet through the use of mobile devices

3. M-commerce is very portable because mobile phones are very easy to carry. You can do your business transactions anywhere you go as long as you can access the Internet on your phone.

4. M-commerce is usually charged through the caller's premium rates, charging the user's bill, or reducing the caller's credit, and also through mobile banking.

5. M-commerce is available anywhere you go even if there is no Internet because the Internet is available in your mobile phone,