Something in Soft Engineering

来源:互联网 发布:淘宝店铺收藏自动回复 编辑:程序博客网 时间:2024/06/05 20:08

1. Process and Product,

It is a topic about soft engineering. In soft engineering is talking about two things, Process and Product. As known to all:

A) Product is our purpose (or target), and

B) Process is show that how to do in project.

We always want to have a good product, but what is a good product? Good to use, develop with few money, bring user more efficient. If you answer is include in those point. Indeed, you lost many things; actually, a product is not only composing what you build, whereas what you do.

 

Take example,

If you build a system, of course it can include hardware, then you list the hardware specification in you proposal document. Do not forget the hardware will evaluate and the price of machine will cheaper and cheaper, so the client also knows that, so he/she will not satisfy the type of machine with so much money after project is close to finish. Thus, an argument will break out. Remember that client has not paid all of money to you. So, with this argument in a project, this should finish in several months and now keep more than one year. At this issue, the answer is to include third part into you project. The third part is somebody who both side are trust. He/she is to peace the argument by severing side and client side.

 

It is an example. So, what is product? It is all of your project rather than something what you build. You project is cost $100’000 and finish in 6 months, so $100’000/6 per month. Now it is only worth $100’000/12. However, the money your make is short.

 

Now, we have a new notation, Product is Process. There is the reason why we should so much focus on soft engineering. Because it will make you get more money.

 

2. Software life cycle is the model of process,

There are many style of process, waterfall is only one of them. Such as,

1)  waterfall model

2)  rapid application development

3)  prototyping

4) incremental development

5) spiral model

6) component-based model

7) case-based model

8) rational unified process

9) Microsoft solution Framework.Process model

Even so many models have been widely use, but no one it is suitable for your project. So they are only a principle, not a unified process for everybody. However, be very caution on No Unified Process for every Project. So, you should build your own process in a special project with reference those famous process models. There is why I talking component of process rather than talking about a full process in following expression.

 

3. Requirement and Modeling will not divided,

The example is one of mistake in requirement of client. In this cycle, we should more focus on WHAT is the system, rather than HOW about the system. It’s three principles,

A) Understand the problems:

In this part, it is including: background of client, purpose of system, architecture of client, and so on, as much as you can know from you client.

B) Defining

In this part, It is including: Data, Function and Behavior of allover the system. Actually, you can not describe these three points with one or three diagram but you should with several diagrams with different of level in hierarchy of the system.

C) Modeling

In this part, It is including: layered partition (to-down), and Multiple view of model. the previous notation (layered partition is expressed in Defining), however, Multiple view of model is that client and engineer will consider the system with different things, such as in engineer, they will more focus on Entity-Relationship Diagram in Data Defining, Data-Flow Diagram in Function Defining and State-Transition Diagram in Behavior Defining. Whereas client will more focus on the interface, cost, function, etc of the system.

 

4. Coding and Test,

In this cycle, it’s not the key point in this paper, so ignore.

 

5. Maintenance,

In this cycle, it’s not the key point in this paper, so ignore too.

 

6. Conclusion,

In this paper, we have a new notation of Product and Process in engineering. However, CMM is break out in those reason. And it is become a criterion of a process in developing software and even hardware. Why we will develop software, it is for a win-win. Client gets more efficiency and you get the more payment.