One option is an in-place upgrade. In this type of upgrade, you install SCCM on the server with the existing SMS installation. The SCCM installer performs an upgrade over the existing installation and keeps SMS’s settings and configuration. If any of the default collections or the customize hardware inventory file (SMS_def.mof) has been modified, they should be backed up before the upgrade. You also need to disable SQL replication before the upgrade.
You can also perform a side-by-side upgrade. To do this kind of upgrade you install a brand new SCCM site and make the existing SMS infrastructure a child of the new SCCM site. If there are multiple SMS primary sites then you should start from the top of the hierarchy. If there are SMS child sites, you should attach those child sites to the new SCCM site. You should move clients from the SMS site being replaced to the new SCCM site and then move the boundaries belonging to the SMS site to the SCCM 2007 site. You can then turn off any SMS 2003 site publishing into AD and remove any WINS registrations.
Optionally, if you want to take custom collections, software distribution objects (packages), or both to SCCM when you do a side-by-side upgrade, you need to upgrade the SMS site in place to SCCM. Make this in-place upgraded site the parent of the new SCCM site you created. Remember that collections and packages can only replicate down the hierarchy, so making this site the parent is the only way to allow the collections and packages to replicate. Once the replication is complete, detach the upgraded site and decommission it. Microsoft provides a detailed flow chart for the side-by-side upgrade process.