【软件工程】关于软件工程里需要熟悉的一些基本问题的讨论(一)
2014-10-27 22:11
351 查看
1. What is the software engineering?
Software Engineering is to design, develop and maintain a software in a systematic, collaborative, iterative and cost-effective way. It is a good method that let you to understand, design and build from business need to quality
solution.
2. Compare and contrast waterfall and incremental development process models.
Waterfall:
assume requirements are well known
change is difficult to be accommodated
limited customer insight
does not reflect how actual software development is done
Incremental:
reduce cost of change
rapid delivery
easy to get customer feedback
the process is invisible
3. What is the difference between generic software product development and commissioned software product development?
generic: it is sold for general public, can perform different kinds of task, no limitation of any specific application.
commissioned: it is sold for particular customers, with limitation of specific requirement.
4. Describe requirements engineering in a few sentences.
it is the description of system services, functions and constraints that are generate during the requirement engineering process. it make the system solve the problem efficiently.
5. What is requirement engineering process?
requirement engineering process is an iterative process including requirement elicitation, requirement analysis, requirement specification and requirement validation.
requirement elicitation: elicit the basic information from all stakeholders.
requirement analysis: determine whether the requirement is feasible or not. There is no conflict between any 2 requirements.
requirement specification: document the requirement. laying out the functional and non-functional requirements
requirement validation: determine requirement priority, completeness and meet the basic needs.
6. Describe the general phases that are common to all software engineering projects.
requirement analysis: gathering, refining and documenting the requirements for the software to be developed.
design analysis: transfer from requirement model to design views.
implementation: coding and building the software
testing: to check bugs and errors by users and QA
maintenance: After releasing the software, there should be a change or upgrade based on customers' feedback.
7. What is the tradeoff in software engineering?
time, cost and scope.
8. Discuss why change becomes more costly in later phase of the software engineering process.
The later phase the change occurs, the more work will be required to accommodate the change.
For example, if a customer want to build a software on window operating system, and in later phase, he change his mind and want to build on mac operating system. We have to rebuild everything and discard everything. there might
be a huge amount of work to do.
9. What is prototyping?
A partial implementation of the system used to validate requirements, validate architecture or try out new technologies.
10. What is refactoring?
Improve the structure of the software without affecting its behavior.
Software Engineering is to design, develop and maintain a software in a systematic, collaborative, iterative and cost-effective way. It is a good method that let you to understand, design and build from business need to quality
solution.
2. Compare and contrast waterfall and incremental development process models.
Waterfall:
assume requirements are well known
change is difficult to be accommodated
limited customer insight
does not reflect how actual software development is done
Incremental:
reduce cost of change
rapid delivery
easy to get customer feedback
the process is invisible
3. What is the difference between generic software product development and commissioned software product development?
generic: it is sold for general public, can perform different kinds of task, no limitation of any specific application.
commissioned: it is sold for particular customers, with limitation of specific requirement.
4. Describe requirements engineering in a few sentences.
it is the description of system services, functions and constraints that are generate during the requirement engineering process. it make the system solve the problem efficiently.
5. What is requirement engineering process?
requirement engineering process is an iterative process including requirement elicitation, requirement analysis, requirement specification and requirement validation.
requirement elicitation: elicit the basic information from all stakeholders.
requirement analysis: determine whether the requirement is feasible or not. There is no conflict between any 2 requirements.
requirement specification: document the requirement. laying out the functional and non-functional requirements
requirement validation: determine requirement priority, completeness and meet the basic needs.
6. Describe the general phases that are common to all software engineering projects.
requirement analysis: gathering, refining and documenting the requirements for the software to be developed.
design analysis: transfer from requirement model to design views.
implementation: coding and building the software
testing: to check bugs and errors by users and QA
maintenance: After releasing the software, there should be a change or upgrade based on customers' feedback.
7. What is the tradeoff in software engineering?
time, cost and scope.
8. Discuss why change becomes more costly in later phase of the software engineering process.
The later phase the change occurs, the more work will be required to accommodate the change.
For example, if a customer want to build a software on window operating system, and in later phase, he change his mind and want to build on mac operating system. We have to rebuild everything and discard everything. there might
be a huge amount of work to do.
9. What is prototyping?
A partial implementation of the system used to validate requirements, validate architecture or try out new technologies.
10. What is refactoring?
Improve the structure of the software without affecting its behavior.
相关文章推荐
- 【杂谈】关于getchar,Ctrl+Z,EOF的一些问题讨论
- 关于软件工程的一些基本概念
- 关于金蝶K3系统(工业)供应链部分,使用前需要基本了解的一些信息
- 关于java的一些小问题,list中添加对象,java基本数据类型对象
- 关于软件工程的一些基本概念
- 关于数组和指针的一些基本问题
- 关于系统安装一些需要注意的问题
- 关于登录加密问题的一些讨论
- Zedboard-关于Zedboard的FSBL的一些问题讨论
- 在创建表时,需要考虑的一些基本问题
- 一些后台开发的基本问题(需要懂得)
- 关于取反、移位、类型转换需要注意的一些问题
- (K&R小结第1篇)1.5 中关于getchar,Ctrl+Z,EOF的一些问题讨论
- 关于Integer对象比较,和int基本类型比较的一些问题
- 关于一些 基本的math函数 和 float double 的范围 问题
- 关于静默安装需要注意的一些问题(转)
- 关于SelectOjbect使用需要注意的一些问题
- 关于SWT学习的一些基本问题
- 关于angular js中ng-view的一些问题讨论
- 关于继承的问题的一些讨论