Essay PreviewMore ↓
• Glass law-
(Requirements deficiencies are the prime source of project failure)
This law explains the properties which a software development system should have while development of the software. The requirements phase gather the Information which assist in next phase of software engineering (software development). Requirement phase determines all the questions start from W such as after final development where the final product will be use, what type of users use it and what features or services it should provide. It is imperative to continue check and update the requirements up to when the appropriate requirements not finalize. Inadequate, incomplete or irrelative data or information of requirement may generates errors in next development phases of project. The main cause behind erroneous requirement definitions are distinct needs of several users groups and difference among their interest. (santhoshgoud, 2010)
For instance- suppose we are developing a software for the senior citizens and by unknowingly or improper requirements definition we put dark colors and small fonts which cause problem for users (old people) to use this end product leads to conflict.
• Boehm’s first law-
(Errors are most frequent during the requirements and design activities and are the most expensive the later they removed)
Generally this law describes that the development of the any proposed project may leads to errors and conflictions. To avoid these errors it is better to check and remove by update the each development phases early than to find and solve a problem later in last phases. In terms of all constraints and factors it is convenient, inexpensive and time saving to fix errors in early stages rather than to search and resolve the errors in the last development phases which results the project development costs high and time consuming. (santhoshgoud, 2010)
For example- there is a group of users who orders to develop a project of old age trip system and by mistake or error in requirement phase the age group was noted as a young group trip system, so by using these requirements the final project gone developed and checked then it realize that this project is not same as the user requirement which results to develop the project again from beginning phase which raises the cost as well as time usage.
• Boehm’s second law-
(Prototyping (significantly) reduces requirement and design errors, especially
for user interfaces)
This law states that it is better and useful to make prototype of a project or system which is to be develop.
How to Cite this Page
"Principles of Software Engineering Questions and Answers." 123HelpMe.com. 18 Mar 2019
Need Writing Help?
Get feedback on grammar, clarity, concision and logic instantly.Check your paper »
- Universal Code of Software Ethics Introduction Software organizations are growing along with the international businesses they service. Driven by universalism, the world is becoming a single workplace and marketplace. Like all professionals, Software professionals who work within these organizations regularly face problems of an ethical and moral nature. In making decisions, what cultural, social and ethical norms should apply - those of the professionals’ home culture or those of the culture in which they are working, and indeed, are these two choices necessarily different.... [tags: Computers Software Technology Essays]
3512 words (10 pages)
- Hi, What are some good strategies for software project implementation. ' 'Project Managers ' ' who manage new implementations use project plans to document the project’s tasks, the responsibility for each task and associated target dates and task dependencies on each other. Project Managers use this document to gain awareness of what tasks need to be accomplished and the status of the project at any given time. They are often responsible for the overall implementation and providing project status communication to stakeholders and team members.... [tags: Project management, Project plan, Management]
702 words (2 pages)
- Summary This article discusses the reasons why software implementation problems are so common and how applying six sigma methodology can do to address these problems. According to the author the two most common causes of software project failures are customer requirement problems and estimating problems. He offers two case studies as examples of how six sigma can address these aspects of software implementation. The first case study discusses some of the ways six sigma can help with customer requirements, and the second case discusses the role of six sigma in schedule estimating.... [tags: Six Sigma, Strategic management, Case study]
713 words (2 pages)
- Question 3 (5 points): What is the difference between a “System” and a “Subsystem”. Answer 3: A system is a collection of organized things and combination of parts working together to accomplish a goal. Whereas a subsystem is derived from system and it is an integral part of a larger system. Question 4 (5 points): Please “fill in the blanks” on the following table, summarizing in your own words the key definitions of Methodologies, Models, Tools and Technique. Please try to highlight the differences between each.... [tags: Requirements analysis, Software requirements]
898 words (2.6 pages)
- What type of database questions are asked in interview for testing positions. - Testing Q&A Series This article is a part of software testing questions and answers series. You can see all previous articles under this Q&A series on this page - Software Testing Questions & Answers. If you want to ask a question, just write a comment below. http://www.softwaretestinghelp.com/category/questions-answers/ Mallik asks: "What type of database (SQL) questions asked in interviews for test engineer position (not for database tester)?" This depends on many factors whether these questions are for testing positions at freshers level or for experienced testing professionals.... [tags: Software ]
853 words (2.4 pages)
- 1. Our media is in the hands of very few large and powerful corporations. What is the cost of this practice. Consider political and economic influences. In the Beyond Borders textbook on pages 60-74 Michael Parenti’s article “Mass Media: For the Many, by the Few” goes into great detail of the few corporations that control the media and the costs of this practice. Let us first discuss what classifies as media. We have newspapers, magazines, radio, films, television, etc. Television and radio are the most dominated forms of media that are in the hands of four giant networks, which are, ABC, CBS, NBC, and FOX.... [tags: IDS Questions and Answers]
1286 words (3.7 pages)
- 1. Human Resource Management 2. Code of Ethics and Sustainability Program 3. 3. R 1. Define human resource management. What critical human resource management functions must be performed regardless of the organizations size. (Up to 10 pts.) Human Resource Management is the title given to define formal systems arranged for the management of people within a company. There are many responsibilities of a human resource manager. These responsibilities usually fall into three major areas: employee compensation, staffing and defining and/or designing work.... [tags: case studies, book review questions]
1663 words (4.8 pages)
- 1. Fully explain the role of ATP in the sodium potassium pump. Sodium potassium pump is a primary active type of cell transport where in it pumps ions against the concentration gradient. In the human cell, sodium and potassium are essential ions in maintaining normal fluid volume moreover it is an important ions that maintains the function of excitable cells such as nerve and muscles cells in transmitting impulses or contracting the muscles. The mechanism is that the sodium potassium pump pumps potassium ions from outside the cells to the inside of the cell while at the same time it pumps sodium ions from inside to outside the cell.... [tags: BioChemistry, Queston/Answer]
2055 words (5.9 pages)
- Step 1: Define Your Research Purpose The purpose of my research is to find information about a city that I would might like to settle down in and I have chosen San Diego, California. Step 2: Take a Mental Inventory I live in the country in a small town in Maine a state in New England. I do not mind the climate sometimes I may wish for better weather but, it is a losing fight. I like the free air the proximity to the Atlantic Ocean and New Hampshire. I like also that Portland not far and Boston is near by as well.... [tags: san diego, research questions, purpose]
1094 words (3.1 pages)
- 1) What does information management mean to you. Someone has rightly said, "Information management is a bridge between users and technical implementers, between aspiration and reality, between what's unrealized and what's possible." Information drives the economy. If employees of an organization know the value of information based decision making, it can help the organization drive forward. Information Management is about learning the different aspects of information, technology and people. It is about understanding the user groups, their needs and making a useful product.... [tags: Information Management Essays]
902 words (2.6 pages)
- Classism in The Great Gatsby and A Streetcar Named Desire
- Minorities in College: Sports Should NOT Be the Only Avenue to Success
- Why Farmers Utilize Suboptimal Methods
- Chinese Economic Reform: The Late 1970's to Present
- The Cobb-Douglas Production Function for South Africa
- The Importance of Culturally Competent Nursing Care
For example- suppose we are developing a software for bank to calculate the total interests on saving amounts of customer and by mistake its calculate only interest but cannot add this interest into total amount leads to error, but we can remove this error before final product by creating a prototype to by which we can check whether the development phase is going according to requirements or not. So that we can save time, cost and efforts.
• Constantine’s law -
A structure is stable if cohesion is strong and coupling low.
To understand this law we have to know first about the cohesion and coupling. Cohesion defines the intra-module communication means interaction between the modules whereas the coupling describes inter-module interaction means interaction among units or parts inside a module.
2. Describe two software development methodology clearly and completely in your own words. You may use diagrams, examples or UML to help you do this.
Software development methodologies are promoted as a means of improving the management and control of the software development process, structuring and simplifying the process, and standardizing the development process and product by specifying activities to be done and techniques to be used. It is often assumed that the use of a system development methodology will improve system development productivity and quality.
Let us explain two software development methodology-
• Waterfall model methodology
• Prototype methodology
Waterfall model methodology- The waterfall model is a sequential development approach, in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance.
The basic principles are-
Project is divided into sequential phases, with some overlap and splash back acceptable between phases.
Emphasis is on planning, time schedules, target dates, budgets and implementation of an entire system at one time.
Tight control is maintained over the life of the project via extensive written documentation, formal reviews, and approval/signoff by the user and information technology management occurring at the end of most phases before beginning the next phase.
The Waterfall model is a traditional engineering approach applied to software engineering. It has been widely blamed for several large-scale government projects running over budget, over time and sometimes failing to deliver on requirements due to the Big Design Up Front approach. Except when contractually required, the Waterfall model has been largely superseded by more flexible and versatile methodologies developed specifically for software development.
Prototype methodology- Software prototyping, is the development approach of activities during software development, the creation of prototypes, i.e., incomplete versions of the software program being developed.
This methodology is based on few principles- -
Not a standalone, complete development methodology, but rather an approach to handle selected parts of a larger, more traditional development methodology (i.e. incremental, spiral, or rapid application development (RAD)).
Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.
User is involved throughout the development process, which increases the likelihood of user acceptance of the final implementation.
Small-scale mock-ups of the system are developed following an iterative modification process until the prototype evolves to meet the users’ requirements.
While most prototypes are developed with the expectation that they will be discarded, it is possible in some cases to evolve from prototype to working system.
A initial based understanding of the fundamental problem is necessary to avoid solving the wrong problem.
3. Using the above four laws of the text, show where these are either implemented or missing in each software development methodology (Total Two). If a law is missing, explain the consequences and suggest how the process might be improved.
As we took two software development methodology waterfall model and prototype methodology
In case of waterfall model – As we discuss that in this model it is imperative to make sure each phase is 100% complete and absolutely correct before proceeding to the next phase. Program requirements should be set in stone before design begins (otherwise work put into a design based on incorrect requirements is wasted). The program's design should be perfect before people begin to implement the design (otherwise they implement the wrong design and their work is wasted), etc
If we compare, laws and models, in a view, we can see that Waterfall model obeys Glass law, as a whole process is just dedicated to requirement gathering and analysis, so its meet Glass’s Law. For Boehm’s first law, traditional waterfall, being a very linear of its nature, may have deficiencies in requirements and design phase; which may be considered during the respective phases but because of not revising those through any means like prototyping or modeling, these deficiencies aren’t dealt properly may cause you a lot of money and loss of reputation. So there must be some space for coming over these issues and there should be some phase entry and phase exit milestone so to come over those left over errors. As far as Boehm’s second law is concerned, Waterfall model doesn’t provide room for Prototypes, which are essential for better understanding of requirements given by users and also satisfying users of their investment. So as mentioned before, prototypes should be provided in feedback loops in order to make this model more realistic.
In case of prototype methodology - In this model into, we can notice that it starts with meeting and gathering requirements from user, making a mock system and then given for acceptance testing to the user and if requirements are met, then it is a free go and if not, iteration is given to the process again and again until the requirements are fully met. So we can say that this model abides Glass Law, that there is a fair less chance of requirement deficiency. This model also meets Boehm’s first law, as it iterates itself until the user is left with any leftover requirement, so there is very low likelihood of having any error in requirement and designing. This model also satisfies the Boehm’s second law, as it provides user with a mock representation of the system first, so to clear any ambiguity in any requirement, which may be, but not limited to screen representation, output format, overall layout of the system and much more.
4. For each software development methodology, give an example of a project which it would be well suited for and one which it would be inappropriate for (Total Two projects for each software development methodology). Justify your answers.
When to use the waterfall model:
Requirements are very well known, clear and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are available freely
The project is short.
When not to use waterfall model:
Once an application is in the testing stage, it is very difficult to go back.
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of changing.
A good example of where waterfall is useful include embedded software such as that found in devices & cars, or mission critical software where the cost of bugs are high, such as flight control software. Any methodology used to develop these systems will always need robust requirements gathering, documentation and testing phases; hence waterfall remains a viable choice in these cases.
Prototype model- In the science and practice of metrology, a prototype is a human-made object that is used as the standard of measurement of some physical quantity to base all measurement of that physical quantity against. Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user.
5. Describe and illustrate Mcllroy’s law with examples. This law was published in 1968; is this law still valid today? Justify your answer with examples.
Mcllroy’s law states that- Software reuse reduces cycle time and increases productivity and quality.
This law simply describes that the prototype or frame and components can be reuse as the approach to reuse. All the problems are overcome by using techniques such as encapsulation, generalized functions and proper documentation. For instance consistent terminology, classification, good library search skills and the motivational developers. This technique is still use to generate a new software by using existing software methods. This is easy to generate reusability technique, as it use less time and cost is also reasonable to develop new system. But there is only one issue that reuse can be only done by expert developer to reuse existing system by understanding and trusting. Also all of the services, degree of verification and validation and its integration constraints are also great concerned. It is true that reuse of proven software avoids defects and saves development time but it can be lead towards to a bad system design if it is not justified correctly. (Randell, 1969)
Randell, P. N. (1969). Software Engineering. belgium: Nato science committe.
santhoshgoud. (2010). principles of software engineering. Retrieved from studymode.com: http://www.studymode.com/essays/Principles-Of-Software-Engineering-372321.html