Object Oriented Software Engineering   View all facts   Glossary   Help
subject > person or group > person > engineer > software engineer
Next engineerChartered Engineer    Upengineer, software developer    Previous engineerprofessional engineer   

software engineer comparison table
Subject fill in recognize accept adjust rush have role teach adhere to become use communicate with learn check for hold redesign create add plan build check reuse practice on work for ensure that ignore realize work with take personal responsibility for develop set license optimize is a kind of perform underestimate remove realize that interact with document evaluate is part of understand basically emphasize allow participate in fail to refuse be have goal design for is a subtopic of want prototype exceed maintain narrow prepare undertake know agree on ask inform avoid understand follow identify take time work on balance study educate as have purpose omit divide reward for judge on interview assist write make apply design combine have license in find design with
software engineer doing interviewingcertain missing details of a framework to complete the application or subsystem it representsactivities that are not consistent with the goal of solving customers' problems, such as adding unnecessary features, and situations when it would be most cost effective not to develop software at all, to develop simpler software or to purchase existing softwarea contract where she is required to implement requirements with no changes allowedthe requirements or design as soon as important changes are discoveredchangesto put knowledge to use in innovative ways to solve problemsinterviewing skillsa code of ethicsthe manager of a development team at some point in her careeruse case analysis to help define the tasks that the user interface must help the user performpeople, to understand how they work and to understand what impact any proposed software may have on these people's productivityhow users and customers think and behave so it will be easier to produce software that meets their needsvalid generalizations by checking that:
  • superclasses and subclasses have unambiguous names
  • each subclass retains its distinctiveness throughout its life
  • all the inherited features make sense in each subclass
a series of interviews with the most important stakeholdersparts of an over-complex system as necessaryprototypes to try out the technology you will be usingunnecessary new featuresbudget and schedule which requires a great deal of knowledge about what is required to produce a system, and how long each activity should takeflexibility and other aspects of maintainability into the software from the start so that changes are easier to makethe consistency of requirements with any standards, with other requirements in the document, with higher-level requirements and with the requirements for other subsystemsothers' work, rather than re-developing software that others have already developedprototypes or systems that are of lesser importance in order to gain sufficient experience in a particular technologyseveral months on a testing team; this will heighten her awareness of quality problems she should avoid when she returns to designing softwarehis systems can be produced within a limited budget and by a certain due datelong-term needs of the customersthat developing reusable components will normally simplify the resulting design, independently of whether reuse actually occursthe customer to resolve any problems with requirements in a project where requirements have already been determinedworklistening skills and empathy for users and customersobjectives for quality when starting a projectbefore the 1940's in most jurisdictionscertain aspects of designs - achieving the best possible levels of certain qualities, while not exceeding a certain budget and at the same time meeting objectives for the other qualitiessoftware engineerquality assurance activities on each change in a systemsoftware development time because it is very hard for people to assess the quality of software or to appreciate the amount of work involved in its developmentfeatures that are not neededthe vicious circle of software reuse exists and costs money - in order to save money in the longer term, an investment in reusable code is justifiedusers and clients to keep up-to-date on their needsa design only after it is completehow the system will impact all the stakeholders, and work closely with them to foster increased understanding of issuessoftware development teamhow their managers run projectsthe use case or use cases which are central to the system, which represent a high risk because of problematic implementation, or which have high political or commercial valueseveral hours for each interviewpromoting and marketing the projectadequately involve users in the development processto reuse components in which they lack confidenceaware of things which may changerewarding career, recognition, or the challenge of solving difficult problems or by being a well-respected 'guru' in a certain area of expertiseflexibility to accommodate potential changes4.6 - Some Techniques for Gathering and Analyzing Requirementssoftware that is easy to design and maintain and which has parts that are easy to reusethe system early, especially those parts that involve complex algorithms, in order to determine whether performance will be satisfactoryquality objectives which helps them avoid spending more effort than is necessarysoftwarethe scope^2 of a system if possible by defining a more precise probleman extensive list of questionsa serious software project without doing domain analysiswhether a system meets the customer's needs until it is delivered and in userequirements
  • about specific details such as maximums and minimums, whether there are any exceptions to rules and what possible changes might be anticipated
  • about the stakeholder's vision for the future
  • about any alternative ideas, or how they would feel about alternative ideas you have
  • what would be a minimally acceptable solution to the problem
  • about other sources of information
  • the interviewee to draw diagrams or such things as the flow of information, the chain of command or how some technology works
the project manager about any problemstechnology sold by just a single vendor and which has relatively few other customersthe application domain so he or she can communicate effectively with clients and usersthe IEEE/ACM code of ethicsall the use cases associated with the software productto understand software before making changescustom softwarethe benefits of the use of third-party technology with the risks of problemsPeter G. Neumann's Risks Digest to ensure they do not recreate the failures listed in itan engineerto solve problems economically by developing high quality softwaredesign documentationa system into smaller subsystems, so that each one is naturally simplerdeveloping reusable componentswhen they deliver product, not on its quality levelas many stakeholders as possible, as well as users of competing products, marketing personnel, and people involved with other systems that may interact in any way with the proposed systemthe manager of the development teamclear documentationtheir designs reusable by designing and documenting software so that it is understandable and flexible enough be used in a variety of different systemswell-understood techniques in an organized and disciplined wayuser interface after doing some domain analysis and defining the problemthe best features of each process modeluser interface design skillsmost countries in order to legally perform consulting or self-employed work where you call yourself an 'engineer'reusable componentschange in mind

Next engineerChartered Engineer    Upengineer, software developer    Previous engineerprofessional engineer