Design before Programming

Hi Guys ,
i would like to know which is the more trendy  (or useful , easy to learn ) methodology for abap projects right now , im asking this because I m learning more of abap objects but i want learn also  a little bit of  design I always program without design and it hink is not a good idea ,  I ve heard about agile , uml , patterns but im not sure if these are only very theorical concepts.
thank you for your always very useful answers.

See this: https://www.eclipse.org/pdt/help/html/php_executables.htm

Similar Messages

  • How to design a program on paper.

    how to design a program on paper.
    I am planning to create a small program, I want to do some paper work before writing the first line of code, what do I do and how do I do ?
    should I learn UML and do it or any other thing ?
    my question is to experience programmers, what do you do before writing the code for any program ?

    Most projects do very little other than collect information, process the information, and store the information.
    1st - Identify what your project really is (project statement including well defined scope)
    2nd - Identify resources
    Data
    Users
    Equipment Needed
    Developers available for the project
    etc...
    3rd - Do a reality check against your resources
    4th - Aquire more resources as required or scale back project scope
    5th - Get buy off from interested parites on your project definition and scope.
    6th - loop back to 1 as need to attain a working definition and resources to complete the project.
    (Notice: no code has been written yet--nor even thought about)
    7th - Identify Data and Data Sources
    8th - Define appropriate distribution of functionality across Tiers
    9th - Assign teams for each or set phase of each for implementation purposes (according to project needs) Note: User Interfaces are always most complex -- assign your people accordingly.
    10th - Identify data and processes specific to tier
    11th - process flow models with data flow over lays
    12th - design objects to implement process and facilitate data flow
    13th - functionality review and buy off from clients
    14th - loop back to 10 as needed
    (Notice: no code yet)
    15th - <here it is> code here
    16th - debug (with code reviews)
    17th - integrate
    18th - debug (with code revies)
    19th - loop back to 15 as needed
    20th - alpha test (large integration)
    21st - debug (with code reviews)
    22nd - loop back to 20 as needed
    23rd - beta and user trials
    24th - user requested changes
    25th - debug (with code reviews)
    26th - loop back to 23 as needed
    27th - user buy off
    28th - project delivered
    29th - wrap up and archive of documentation
    30th - on going (life cycle) maintenance.
    There ya go, that is about what I go through when desiging a project--the coding is a very very small part in comparison to the rest. Coding come to approximately 20% of a project.

  • How to design a program which determines cyclomatic complexity-advice plz!

    Hi there,
    I've been asked to design a program to detect the cyclomatic complexity of a module read in from a text file. The program should then display whether or not the module is far too complex or not.
    The problem I am having is as follows:
    In what way should I test the complexity?
    I could count the number of conditional statements and add 1. Possible problems here may be mis-counting(difference between do-while and while).
    Any advice would be great,
    Thanks in advance
    Chris,

    The difference between while and Do while is irrelevant. They are both while loops and can be counted by just counting the while part, the do can be ignored.
    while (x<y){
    xxxxxxxxxxx
    do{
    xxxxxxxxxxx
    }while(x<y)

  • Design Patterns: 'Program to an interface, not an impl.' and Factory Method

    Design Patterns: 'Program to an interface, not an implementation' and Factory Method.
    Hi All,
    I've 4 questions. And 1M thanks for your precious input.
    1. OOAD steps:
    Requirement-->Use Cases-->Analysis Classes-->Sequence Diagrams-->CRC-->other UML diagrams if needed--> Domain/Business Classes.
    If we follow the rule 'Program to an interface, not an implementation',
    would that imply NECESSARILY we should have another set of Interface Classes for our Domain Classes? i.e Interface_ClassX for ClassX_Impl.
    2. If the point 1 is a MUST because of the rule 'Program to an interface, not an implementation',
    ie we should have an Interface classe for every one Domain classe,
    would that NECESSARILY imply we should have as many Factory Methods as they are Domain Classes to abstract the creation process?
    Interface_ClassX X= Factory.GetClassX() ( return new ClassX_Impl)
    Interface_ClassY Y= Factory.GetClassY() ( return new ClassY_Impl)
    Interface_ClassZ Z= Factory.GetClassZ() ( return new ClassZ_Impl)
    3. On the point 2, the underlying principle used is Factory Methods.
    Now on the surface, what are other possible business and/or technical naming for such Factory Methods? I mean should we call it a kind of Business Facade?
    4. Is the point 1 and point 2 considered to be the best practices?

    So the question here is whether we can predict having
    more than one possible implementations which required
    option c. Is this a dilema? I guess it's hard to
    predict the future.Right. Hopefully it's fairly obvious while designing things and
    deciding what objects are needed.
    Now, if the Presentation Tier, says JSP, needs that
    ClassNormal object. Would we still keep that line of
    code a.
    OR would we introduce an intermediate object to free
    JSP from the direct creational aspect using new
    keyword like the choice b. that you reject.
    The point here is to reduce the direct coupling aspect
    between the Presentation Tier and Business Tier. So
    what would that intermediate object be?In that case, you have to ask yourself if there is a valid
    need for reducing the coupling. If you simply make an intermediate
    object, what keeps you from making an intermediate object to your
    new intermediate object, ad infinitum.
    That intermediate object could be a Facade pattern, or simply
    an abstraction. We actually did that here, we began a massive
    java project, and we abstracted away from Swing J-classes and created
    our own "wrappers" that simply extended all the J-classes and we had
    all our programmers develop using our wrappers instead of the Swing
    classes. That allowed us to add some custom code, some temporary bug fixes, etc. Some of our classes were nothing more than "EPPasswordField extends JPasswordField" with nothing overridden. It does allow us a place to hook in and adjust or fix things if needed though.

  • I'm having trouble with My adobe Creative Suite 4 Design Standard programs opening. They will bounce to open but won't open up and eventually I will need to force quit as they aren't responding.  I'm thinking it may be a font issue but need some support A

    I'm having trouble with My adobe Creative Suite 4 Design Standard programs opening. They will bounce to open but won't open up and eventually I will need to force quit as they aren't responding.  I'm thinking it may be a font issue but need some support ASAP!

    Nobody can tell you anything without proper system info or other technical details like the crash logs.
    Mylenium

  • Why would you need a database design before implementing?

    Why would you need a database design before implementing?

    977222 wrote:
    Why would you need a database design before implementing?It appears from the 4 questions you put up ina 2 hour period
    help me with this
    Why would you need a database design before implementing?
    Re: answer these quesions pls
    answer these quesions pls
    That you have put off doing your homework and now expect this forum of volunteers to do your research for you ....

  • New measurement starts with the last measurement value before program stop

    New measurement starts with the last measurement value before program stop. This is very embarrassing because we finish at a high measured value and start with small value, which can not be seen on the autoscale screen due to the memorized high first value. We use NI PCI-6220 DAQ board and software written in LabView 7.1 using Express VIs and running in the LabView environment. The program (attached) every half second measures 3 AI channels, filters and scales the data, visualizes, averages and saves it in a file. Please advise me how can I avoid this problem. Please note that I am not very experienced in LabView.
    Attachments:
    OLED_Monitor2.vi ‏785 KB

    I can not run your vi, but if you initialize your controls you should be ok.
    Look at the picture
    Attachments:
    Clipboard-2.jpg ‏16 KB

  • I need program to design a program working on all OSs(windows,lunix,os)?

    the Idea is ( progrm for Lawyers ,
    i need to design a program for the Lawyer , to submit the cases and the price for it , Clients and insert the database , i need to send reports to ( clients & lawyer ) send messages to thier phone numbers
    and a few details alse ( all these actions done from the program i designed from it)  , so i think a program such as VS will do what i want , right ?
    my OS is OS X

    Asma-jamil,
    where did you find Visual Studio available for OS X or Linux?

  • I've designed Calculator Program, used by String function

    Hello Everyone,
                                  I've designed Calculator Program, used by String function. U've any Feedback in this program, cantact me.  
    Thanks & Regards,
    SABARI SARAVANAN M
    Certified LabVIEW Associate Developer
    Attachments:
    calculator.vi ‏71 KB

    Hi Jitendra,
    Does the dump log shows that the cause is memory shortage?
    Thanks and Best Regards,
    Vikas Bittera.
    **Points for useful answers**

  • I am trying to run my registered CS6 Design Standard programs for the first time after install. InDesign runs OK, but Illustrator and Photoshop will only run in trail mode. How do I activate those two?

    I can't get my registered versions of CS6 Photoshop and Illustrator to run in full mode. I installed CS6 Design Standard online end of June (an upgrade from CS5.5), on my old MacBook Pro. I didn't run the programs then as I was waiting on arrival of new MacBook Pro. I migrated the programs from my old MacBook to the new, and today tried to run those programs for the first time. InDesign work OK (after an initial hiccup) but Illustrator and Photoshop will only run in trial mode, and won't let me save files. My CS6 Design Standard shows with it's registration in my Adobe Account. All seems in order, but Illustrator and Photoshop won't run in registered mode. Can you please help?

    Demons1 in the future please only migrate your documents and settings.
    Please use the uninstallers to remove your current installation.  They are located in the Applications/Utilities/Adobe Installers folder.  Once the uninstall is complete you will also want to run the CC Cleaner Tool.  You can find more details at Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6 - http://helpx.adobe.com/creative-suite/kb/cs5-cleaner-tool-installation-problems.html.
    If you need to download a fresh copy of the installation files for Creative Suite 6 you can do so at Download CS6 products.

  • Steps for BDC before  program

    Can anyone just tell me the steps which one follows before going for a BDC Program. i mean right frm the starting if any Company want to implement SAP.

    HI,
    For a BDC upload you need to write a program which created BDC sessions.
    Steps:
    1. Work out the transaction you would use to create the data manually.
    2. Use transaction SHDB to record the creation of one material master data.
        Click the New recording button or the Menu - Recording - Create
    3. Save the recording, and then go back a screen and go to the overview.
    4. Select the recording and click on Edit - Create Program. Give the program a Z name, and select transfer from recording.
    5. Edit the program. You will see that all the data you entered is hard-coded into the program. You need to make the following changes:
    5.1 After the start-of-selection, Call ws_upload to upload the file (the excel file needs to be saved as TAB separated).
    5.2 After the open-group, Loop on the uploaded data. For each line, perform validation checks on the data, then modify the perform bdc_field commands to use the file data.
    5.3. After perform bdc_transaction, add the endloop.
    Execute the program. It will have options to create a batch session or to process directly.
    <b>These are all my finds . Might be it will be useful to you.</b>
    Regards
    Sudheer
    Direct call of transactions, session handling:
    /nxxxx This terminates the current transaction, and starts transaction xxxx
    /n This terminates the transaction. This generally corresponds to pressing F15 to go back.
    /nend This termiantes all separate sessions and logs off (corresponds to System - Logoff).
    /nex This terminates all separate sessions and logs off immediately (without any warning!).
    /oxxxx This opens a new session and starts transaction xxxx in This session.
    /o This lists existing sessions and allows deletion or opening of a new session.
    /i This terminates the current session (corresponds to System End
    /i1, /i2,... This terminates the session with the number given.
    .xyzw Fast path: 'xyzw' refers to the underlined letters in the menus. This type of navigation is uncommon and is provided more for emergencies (such as a defective mouse).
    Batch
    The following commands can be entered in correction mode ('Process in foreground' or 'Display errors only') when processing a batch input session:
    /n This terminates the current batch input transaction and characterizes it as
    /bdel This deletes the current batch input transaction.
    /bend This terminates batch input processing and sets the session to Failed
    /bda This switches from Display errors only to Process in foreground
    /bde This switches from Process in foreground to Display errors only
    ABAP/4
    /h This switches into debugging mode.
    /hs This switches into debugging mode and activates the debugging of system functions.
    Buffer
    WARNING: Resetting buffers can significantly change the performance of the entire system for a long time.
    It should therefore only be used where there is a good reason tdso. As of release 3.0B system administator authorization is required (authorization object (S_ADMI_FCD). The action is noted in the system log.
    /$SYNC This resets all buffers of the application server
    /$CUA This resets the CUA buffer of the application server
    /$TAB This resets the TABLE buffers of the application server
    /$NAM This resets the nametab buffer of the application server
    /$DYNP This resets the screen buffer of the application server

  • Adobe CS5 Design Premium programs crash on opening

    I dowloaded the suite and set it up for a 30-day trial. I got the programs to open initially, but soon after, they started to crash. By the end of day one, every program crashed as soon as I tried to open it.
    I am running on a MacBookPro, 2.16 GHz Intel Core Duo (a little old, but an Intel processor) with 2GB 667 MHz SDRAM and about 300 GB free hard drive space.
    I do have a few CS2 programs still installed on the hard drive. I did not want to remove them until I got CS5 up and running as Snow Leopard won't allow me to re-initialize them, so once gone, they are gone forever. Do I need to uninstall all previous versions before installing CS5?
    I thought I might have an issue with too many fonts open, so I downloaded Suitcase Fusion 3 and neatened things up a bit. That does not seem to have fixed anything.
    I can't talk to Adobe as they don't provide support for the trial -- but I don't want to plunk down $1900 until I know the programs will run... oy.
    Can anyone help?
    E A Menes

    You can have a read through this if you'd like: http://www.theindesignguy.com/purchase-advice.shtml
    The student versions carry the same upgrade rights as full commercial versions so when you leave school you'd be able to move to a new version at upgrade pricing.
    I've put together a small Amazon based store on my website where I've tried to make some sense of what can be upgraded to what and at what price: http://www.theindesignguy.com/book-and-software-store.shtml
    Bob

  • Simpliest design software program

    If you can help me find easy to learn design programs for a graphic designer who has not been in the business in 5 years. The last programs used were photoshop, illustrator and quark. I was in the business for 16 years.

    There are a lot of them that claim to but so far none of them had proven really reliable.
    For thiose applications that have uninstaller, I use them. If not I drag the applications to the rash and empty the Trash.
    Allan

  • Design/ blueprint program recommendation

    my wife and I recently purchased a home and we would like to create a blueprint or diagram of the house with all of the various rooms and landscaping. What program would you recommend
    thanks,
    Michael and Christine

    I have campus sites that have there own fiber or sites that have a GigaMAN connection in which I run AP's in local mode.  The design question you need to answer is, can your link support the number of access points and client connection if the AP's are in local mode.  Like the others mentioned, FlexConnect doesn't have the same features as AP's in local mode, but if your not going to require those futures, FlexConnect might be a better choice.  How does traffic flow... if you have resources in each building, then local mode might not be what you want, since traffic is tunneled back to the WLc and then routed back to the site.  Understanding the traffic flow and your links, will help decide on what your design should be.

  • Design dialog program using the MVC pattern

    Hi,
    I have to design a dialog program using the MVC pattern , with all the controllers lying inside function modules.
    I have searched out on net and could find out that BSP applications are designed using the MVC concept.Please suggest how can the dialog program be designed using MVC pattern.

    I'm currently developing a classic Dynpro dialog program.  I have a module pool, with screens.  I've tightly coupled the module pool with a controller class.  Anything that happens in the module pool, is handled by the controller class. All the logic of screen handling is done by the controller class.
    What remains in the module pool is the capturing of the okcode. the next screen to go to (if applicable), the setting of field attributes.  But the okcode is sent straight to the controller for processing, and the screen/field information is also held in the controller.
    I've also rewritten the auto-generated tab handling code, so the logic is done via a class. 
    So, it is possible - just aim to have as LITTLE as possible in the module pool or function group.
    The model, of course, is in a separate class.

Maybe you are looking for