THINGS ABOUT SOFTWARE
ENGINEERING) WITH COMPLETE
SOLUTIONS
Requirements Specifications - ANSWER - It simple is the main request of a product.
- Create high-level descriptions.
- Distinguish between 'right' and 'wrong' system.
- Capture WHAT not the HOW of the solution.
* Somehow "Requirements Specification" is the Process and also the Product of that
Process itself.
(In my opinion Requirements Specifications is the think create the main request of a
product, as we follow those requests to make the things like it described that called
PROCESS. Then, when all of the requests are done, we have the product so it calls the
PRODUCT itself.)
Requirements Specifications WHY important? - ANSWER - As 2 reason:
1: Engineering Argument.
- If we spend time on requirements, we will have low cost overrun.
(spend 5% time to make 50% cost overrun. But spend more is not effective as expect,
10%-20% of 40% cost overrun)
2: Economic Argument.
- Longer fester, more costly to fix.
(if we find some thing wrong at the Requirements, it will almost throw those thing we do
on sea. Developing have many stage.
Exam: Design -> coding -> unit and integration testing -> system testing -> again a
thousand times at deployment.
* If when we fail at the almost end, we will fix it from begin, it nearly do it again. And it
can make the cost for this x1000.)
SRS (Software Requirements Specification) - ANSWER - The name define itself!
(Software Requirements Specification)
SRS document: - ANSWER - Two ways to write SRS document as it has 2 audiences!
1 - User (Client, user, or both)
2 - Developer (Developing team)
System specification - ANSWER - It is the way to meet user requirements.
, Requirements and Specifications - ANSWER - Requirements for the user, so write your
requirements in the user language.
Specifications for the developer, so write your specifications in the system language.
*BE SURE: your specifications meet the requirements.
Non-funtional Requirements - ANSWER - Requirements which don't specify what the
system will do, but
rather how the system will perform the behaviors.
- Define system properties and constraints.
- Process requirements.
- Often more critical than functional requiments.
Three Non-functional Classifications - ANSWER - + Product requirements: Specify the
delivered product must have in a particular way.
+ Organization requirements: Requirements which are a consequence of organizational
policies and procedures.
+ External requirements: Requirements which arise from factors which are external to
the system and its development process.
Something more about Non-functioncal Requirements - ANSWER - NEVER TO BE
OVERLOOKED!
- Very important on nearly every project.
- Be sure to consider them separately from the functionality
- Consider each classification separately.
WRSPM Stand for: - ANSWER - W: World ( là những thứ bao quanh hỗ trợ
Requirement, giả định tất cả trường hợp khả thi quanh Requirement, thường được sử
dụng bằng cụm từ "World Assumptions")
R: Requirements (Là yêu cầu từ phía người dùng với mong muốn giải quyết vấn đề gì
đó)
S: Specifications (Là hướng giải quyết được đưa ra nhằm phục vụ giải quyết các vấn
đề của Requirements)
P: Program (Là phần mềm của thiết bị/ hệ thống phục vụ cho việc giải quyết các vấn đề
của Requirements thông qua các Specification)
M: Machine (Là cỗ máy/ phần cứng và hoạt động cùng với Program để hỗ trợ các
Specification)
Software Architecture - By Garlan & Perry - ANSWER - Software Architecture is "the
structure of the components of a program/ system, their interrelationships, and
principles and guidelines govering their design and evolution over time.
Software Architecture - By Bass, Clements, and Kazman - ANSWER - Software
Architecture of a program or computing system is the structure or structures of the
system, which comprise software elements, the externally visible properties of those
elements, and the relationships among them.