Re: Refactoring process model,
"rd.naik" <[email protected]> Mon, 29 Oct 2012 05:12:29 -0000
| Newsgroups | gmane.comp.programming.refactoring |
|---|---|
| Message-ID | <[email protected]> |
The stated objective implies that the current (existing) process has subtantial duplicated steps/tasks, the current process is unclear (meaning that it is not clear to the developer from the process description or the process implementation what the process does and how the process does whatever it is expected to do), and also that the process has possible dead tasks or steps. Given the above scenarios, a few questions that come to mind are: 1) Do you intend to "detect" or "identify" the locations of the above problems in the process model, or do you already know the locations? 2) In what form is the process given to you? Is it in the form of process desciption (text), or process models (some formal representation), or an implementation of the process (source code)? 3) After re-factoring the process, what do you expect to deliver? A document of the re-factored process? A re-factored process model? A re-facctored implementation of the process? Am asking the above questions only to understand more details of what do you aim to do. Though re-factoring is generally aimed at improving the design, even the improvement of the design is for certain purpose - like inducing ability to develop changes faster (modifiability), ability to analyze (changes) quickly (analyzability), etc. With a clear objective, it is possible to break down the problem into smaller problems where the techniques of code re-factoring can be attempted. For example, can techniques similar to code clones be applied to detect process step clones? Should certain attributes (like modifiability, testability, etc.) be applied to process models and measured? Can the source code analysis techniques be applied to process models to detect "unreachable" or "dead" paths? Proce ss models are higher level models than source code, and hence it is important to define their scope and structure to determine what kind of analysis techniques will work for them. --- In [email protected], "Amir Kolsky" <kolsky@...> wrote: > > And the name we give this ility is? > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Adam Sroka > Sent: Saturday, October 27, 2012 2:51 PM > To: [email protected] > Subject: Re: [refactoring] Refactoring process model, > > To make the design simpler -- so it has less duplication, is clearer, and > has no unneeded parts. Thus it should be easier to maintain. > > On Sat, Oct 27, 2012 at 2:25 PM, Amir Kolsky <kolsky@...> wrote: > > > ** > > > > > > You do not refactor, that is change the design, just for the sake of it. > > You > > set out with the goal of improving SOME ility -- why else would you > > change your design? The same hold for process refactoring. So, here's > > a question to the original poster -- what are you trying to > > accomplish? > > > > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] > > On Behalf Of Adam Sroka > > Sent: Saturday, October 27, 2012 12:27 PM > > To: [email protected] > > Subject: Re: [refactoring] Refactoring process model, > > > > We refactor to improve the design. We optimize to improve "ilities." > > These are separate activities. The end goal is to have the best design > > that meets the customers needs. > > > > It is true that a given refactoring may preserve behavior but not > > performance (or other qualities.) That's why we write tests for these > > and when they fall outside an acceptable threshold we optimize them > > aggressively. > > > > On Sat, Oct 27, 2012 at 11:51 AM, Amir Kolsky <kolsky@...> > > wrote: > > > > > ** > > > > > > > > > > > Well... Refactoring a system means changing its internal structure > > > without changing its behavior. I would guess that for a process with > > > a specified input and output, you can change the internal steps > > > without changing the outcome. > > > > > > The problem with the definition of refactoring is that what is > > > construed to be the 'behavior of the system' really means the > > > 'functional behavior of the system'. This leaves 'ilities' in an > > > unknown state. Should the performance be the same? The flexibility? > > > The maintainability? > > > > > > If you would keep the full behavior of the system intact, you can't > > > really do any refactoring. So my guess is that by 'process' > > > refactoring we mean making sure that the outcome is the same but we > > > get better performance, visibility, quality, etc. > > > > > > > > > -----Original Message----- > > > From: [email protected] > > > [mailto:[email protected]] > > > On Behalf Of Steven Gordon > > > Sent: Saturday, October 27, 2012 10:15 AM > > > To: [email protected] > > > Subject: Re: [refactoring] Refactoring process model, > > > > > > Would refactoring a model mean that the form and organization of the > > > model is being changed while keeping the meaning of the model unchanged? > > > > > > If so, I would need some convincing to believe there is much > > > practical value in it. > > > > > > If not, then I think refactoring would be a very deceptive way to > > > label what is really reworking a model. > > > > > > SteveG > > > > > > On Sat, Oct 27, 2012 at 12:37 AM, aishafds <aishafds@...> wrote: > > > > > > > ** > > > > > > > > > > > > Hi > > > > Am planning to do a little research on refactoring of business > > > > process models. can you please suggest some ways i can go about... > > > > > > > > Was thinking of a normalization approach to the models...do you > > > > think this idea can work out ? > > > > thanks > > > > looking forward to your suggestions Aisha > > > > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > ------------------------------------ > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > ------------------------------------ > > > > Yahoo! Groups Links > > > > > > > > > [Non-text portions of this message have been removed] > > > > ------------------------------------ > > Yahoo! Groups Links > ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/refactoring/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/refactoring/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/