I recently received a task to develop 3D buildings with roof structure. All I have now is satellite images and aerial photographs covering the entire urban area. After reading some previous methods, it seems possible to achieve this with building/roof edges delineated and height information (e.g. a digital surface model). Is it possible to perform these tasks in ArcGIS? If so, with which tools? I am pretty new to GIS so I am not familiar with tools involved in such tasks.
You don't have enough data.
@Michael Miles-Stimson pretty much covered it in his comment. You need a dense LiDAR survey and then a 3rd party plugin or software (there are no OOTB tools for this in ArcGIS) for feature extraction. Even then the features will likely need to be vectorized and cleaned up manually in 3D editing software (Again ArcGIS has an ArcScene viewer and 3D geoprocessing functionality but no actual 3D editing features).
Photogrametry may be an option if your imagery is of sufficient resolution, but you will need to use 3rd party software. Esri does not have any tools for this. Furthermore, from the little architectural photogrametry I have done I found it to be a very time consuming process. There are white papers describing automated building extraction using photogrametry and probably specialized software that can acheive semi-automation but LiDAR building extraction may have diminished these efforts.
What you describe is possible with typical urban vector datasets provided they contain building heights but sans the roofs. In my city we have this type of data and I can extrude then entire city in one shot using 3D Analyst and although the buildings are correctly extruded footprints and good enough for basic analysis, much manual work, as well as additional survey data for each building, is needed to build realistic roof tops.
With what you have (satellite and aerial imagery) you still don't have enough data even if you were to digitize manually because you still need to assign each footprint either an initial "ground" height as well as the actual height to extrude to. if you already have building heights you still need to asign the initial "ground level" elevation and for this you will need the surface DEM or TIN.
Here is the typical workflow to create a 3D building in ArcGIS:
Digitize footprint to a vector polygon
Use DEM to obtain footprint ground level elevation OR convert footprint to 3D polygon
store building height in the footprint attributes
Extrude footprint and convert to a 3D multipatch feature
Convert 3D multipatch feature to a COLLADA file
Import COLLADA to SketchUp and draw a rooftop or other addtional details (ensure all surfaces are closed and you have no dangling lines)
back in ArcScene - replace the original multipatch feature with edited SketchUp file.
Repeat for every building in the city
NOTE: you might be able to find some older techniques techniques for doing this with an ArcGIS plugin for SketchUp. This no longer aplies - ESRI no longer maintains this plugin and if you can find it it only works with ArcGIS version 9.3 and older and SketchUp version 6 and older. It was possible to export TINs, polygons, polylines and points export from ArcGIS to SketchUp using the old ESRI plugin and model entire city blocks in SketchUp. ESRI removed the functionality of "easily exporting ArcGIS data to SketchUp" in version 10 and the software adopted the "COLLADA" workflow approach instead which enable users to add detail to individual 3D features using an external editor (SketchUp). This forces ArcGIS users to build their entire 3D models composed of many features inside ArcGIS but no longer allows to easily export and build models based on GIS data outside of ArcGIS.
BTW, if you want to try photogrametry, the free Sketchup version has architectural photogrametry tools
To make even basic 3D buildings (3D 'blocks') in ArcGIS you would need at a minimum aerial images to digitize the roofprints from (which you have), but would also need data to develop the base and top heights of the buildings (usually LIDAR-derived normalized digital surface models [nDSM] or a survey of the stories each building has). The 3D Analyst extension would be needed to visualize your work product in ArcScene.
Also, the building heights will only be approximate because you will need to choose either the minimum, maximum, average, etc elevation from the nDSM that falls within the building roofprint (ex. In the case of a building with a peaked roof).
Now, developing buildings with roof structures (I assume this would cover peaked roof, AC units, etc) - that adds a whole new level of complexity to the data and tools you will need. Adding square objects like AC units could also be accomplished in Arc using the same digitizing processes as stated above (you would derive the base height of the AC unit from the building roof height, and the top height from the nDSM).
However, trying to accurately model even a simple peaked roof with overhangs is basically impossible to efficiently accomplish in Arc and with aerial LIDAR of typical point density standards. This task would be better suited to photogrammetry software or CAD modeling using the likes of Sketchup, Microstation, or AutoCAD; and as far as the data, you would need a field survey to get some measurement data to base your modeling on or maybe use some measurable oblique imagery like Pictometry.